完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我是一名单片机的初学者,这是我自己编的一个小程序,但是在键盘按键之后计算机收到的值有每次好几个,而且经常掺杂有错误值00,查询了好久还是不知道为什么,麻烦大家帮我看一下程序有什么错误,谢谢啦。
/*功能:以9600波特率发送矩阵键盘0~15值至计算机*/ #include #define uchar unsigned char #define uint unsigned int ***it wela=P2^7; ***it dula=P2^6; uchar flag,m,n,num; void delay(uint); uchar keyscan(); void main() { TMOD=0x20;//设置定时器1工作方式为八位自动重装 TH1=0xFD;//设置串行口波特率为9600HZ TH0=0xFD; TR1=1;//启动T1 SM0=0; SM1=1;//串口工作方式为1 REN=1;//允许接收 while(1) { keyscan();//键盘扫描 if(flag==1)//按键完成标志位 { flag=0; SBUF=keyscan(); while(!ti); TI=0; }; } } uchar keyscan()//键盘扫描 P3=0xFE; m=P3; if(m!=0xFE) { delay(10); if(m!=0xFE) { switch(m) { case 0xEE:num=0; break; case 0xDE:num=1; break; case 0xBE:num=2; break; case 0x7E:num=3; break; }; while(m!=0xFE) { m=P3; }; flag=1; }; }; P3=0xFD; m=P3; if(m!=0xFD) { delay(10); if(m!=0xFD) { switch(m) { case 0xED:num=4; break; case 0xDD:num=5; break; case 0xBD:num=6; break; case 0x7D:num=7; break; } while(m!=0xFD) { m=P3; }; flag=1; }; }; P3=0xFB; m=P3; if(m!=0xFB) { delay(10); if(m!=0xFB) { switch(m) { case 0xEB:num=8; break; case 0xDB:num=9; break; case 0xBB:num=10; break; case 0x7B:num=11; break; } while(m!=0xFB) { m=P3; }; flag=1; }; }; P3=0xF7; m=P3; if(m!=0xF7) { delay(10); if(m!=0xF7) { switch(m) { case 0xE7:num=12; break; case 0xD7:num=13; break; case 0xB7:num=14; break; case 0x77:num=15; break; } while(m!=0xF7) { m=P3; }; flag=1; }; }; return num; } void delay(uint z)//延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } |
|
相关推荐
4个回答
|
|
给你举个例子,个十百千怎么取,
int n = 1234; int unitPlace = n / 1 % 10;//4 int tenPlace = n / 10 % 10;//3 int hundredPlace = n / 100 % 10;//2 int thousandPlace = n / 1000 % 10;//1 |
|
|
|
你这个现象是波特率计算不对,重新计算一下值吧
|
|
|
|
T0第八位那是有些错误。。 我修改了一下波特率,稳定了许多,但是还是有一些按键收到的数值不止一个,我再看看吧 |
|
|
|
你说的是稳定了很多那就还是不对的- -,必须确保无误码,你值还是错的.误差较大. |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
494 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1050 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1151 浏览 0 评论
887 浏览 0 评论
928 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11847 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 21:02 , Processed in 0.722590 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号