|
1、Proteus原理圖:
QQ圖片20181121110601.jpg (247.29 KB, 下載次數: 99)
下載附件
2018-11-21 11:07 上傳
2、C程序:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define GPIO_KEY P1
- #define weixuan P2
- //0~F的共陽數碼管段碼,最后一個是黑屏
- const uchar SEG_CODE[] ={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
- sbit wei1=P2^0;
- sbit wei2=P2^1;
- uchar ge,shi,KeyValue,j,b;
- uchar temp,temp1;
- uchar flag=0;
- /*****延時函數*****/
- void delay1ms(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=112;y>0;y--); //12M晶振下,延時1MS
- }
- /*****初始化函數*****/
- void InitUART(void)
- {
- TMOD=0x20;
- SCON=0x50;
- TH1=0xFD;
- TL1=TH1;
- PCON=0x00;
- EA=1;
- ES=1;
- TR1=1;
- }
- /*****串口通信中斷*****/
- void send(uchar x)
- {
- SBUF=x;
- while(TI==0);
- TI=0;
- }
- /*****顯示函數*****/
- void xianshi(uchar k)
- {
- ge=k%10;
- shi=k/10;
- if(k>9)
- {
- weixuan=0x02;
- P0=SEG_CODE[ge];
- send(shi+48);
- delay1ms(10);
- weixuan=0x01;
- P0=SEG_CODE[shi];//十位段碼,顯示
- send(ge+48);
- delay1ms(10);
- }
- else
- {
- weixuan=0x02;
- P0=SEG_CODE[ge];//個位段選
- send(ge+48);
- delay1ms(10);
- }
- }
- /***鍵盤掃描函數***/
- uchar keyscan()
- {
- char a=0;
- GPIO_KEY=0x0f; //P1口值準備
- if(GPIO_KEY!=0x0f)
- {
- delay1ms(10); //延時消抖
- if(GPIO_KEY!=0x0f)//再次判斷
- {
- GPIO_KEY=0x0f; //再次裝值準備
- switch(GPIO_KEY) //測試行
- {
- case(0x07):KeyValue=0;break;
- case(0x0b):KeyValue=1;break;
- case(0x0d):KeyValue=2;break;
- case(0x0e):KeyValue=3;break;
- }
- GPIO_KEY=0xf0; //高四位賦1,判斷準備 HIGH FOUR BIT GET VERTICAL
- switch(GPIO_KEY) //測試行
- {
- case(0x70):KeyValue=KeyValue;break;
- case(0xb0):KeyValue=KeyValue+4;break;
- case(0xd0):KeyValue=KeyValue+8;break;
- case(0xe0):KeyValue=KeyValue+12;break;
- }
- while((GPIO_KEY!=0x0f)&&(a<10)) //判斷是否松手,假若沒有松手
- //一段延時后依舊判斷松手完成
- {
- delay1ms(1);
- a++;
- }
- a=0;
- }
- }
- return KeyValue;
- }
- /*****主函數*******/
- void main()
- {
- InitUART();
- while(1)
- {
- b=keyscan();
- xianshi(b);
- }
- }
復制代碼
3、Proteus仿真圖示例:
QQ圖片20181121111647.png (22.35 KB, 下載次數: 86)
下載附件
2018-11-21 11:17 上傳
4、串口精靈仿真接收數據示例:
單片機參數設置:
QQ圖片20181121113605.png (29.26 KB, 下載次數: 94)
下載附件
2018-11-21 11:36 上傳
串口參數設置:
QQ圖片20181121113623.png (18.33 KB, 下載次數: 87)
下載附件
2018-11-21 11:36 上傳
串口精靈仿真運行:
QQ圖片20181121112722.jpg (206.54 KB, 下載次數: 92)
下載附件
2018-11-21 11:27 上傳
5、順便附上案例文件(能正常運行)
4X4按鍵串口通信.rar
(55.64 KB, 下載次數: 88)
2018-11-21 11:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|