春節閑來無事,翻出來兩塊數碼管的板子,大尺寸的數碼管。看了看手工描繪了實物圖出來,比較簡單一個CD4094輸出8BIT分成兩個4BIT驅動兩個CD4511。
電路原理圖如下:
上圖
微信圖片_201902110925044.jpg (106.44 KB, 下載次數: 91)
下載附件
電路圖
2019-2-11 09:25 上傳
微信圖片_201902110925043.jpg (169.42 KB, 下載次數: 90)
下載附件
2019-2-11 09:26 上傳
微信圖片_201902110925042.jpg (223.42 KB, 下載次數: 85)
下載附件
2019-2-11 09:26 上傳
微信圖片_20190211092504.jpg (60.97 KB, 下載次數: 84)
下載附件
2019-2-11 09:26 上傳
微信圖片_201902110925041.jpg (297 KB, 下載次數: 86)
下載附件
2019-2-11 09:26 上傳
很簡單然后寫了幾行代碼測試顯示數字00-99循環加
測試程序附上
- /***************
- 測試CD4094+CD4511驅動共陰數碼管顯示數字
- 一個4094帶兩個CD4511驅動兩個數碼管
- 然后輸出級連口
- ********************/
- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define nop(); _nop_();
- sbit D4094=P1^0; //串行數據輸出端,H 使能
- sbit STR4094=P1^1; //鎖存器移位使能端,H 使能
- sbit CLK4094=P1^2; //串行時鐘輸出端,H 使能輸出狀態使能端,H 使能
- void delayms(unsigned short ms)
- {
- unsigned short i;
- uchar j;
- for(i=0;i<ms;i++)
- {
- for(j=0;j<200;j++);
- for(j=0;j<102;j++);
- } //for(i=0;i<ms;i++)
- }
- void Out4094(uchar dat0)
- {
- uchar a,b;
- b=dat0;//讀入待發送的數據
- STR4094=0;
- for(a=0;a<8;a++)
- {
- if(b&0x80)
- D4094=1;
- else D4094=0;
- CLK4094=0;
- nop();
- CLK4094=1;
- b<<=1;//向左移一位
- }
- STR4094=1;
- }
- void main()
- {
- uchar a=0,b,c,d;
- while(1)
- {
- if(a>=100) a=0;
- b=a/10;//取十位
- c=a%10;//取個位
- d=c<<4|b&0x0f;//然后高低交換
- Out4094(d);//發送移位輸出至CD4094
- delayms(500);
- a++;
- }
- }
復制代碼
全部資料51hei下載地址:
4094v2.rar
(688 Bytes, 下載次數: 31)
2019-2-11 09:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|