




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I/O端口输出1的端口与输出0的端口对接的时候会检验出原来的端口是0第一个,这个是错误程序#includevoid delay1ms(unsigned int i) /延时函数unsigned char j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void main()while(1)P1=0xf0; /建立初始状态,每一行赋值0,每一列赋予1unsigned char s16=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; /数码管灯unsigned int l; /分别代表作列与行unsigned int r;if(P1!=0xf0) /检验有没有按键被按下delay1ms(15);/避免前沿抖动,延时大约15msswitch(P1)/检验有没有键盘被按下 /如果按下了就检验是哪一列被按下了case 0x70:/p17被按下l=4;case 0xB0: /p16被按下l=3;case 0xD0: /p15被按下l=2;case 0xE0: /p14被按下l=1;default: break;P1=0xf; 、 /每一列赋予1,每一行赋予0switch(P1) /检验哪一行的按键被按下 case 0xE: /p10被按下r=1;case 0xD: /p12被按下r=2;case 0xB: /p13被按下r=3;case 0x7: r=4; /p14被按下default: break; /已经知道哪一个按键被按下r=r*l; /得到的数在数值上等于要显示的数目P1=s8r /数码管亮delay1ms(15); /避免后延抖动错误的地方在于P1=0xf; 、 /每一列赋予1,每一行赋予0switch(P1) /检验哪一行的按键被按下 这是因为如果没有再次判断当P1!=0XF的时候,就可能出现没有符合case之中的情况而直接运行default这种情况。这个是错的改正版也是错的改正版#include#define uchar unsigned char#define uint unsigned intunsigned char code s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void main()while(1) uint l; /分别代表作列与行uint r; P1=0xf0; /建立初始状态,每一行赋值0,每一列赋予1if(P1!=0xf0) /检验有没有按键被按下delay1ms(15); /避免前沿抖动,延时大约15msswitch(P1)/检验有没有键盘被按下 /如果按下了就检验是哪一列被按下了case (0x70): /p17被按下l=4;break;case (0xB0): /p16被按下l=3;break;case (0xD0): /p15被按下l=2;break;case (0xE0): /p14被按下l=1;break;default: break;P1=0xf;switch(P1) /检验哪一行的按键被按下 case (0xE): /p10被按下r=1;break;case (0xD): /p12被按下r=2;break;case (0xB): /p13被按下r=3;break;case (0x7): r=4;break; /p14被按下default: break; /已经知道哪一个按键被按下r=r*l; /得到的数在数值上等于要显示的数目P1=s8r; /数码管亮delay1ms(15); /避免后延抖动再次改正板这个还是错的#include#define uchar unsigned char#define uint unsigned intsbit P27=P27;unsigned char code s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void display(uint i) P27=0; /选通最有端的数码管显示P0=s8i; /显示i参数传来的字型码 void main()while(1) uint l; /分别代表作列与行uint r; P1=0xf0; /建立初始状态,每一行赋值0,每一列赋予1if(P1!=0xf0) /检验有没有按键被按下delay1ms(15); /避免前沿抖动,延时大约15msswitch(P1)/检验有没有键盘被按下 /如果按下了就检验是哪一列被按下了case (0x70): /p17被按下l=4;break;case (0xB0): /p16被按下l=3;break;case (0xD0): /p15被按下l=2;break;case (0xE0): /p14被按下l=1;break;default:; break;P1=0xf;if(P1!=0xf)/*改正的的地方,由于在键入的时候,单片机未必会接收到已经改变了的P1口的数值,所以当如没有再次检验的时候就会出现错误*/switch(P1) /检验哪一行的按键被按下 case (0xE): /p10被按下r=1;r=r*l;display(r);break;case (0xD): /p12被按下r=2;r=r*l;display(r);break;case (0xB): /p13被按下r=3;r=r*l;display(r);break;case (0x7): r=4;r=r*l;display(r);break; /p14被按下default: ;break; /已经知道哪一个按键被按下delay1ms(15); /避免后延抖动错误之处在于当我按了第2行第二列的时候就会出现显示4,而不是6,这是因为我只记录了4=2*2,于是就输出数组s8的第5个数字。再次改正#include#define uchar unsigned char#define uint unsigned intsbit P27=P27;unsigned char code s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void main() uint r,l;while(1) P1=0xf0; /建立初始状态,每一行赋值0,每一列赋予1P27=0; /选通最有端的数码管显示if(P1!=0xf0) /检验有没有按键被按下delay1ms(15); /避免前沿抖动,延时大约15msswitch(P1)/检验有没有键盘被按下 /如果按下了就检验是哪一列被按下了case (0x70): /p17被按下l=4;break;case (0xB0): /p16被按下l=3;break;case (0xD0): /p15被按下l=2;break;case (0xE0): /p14被按下l=1;break;default:; break;P1=0xf;if(P1!=0xf)switch(P1) /检验哪一行的按键被按下 case (0xE): /p10被按下r=1;switch(l)case 1:P0=s80; /显示i参数传来的字型码break;case 2:P0=s81; break;case 3:P0=s82; break;case 4:P0=s83;break;default:; break;break;case (0xD): /p12被按下r=2;switch(l)case 1:P0=s84; /显示i参数传来的字型码break;case 2:P0=s85; break;case 3:P0=s86; break;case 4:P0=s87; break;default:; break;break;case (0xB): /p13被按下r=3;switch(l)case 1:P0=s88; /显示i参数传来的字型码break;case 2:P0=s89; break;case 3:P0=s810; break;case 4:P0=s811;default:; break;break;case (0x7)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁养护知识培训信息课件
- 2025年初创公司技术团队负责人的面试指南与预测题集萃
- 2025年区域可持续发展战略研究试题及答案
- 2025年高新技术应用工程师备考策略与模拟题答案
- 2025年注册验船师资格考试(B级练习题)强化训练试题及答案一
- 后端服务面试题目及答案
- 2025年注册验船师资格考试(B级船舶检验专业基础安全)测试题及答案二
- 2025年注册验船师资格考试(B级船舶检验专业基础环境与人员保护)测试题及答案一
- 2025年篮球教师招聘试题及答案
- 国家银行考试题库及答案
- 田螺姑娘课文讲解
- 云南迪庆香格里拉市招聘治安联防人员80人笔试模拟试题及参考答案详解1套
- 2025中国医药集团有限公司二级子公司及重点三级子公司高管岗位选聘笔试历年参考题库附带答案详解
- 幼儿园开学食品安全厨房培训
- 地面工程基础知识概要课件
- 村两委内部管理制度
- 工业管道的定期检查与维护措施
- 林业发展“十五五”发展规划
- 过氧化氢低温等离子灭菌器规范
- 2024年四川公安厅招聘警务辅助人员笔试真题
- 彩钢顶翻新施工方案
评论
0/150
提交评论