stc89c52制作的八卦阵计时程序,包含仿真和源代码
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include <REGX51.H>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit Elock=P2^0; //控制眼锁存
- sbit Llock=P2^1; //控制阴阳锁存
- uchar code yang[8]={0x87,0x0f,0x1e,0x3c,0x78,0xf0,0xe1,0xc3};
- uchar code eye[8]={0xa5,0x4b,0x96,0x2d,0x5a,0xb4,0x69,0xd2};
- uchar i=1;
- void delay(unsigned int num) //延时函数
- {
- unsigned x, y;
- for(x=num;x>0;x--)
- for(y=120;y>0;y--);
- }
- void circle()
- {
- Llock=1; //锁存器八个管脚控制16个灯
- P1=yang[i];
- Llock=0;
- Elock=1;
- P1=eye[i];
- Elock=0;
- i++;
- if(i==8) //数组循环,阴阳相济
- i=0;
- }
- void main(void)
- {
- P1 = 0xff;
- P1=eye[2];
- Elock=1;
- Elock=0;
- P1=yang[2];
- Llock=1;
- Llock=0;
- while(1)
- {
- circle();
- delay(999);
- }
- }
复制代码
所有资料51hei附件下载:
仿真程序.7z
(198.21 KB, 下载次数: 40)
|