单片机课程设计报告---数码管显示4x4矩阵键盘按键号

单片机课程设计报告---数码管显示4x4矩阵键盘按键号

ID:9531523

大小:64.50 KB

页数:10页

时间:2018-05-02

单片机课程设计报告---数码管显示4x4矩阵键盘按键号_第1页
单片机课程设计报告---数码管显示4x4矩阵键盘按键号_第2页
单片机课程设计报告---数码管显示4x4矩阵键盘按键号_第3页
单片机课程设计报告---数码管显示4x4矩阵键盘按键号_第4页
单片机课程设计报告---数码管显示4x4矩阵键盘按键号_第5页
资源描述:

《单片机课程设计报告---数码管显示4x4矩阵键盘按键号》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计科本101黄远利课程设计报告书设计名称:单片机原理与应用题目:数码管显示4X4矩阵键盘按键号专业:计算机科学与技术日期:2012年6月11日9计科本101黄远利一.设计目的:1)了解单片机系统实现LED动态显示的原理及方法;2)较为详细了解8051芯片的性能;3)能够了解到单片机系统的基本原理,了解单片机控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C语言中的设计和学会分析程序,进而能够根据自己的需要编写代码;6)掌握4X4矩阵式键盘程序识别原理;7)掌握4X4矩阵式键盘的设计方法;8)学习键盘的扫描方式和应用程序设计;9)培

2、养根据课题需要选学参考书籍、查阅手册和文献资料的能力;10)能够按课程设计的要求编写课程设计报告,能够正确反映设计和实验成果。二.设计要求与主要内容:设计要求:单片机的P1口P1.0~P1.7连接4X4矩阵键盘,P0口控制一只P0口控制一只数码管,当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示“1”,二号按下的时候,数码管显示“2”,14号键按下时,数码管显示“E”等等。主要内容:1)4×4矩阵键盘程序识别原理。2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线都连接到

3、AT89C51中,通过按键K0~K16,来在数码管显示不同的值。实验步骤:1)启动keiuvision32)新建工程命名为单片机的C语言设计与应用3)新建文件并另存为C51c.c4)在SourceGroop1导入文件9计科本101黄远利5)编写代码,并生成C语言设计与应用.hex文件。6)在Proteus中设计电路图7)将keil与Proteus联机调试,记下实验记录,得出实验结果。初始化三.设计程序原理:(包含仿真图和流程图)1)主程序流程图是否有按键按下请按键标识键值处理显示所有按键2)程序流程图结束,返回开始若有按键按下,显示键盘号初始化扫描键

4、盘第一行若无按键按下扫描键盘第二行若无按键按下扫描键盘第三行:若无按键按下扫描键第四行9计科本101黄远利若无按键按下结束,返回3)仿真图四.程序代码#include#defineucharunsignedchar#defineuintunsignedint//段码ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};sbitBEEP=P3^7;//上次按键和当前按键的序号,

5、该矩阵中序号范围0~15,16表示无按键ucharPre_KeyNo=16,KeyNo=16;9计科本101黄远利//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//矩阵键盘扫描voidKeys_Scan(){ucharTmp;P1=0x0f;//高4位置0,放入4行DelayMS(1);Tmp=P1^0x0f;//按键后0f变成0000XXXX,X中一个为0,3个仍为1,通过异或把3个1变为0,唯一的0变为1switch(Tmp)//判断按键发生于0~3列的哪一列{case1:

6、KeyNo=0;break;case2:KeyNo=1;break;case4:KeyNo=2;break;case8:KeyNo=3;break;default:KeyNo=16;//无键按下}P1=0xf0;//低4位置0,放入4列DelayMS(1);Tmp=P1>>4^0x0f;//按键后f0变成XXXX0000,X中有1个为0,三个仍为1;高4位转移到低4位并异或得到改变的值switch(Tmp)//对0~3行分别附加起始值0,4,8,12{case1:KeyNo+=0;break;case2:KeyNo+=4;break;case4:Ke

7、yNo+=8;break;case8:KeyNo+=12;}9计科本101黄远利}//蜂鸣器voidBeep(){uchari;for(i=0;i<100;i++){DelayMS(1);BEEP=~BEEP;}BEEP=0;}//主程序voidmain(){P0=0x00;BEEP=0;while(1){P1=0xf0;if(P1!=0xf0)Keys_Scan();//获取键序号if(Pre_KeyNo!=KeyNo){P0=~DSY_CODE[KeyNo];Beep();Pre_KeyNo=KeyNo;}DelayMS(100);}}五.实验结

8、果:当按键按下k0,显示管显示0,当按键按下k1时显示1,显示管可以显示1,2,3,4,5,6,7,8,9,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。