仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序:
- #include <reg51.h>
- #include <intrins.h>
- void delay(unsigned char tmp);
- void de(unsigned char dong);
- code unsigned char tmpled[4]={0X00,0XFF,0X00,0XFF}; //定义数组常量,P0端发光二极管的输出数据
- code unsigned char donged[4]={0X00,0XFF,0X00,0XFF}; //定义数组常量,P0端发光二极管的输出数据
- void main(void) //主函数
- {
- unsigned char i; //定义变量
- while(1)
- { //无限循环
- for(i=0;i<4;i++)
- {
- P0=~tmpled[i];
- P2=donged[i];
- delay(200); //调用延迟子函数1,改变参数大小,调整变化速度;
- de(200); //调用延迟子函数2,改变参数大小,调整变化速度;
- }
- }
- }
- void delay(unsigned char tmp) //延迟子函数1 P0端口
- {
- unsigned char i,j;
- i=tmp;
- {
- i--;
- j=255;
- while(j)
- {
- j--;
- }
- }
- }
- void de(unsigned char dong) //延迟子函数2,P2端口
- {
- unsigned char i,j;
- i=dong;
- {
- i--;
- j=255;
- while(j)
- {
- j--;
- }
- }
- }
复制代码
全部资料51hei下载地址:
dangbianji.zip
(25.76 KB, 下载次数: 20)
|