串口發送數字,數碼管顯示對應數字,只是個位數字
1.png (27.25 KB, 下載次數: 76)
下載附件
2022-1-29 03:20 上傳
單片機源程序如下:
- #include "reg52.h" //包含頭文件
- #define uchar unsigned char
- #define uint unsigned int
- #define DM P0
- #define WM P2
- uchar code SMG_DM[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
- uchar code SMG_WM[]={1,2,4,8};
- uchar dis[4];
- uchar dat = 0;
- //-------------------------------------------------------------------------------------
- void delay(uint t)
- {
- while(t--);
- }
- //-------------------------------------------------------------------------------------
- void Uart_Int_Init()
- {
- SCON=0x40;
- TMOD=0x20;
- TH1=TL1=0xFD;
- TR1=1;
- EA=1; //開總中斷
- ES=1; //開串口中斷
- REN=1; //打開接收
- }
- //=====================================================================================
- void main() //主函數
- {
- Uart_Int_Init();
- delay(1000);
- WM = SMG_WM[0];
-
- while(1)
- {
- DM=SMG_DM[dat];
- }
- }
- //=====================================================================
- void uart_isr(void) interrupt 4
- {
- RI=0; //數據接收完成標志位
-
- dat=SBUF;
- dat-='0';
- if(dat>41)
- dat=dat-41+2;
- }
復制代碼 Keil代碼與Proteus仿真下載:
串口發送0~9,SMG顯示(解壓打開).zip
(62 KB, 下載次數: 48)
2022-1-28 19:07 上傳
點擊文件名下載附件
解壓打開 下載積分: 黑幣 -5
|