已知单片机的晶振是12MHz,采用proteus软件绘制图1所示的电路图,并采用keil软件编写单片机程序,让LED灯按D8→D7→D6→D5→D4→D3→D2→D1的顺序轮流点亮,且每个灯点亮的时间是2秒,反复循环。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- sfr P2=0xA0;
- sbit P2_0=P2^0;
- sbit P2_1=P2^1;
- sbit P2_2=P2^2;
- sbit P2_3=P2^3;
- sbit P2_4=P2^4;
- sbit P2_5=P2^5;
- sbit P2_6=P2^6;
- sbit P2_7=P2^7;
- void delayls(void);
- main()
- {P2_0=0;P2_1=0;P2_2=0;P2_3=0;P2_4=0;P2_5=0;P2_6=0;P2_7=0;
- while(1)
- {
- P2_7=1;
- delayls();
- P2_7=0;
- P2_6=1;
- delayls();
- P2_6=0;
- P2_5=1;
- delayls();
- P2_5=0;
- P2_4=1;
- delayls();
- P2_4=0;
- P2_3=1;
- delayls();
- P2_3=0;
- P2_2=1;
- delayls();
- P2_2=0;
- P2_1=1;
- delayls();
- P2_1=0;
- P2_0=1;
- delayls();
- P2_0=0;
- delayls();
- }
- }
- void delayls(void)
- { unsigned int j;
- unsigned char i;
- for(j=0;j<1300;j++)
- {
- for(i=0;i<=254;i++)
- {
- ;
- }
- }
- }
复制代码
所有资料51hei提供下载:
newproject1.rar
(50.39 KB, 下载次数: 64)
|