|
|
基于51單片機(jī)和74LS47簡(jiǎn)單的數(shù)碼管靜態(tài)顯示,用51單片機(jī)連接四個(gè)74LS47模塊,每個(gè)模塊連接一個(gè)數(shù)碼管。調(diào)了很長(zhǎng)時(shí)間,調(diào)出來(lái)了,很不容易,但是理解了就挺簡(jiǎn)單。對(duì)自認(rèn)為有很大幫助。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (13.47 KB, 下載次數(shù): 19)
下載附件
2020-4-16 00:48 上傳
具體程序如下:
- //數(shù)碼管動(dòng)態(tài)顯示
- //74LS164(移位寄存器)
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit DAT=P1^6; //數(shù)據(jù)輸入
- sbit CLK=P1^7; //時(shí)鐘使能
- unsigned char disp[4];
- unsigned code dtab[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
- //共陽(yáng)極接法0~9段碼表(上)
- void disp_164() //一位顯示164移位輸出函數(shù)
- {
- uchar x,i,j;
- for(i=0;i<4;i++) //循環(huán)4次(4個(gè)數(shù)碼管)
- {
- x=dtab[disp[i]]; //查表取段碼
- for(j=0;j<8;j++)
- {
- if(x&0x01) //先移出低位
- DAT=1;
- else DAT=0;
- CLK=1; //產(chǎn)生上升沿
- x>>=1;
- CLK=0;
- }
- }
- }
- void main()
- {
- disp[0]=8;
- disp[1]=7;
- disp[2]=6;
- disp[3]=5;
- disp_164();
- while(1);
- }
復(fù)制代碼
51hei.png (4.28 KB, 下載次數(shù): 33)
下載附件
2020-4-16 00:50 上傳
全部資料51hei下載地址:
例6-10數(shù)碼管.zip
(47.85 KB, 下載次數(shù): 20)
2020-4-15 20:54 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|