|
基于51單片機(jī)和74LS47簡單的數(shù)碼管靜態(tài)顯示,用51單片機(jī)連接四個(gè)74LS47模塊,每個(gè)模塊連接一個(gè)數(shù)碼管。調(diào)了很長時(shí)間,調(diào)出來了,很不容易,但是理解了就挺簡單。對自認(rèn)為有很大幫助。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
具體程序如下:
- //數(shù)碼管動態(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};
- //共陽極接法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下載地址:
例6-10數(shù)碼管.zip
(47.85 KB, 下載次數(shù): 20)
2020-4-15 20:54 上傳
點(diǎn)擊文件名下載附件
|
評分
-
查看全部評分
|