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)
2022-8-5 00:39 上傳
點擊文件名下載附件
|