|
給大家介紹51單片機連接38譯碼器驅動8位數碼管的Proteus仿真電路圖和程序
仿真原理圖:
0.png (20.79 KB, 下載次數: 148)
下載附件
2016-5-29 17:06 上傳
0.png (80.51 KB, 下載次數: 131)
下載附件
2016-5-29 17:05 上傳
仿真文件及完整程序下載:http://www.zg4o1577.cn/bbs/dpj-50777-1.html
單片機用38譯碼器驅動數碼管的源程序如下:
- #include <reg51.h>
- #ifndef uchar
- #define uchar unsigned char
- #endif
- uchar disNumber[11] = {0x3f, 0x30, 0X5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0xff, 0x6f}; //共陰數碼管
- uchar switc[9] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
- //控制哪個數碼管亮
- void delay2ms200us(void) //延時函數
- {
- unsigned char a,b;
- for(b=169;b>0;b--)
- for(a=5;a>0;a--);
- }
- void main(void)
- {
- uchar i, j = 0;
- while(1)
- {
- P2 = switc[j];
- P0 = disNumber[i];
- i++;
- j++;
- if(i == 8) //注意 i值為8時,每個數碼管有固定的顯示數字,當i超過8時每個數碼管沒有固定的顯示數字,數碼管數字就會亂跳
- i = 0;
- if(j == 8)
- j = 0;
- delay2ms200us();
- }
- }
- //小月子2016年5月21日編輯 如果您有什么不理解的地方請加小月子
- //小月子是個電子發燒友,小月子電子網店賣的是電子電路類、編程類學習資料教學視頻
- //請關注我的網
復制代碼
|
評分
-
查看全部評分
|