|
74HC595顯示多個數碼管- #include <reg52.h>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit ClOCK = P2^0; //HC595第11腳,串行時鐘輸入端
- sbit DATA = P2^1; //HC595第14腳,串行數據輸入端
- sbit LATCH = P2^2; //HC595第12腳,輸出鎖存脈沖輸入端
- //定義共陰數碼管段碼0-9
- uchar code segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F};
- //串行輸出一個字節
- void HC595(uchar word)
- {
- uchar i;
- for (i=8;i>0;i--)
- {
- ClOCK=0;
- DATA=0x80&word;
- word=_crol_(word,1);
- ClOCK=1;
- _nop_();
- }
- }
- void display(uchar S1, uchar S2, uchar S3, uchar S4, uchar S5, uchar S6)
- {
- HC595(segment[S6]);
- HC595(segment[S5]);
- HC595(segment[S4]);
- HC595(segment[S3]);
- HC595(segment[S2]);
- HC595(segment[S1]);
- LATCH=1;
- _nop_();
- LATCH=0;
- }
- void main()
- {
- LATCH = 0;
- while(1)
- display(2, 0, 1, 3, 1, 4);
- }
復制代碼
|
-
-
數碼管顯示-基于74HC595.rar
2017-5-3 08:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
59.37 KB, 下載次數: 81, 下載積分: 黑幣 -5
含Proteus仿真
|