Loading...

proteus串口通信仿真关于矩阵键盘数据的发送

通天塔
通天塔  发布于 2020-10-22 14:55:26 119
为什么矩阵键盘的数据不能通过串口发到串口调试助手上?
#include#define uchar unsigned charuchar flag,key;void init(){ TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1;}void matrixkeyscan(){ uchar temp; P1=0xfe; temp=13; temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0xee: flag=1;key=0; break; case 0xde: flag=1;key=1; break; case 0xbe: flag=1;key=2; break; case 0x7e: flag=1;key=3; break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } P1=0xfd; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0xed: flag=1;key=4; break; case 0xdd: flag=1;key=5; break; case 0xbd: flag=1;key=6; break; case 0x7d: flag=1;key=7; break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0xeb: flag=1;key=8; break; case 0xdb: flag=1;key=9; break; case 0xbb: flag=1;key=10; break; case 0x7b: flag=1;key=11; break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } P1=0xf7; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0xe7: flag=1;key=12; break; case 0xd7: flag=1;key=13; break; case 0xb7: flag=1;key=14; break; case 0x77: flag=1;key=15; break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } }}void main(){ init(); while(1) { matrixkeyscan(); if(flag==1) { ES=0; SBUF=key; while(!TI); TI=0; ES=1; flag=0; } }}void ser() interrupt 4{ RI=0; key=SBUF; flag=1;}
添加附件:文件小于20M 文件格式必须为doc,docx,xls,xlsx,pdf,ppt,pptx,txt,zip,rar,tar,7z,gz
上传
文件格式必须为doc,docx,xls,xlsx,pdf,ppt,pptx,txt,zip,rar,tar,7z,gz,gz
去提问
写专栏

相似问题

自媒体


海思讨论群

海思讨论群 海思讨论群

新唐科技交流群

新唐科技交流群 新唐科技交流群

联系我们
易百纳技术社区客服QQ: 1289459644
易百纳技术社区客服手机: 17714209983
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区