|
我给你来个程序试试
- /*---------------------------------------------------------------------*/
- /* --- STC MCU International Limited ----------------------------------*/
- /* --- STC 1T Series MCU Demo Programme -------------------------------*/
- /* --- Mobile: (86)13922805190 ----------------------------------------*/
- /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
- /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
- /* --- Web: www.GXWMCU.com --------------------------------------------*/
- /* --- QQ: 800003751 -------------------------------------------------*/
- /* 如果要在程序中使用此代码,请在程序中注明使用了宏晶科技的资料及程序 */
- /*---------------------------------------------------------------------*/
- /*********************************************************/
- #define MAIN_Fosc 22118400L //定义主时钟
- //#define MAIN_Fosc 12000000L //定义主时钟
- //#define MAIN_Fosc 11059200L //定义主时钟
- //#define MAIN_Fosc 5529600L //定义主时钟
- //#define MAIN_Fosc 24000000L //定义主时钟
- /*********************************************************/
- #include "STC15Fxxxx.H"
- /************* 功能说明 **************
- 程序使用P4.7 P4.6 P1.6 P1.7 来演示跑马灯,输出低驱动。
- ******************************************/
- /************* 本地常量声明 **************/
- /************* 本地变量声明 **************/
- /************* 外部函数和变量声明 *****************/
- /************* 本地函数声明 **************/
- void delay_ms(u8 ms); // 这里只支持1~255ms.
- /******************** 主函数 **************************/
- void main(void)
- {
- /******************** IO配置 **************************/
- P0M1 = 0; P0M0 = 0; //设置为准双向口 00上拉准双向口 01浮空输入 10开漏输出 11推挽输出
- P1M1 = 0; P1M0 = 0; //设置为准双向口
- P2M1 = 0; P2M0 = 0; //设置为准双向口
- P3M1 = 0; P3M0 = 0; //设置为准双向口
- P4M1 = 0; P4M0 = 0; //设置为准双向口
- P5M1 = 0; P5M0 = 0; //设置为准双向口
- P6M1 = 0; P6M0 = 0; //设置为准双向口
- P7M1 = 0; P7M0 = 0; //设置为准双向口
- while(1)
- {
- P17 = 0; // LED7
- delay_ms(250);
- delay_ms(250);
- P17 = 1; // LED7
- P16 = 0; // LED8
- delay_ms(250);
- delay_ms(250);
- P16 = 1; // LED8
- P47 = 0; // LED9
- delay_ms(250);
- delay_ms(250);
- P47 = 1; // LED9
- P46 = 0; // LED10
- delay_ms(250);
- delay_ms(250);
- P46 = 1; // LED10
- }
- }
- //========================================================================
- // 函数: void delay_ms(u8 ms)
- // 描述: 延时函数。
- // 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
- // 返回: none.
- // 版本: VER1.0
- // 日期: 2013-4-1
- // 备注:
- //========================================================================
- void delay_ms(u8 ms)
- {
- u16 i;
- do{
- i = MAIN_Fosc / 13000;
- while(--i) ; //14T per loop
- }while(--ms);
- }
复制代码
|
|