收藏 分销(赏)

基于单片机控制的矩阵键盘显示专业系统设计.doc

上传人:a199****6536 文档编号:2726986 上传时间:2024-06-05 格式:DOC 页数:20 大小:856.54KB 下载积分:10 金币
下载 相关 举报
基于单片机控制的矩阵键盘显示专业系统设计.doc_第1页
第1页 / 共20页
基于单片机控制的矩阵键盘显示专业系统设计.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
课程设计阐明书 单片机原理与接口技术 专业 建筑电气与智能化 学生姓名 葛益新 班级 BD电建101 学号 指引教师 吴冬春 完毕日期 1月 17日 目 录 一 理论某些 1 1课题规定与内容 1 2 系统方案设计 1 3 系统硬件设计 1 3.1 STC89C51特性.............................................................................................2 3.2 STC89C51内部构造框图.............................................................................2 3.3 STC89C51管脚图,实物图.........................................................................3 3.4 I/O口各种不同工作模式及配备简介......................................................3 3.5I/O线..............................................................................................................3   3.6单片机最小系统........................................................................................... 4 3.7矩阵键盘系统设计........................................................................................5 3.8数码管显示电路............................................................................................6 3.9数码管与单片机连接电路........................................................................7 4 系统软件设计..................................................................................................................8 5.仿真图片...........................................................................................................................9 6.设计小结..........................................................................................................................10 7.参照文献..........................................................................................................................11 三 附录 ......................................................................................................................................................12 一 理论某些 理论设计课题名称:基于单片机控制矩阵键盘显示系统设计 1课题规定与内容 以51为核心STC89C51单片机为控制芯片,设计制作数码管显示电路,矩阵键盘电路,单片机最小系统电路。 通过程序控制4*4矩阵键盘,通过单片机解决之后显示在数码管上,当按下键盘上任意一种键时候,数码管上会显示相应数字。由于本系统采用是单位数码管,因此咱们这边用十六进制表达。 设计软件系统和硬件系统,画出硬件系统图和PCB图,最后制作PCB板,满足本次课程设计规定。 2 系统方案设计 本设计是由4*4矩阵键盘,晶振电路,8051单片机,复位电路,数码显示电路等构成,矩阵键盘通过软件来控制8051单片机从来变化数码显示屏上数字,其构成框图如下所示: 图1 系统框图 3 系统硬件设计 本次选用是以51为核心STC89C51单片机为主控芯片。此款单片机是STC推出新一代高速/低功耗/超强抗干扰单片机,指令代码完全兼容老式8051单片机,12时钟/机器周期和6时钟/机器周期可任选,HD版本 8051单片机MAX810专用复位电路。 3.1 STC89C51特性 1. 增强型8051单片机,6时钟/机器周期和12时钟/机 器周期可任意选取指令代码完全兼容老式8051 2. 工作电压:5.5V - 3.3V (5V单片机) / 3.8V - 2.0V (3V单片机) 3. 工作频率范畴:0~40MHz,相称于普通8051 0~80MHz,实际工作频率可达48MHz. 4. 顾客应用程序空间:4K / 8K / 13K / 16K / 32K / 64K字节 5. 片上集成1280字节􁡆或512字节RAM 6. 通用I/O口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051老式I/O口)􀋗;P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。 7. ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0,TxD/P3.1)直接下载顾客程序,数秒即可完毕一片 8. 有EEPROM功能 9. 看门狗 10.内部集成MAX810专用复位电路(HD版本和90C版本才有) ,外部晶体20M如下时,可省外部复位电路。 11.共3个16位定期器/计数器,其中定期器0还可以当成2个8位定期器使用。 12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒􀇄。 13. 通用异步串行口(UART),还可用定期器软件实现各种UART 14. 工作温度范畴:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级) 15. 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44. 3.2 STC89C51内部构造框图 图2 内部构造图 3.3 STC89C51管脚图,实物图 图3 STC89C51管脚图  图4 STC89C51实物图 3.4 I/O口各种不同工作模式及配备简介 STC89C51RC/RD+系列单片机所有I/O口均(新增P4口)有3种工作类型: 准双向口/弱上拉(原则8051输出模式)、仅为输入(高阻)或开漏输出功能。 STC89C51RC/RD+系列单片机P1/P2/P3/P4上电复位后为准双向口/弱上拉(老式8051I/O口)模式P0口上电复位后是开漏输出。P0口作为总线扩展用时不用加上拉电阻,作为I/O口用时,需加10K-4.7K上拉电阻。 STC89C51RC/RD+ 5V单片机P0口灌电流最大为12mA,其她I/O口灌电流最大为6mA。 STC89LE51RC/RD+3V单片机P0口灌电流最大为8mA,其她I/O口灌电流最大为4mA。 1. ALE/PROG:地址锁存容许/片内EPROM编程脉冲          ① ALE功能:用来锁存P0口送出低8位地址   ② PROG功能:片内有EPROM芯片,在EPROM编程期间,此引脚输入编程脉冲。   2.  PSEN:外ROM读选通信号。 3.  RST/VPD:复位/备用电源。    ① RST(Reset)功能:复位信号输入端。② VPD功能:在Vcc掉电状况下,接备用电源。   4. EA/Vpp:内外ROM选取/片内EPROM编程电源。           ① EA功能:内外ROM选取端。     ② Vpp功能:片内有EPROM芯片,在EPROM编程期间,施加编程电源Vpp   3.5 I/O线   80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具备第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 3.6单片机最小系统 要使单片机工作,必要提供复位电路和晶体振荡电路,即构成单片机最小应用系统,使其正常工作。采用复位办法是自动复位,单片机复位满足条件为:RST引脚上浮现10ms(T=RC)以上高电平,因此当电容值取C=10UF时,电阻R=10K才会满足规定。晶振选用12MHZ。 图5 最小系统图 ⒈ 电源:  ⑴ 单片机40脚接VCC - 芯片电源,接+5V;   ⑵ 单片机20脚接地 - 接地端; ⒉ 时钟:  XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3.晶振电路 晶振是为电路提供频率基准元器件,普通提成有源晶振和无源晶振两个大类,无源晶振普通信号质量和精度较差,需要精准匹配外围电路(电感、电容、电阻等),如需更换晶振时要同步更换外围电路。有源晶振不需要芯片内部振荡器,可以提供高精度频率基准,信号质量也较无源晶振要好。本设计选用有源晶振,晶振电路如图所示 图6 晶振电路 4.复位电路 为了保证系统中电路稳定可靠地工作,复位电路是必不可少一某些,复位电路第一功能是上电复位。普通单片机电路正常工作需要供电5V±5%,即4.75~5.25V。由于系统电路是时序数字电路,它需要稳定期钟信号,因而在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,系统电路开始正常工作。复位电路如图所示 图7 复位电路 3.7矩阵键盘系统设计 矩阵键盘又称行列键盘,它是四条I/O线作为行线,四条I/O线作为列线构成键盘。在行线和列线每个交叉点上设立一种按键。这样键盘上个数就为*4个。这种行列式键盘构造能有效地提高单片机系统中I/O口运用率。  独立键盘具备编程简朴但占有I/O口资源特点,不适合在按键较多场合应用。在实际应用中经常要用到输入数字、字母等功能,如电子密码锁、电话机键盘等普通都至少有12到16个按键,在这种状况下如果用独立按键话显然太挥霍I/O口资源,为此咱们就有必要使用矩阵键盘了。 普通由16个按键构成在单片机中正好可以用一种P口实现16个按键功能,这也是在单片机系统中最惯用形式,本设计就采用这个键盘模式。 图8 矩阵键盘电路 3.8数码管显示电路 LED(Light Emiting Diode)是发光二极管缩写。LED数码管里面有8只发光二极管,与实验板P1端口所接二极管是相似。分别记作a﹑b﹑c﹑d﹑e﹑f﹑g﹑dp其中dp为小数点,每一只发光二极管均有一根电极引到外部引脚上,而此外一只引脚就连接在一起同样也引到外部引脚上,记作公共端(COM),如图5-8所示,而图5-9为实物图,其中引脚排列因不同厂商而有所不同。 图9 数码管管脚图 图10 数码管实物图 市面上惯用LED数码管有两种,分为共阳极与共阴极。共阳极:当数码管里面发 光二极管阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。当发光二极管阴极接低电平时,发光二极管被点亮,从而相应数码段显示。而输入高电平段则不能点亮。相反,共阴极:当数码管里面发光二极管阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。当发光二极管阳极接高电平时,发光二极管被点亮,从而相应数码段显示,而输入低电平段则不能点亮。 图11 共阳共阴,数码管原理图 3.9数码管与单片机连接电路 图12 数码管与单片机借口连接电路 4 系统软件设计 图13 软件系统图 、 5.仿真图片 图14 仿真图(未开始仿真) 图15 仿真图(开始仿真) 6.设计小结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力重要环节,是对学生实际工作能力详细训练和考察过程.随着科学技术发展日新日异,单片机已经成为当今计算机应用中空前活跃领域, 在生活中可以说得是无处不在。因而作为21世纪大学来说掌握单片机开发技术是十分重要。回顾起本次单片机课程设计,至今我仍感触颇多,确,从选题到定稿,从理论到实践,在整整两星期日子里,可以说得是苦多于甜,但是可以学到诸多诸多东西,同步不但可以巩固了此前所学过知识,并且学到了诸多在课本上所没有学到过知识。通过这次课程设计使我懂得了理论与实际相结合是很重要,只有理论知识是远远不够,只有把所学理论知识与实践相结合起来,从理论中得出结论,才干真正为社会服务,从而提高自己实际动手能力和独立思考能力。在设计过程中遇到问题,可以说得是困难重重,这毕竟第一次做,难免会遇到过各种各样问题,同步在设计过程中发现了自己局限性之处,对此前所学过知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把此前所学过知识重新温故。 这次课程设计终于顺利完毕了,在设计中遇到了诸多编程问题,最后在梁强教师辛勤指引下,终于游逆而解。同步,在教师身上我学得到诸多实用知识,在次我表达感谢!同步,对给过我协助所有同窗和各位指引教师再次表达忠心感谢。 7.参照文献 [1] 冯育长 .单片机系统设计与实例分析.[M].西安:西安电子科技大学出版社, [2] 晁阳. 单片机MCS-51原理及应用开发教程[M].北京:清华大学出版社,. [3] 黄惟公,邓成中,王燕. 单片机原理与应用技术[M]. 西安:西安电子科技大学出版社, [4] 张萌,和湘,姜斌. 单片机应用系统开发综合实例[M]. 北京:清华大学出版社, [5] 张大明. 单片机控制实训指引及综合应用实例[M].北京:清华大学出版社, [6] 张齐,朱宁西. 单片机应用系统设计技术—基于C51Proteus仿真 [M].北京:化学工业出版社,. [7] 沈光斌,刘冬,姚志成.单片机系统实用抗干扰设计.[M].北京:人民邮电出版社, 8.附录 #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar num,temp; void DelayM(uint x)//延时子程序 { uchar t; while(x--) { for(t=0;t<120;t++); } } kscan(void)//键盘扫描子程序 { uchar i,temp,num=16; for(i=0;i<4;i++) { P1=_crol_(0xfe,i); //逐行扫描 temp=P1;//读取键值 temp=temp & 0xf0;//屏蔽低4位行值 if(temp!=0xf0)//高四位列值不全为1,阐明有键按下,延时去抖动 { DelayM(20); temp=P1; temp=temp & 0xf0; if(temp!=0xf0) { temp=P1; switch(temp)//依照按键所在行与列位置拟定键号 { case 0xee:num=0;break; case 0xde:num=1;break; case 0xbe:num=2;break; case 0x7e:num=3;break; case 0xed:num=4;break; case 0xdd:num=5;break; case 0xbd:num=6;break; case 0x7d:num=7;break; case 0xeb:num=8;break; case 0xdb:num=9;break; case 0xbb:num=10;break; case 0x7b:num=11;break; case 0xe7:num=12;break; case 0xd7:num=13;break; case 0xb7:num=14;break; case 0x77:num=15;break; default:break; } while((temp & 0xf0)!=0xf0) // 等待按键释放 { temp=P1;temp=temp & 0xf0; } } } } return num; } void main() { int num; P2=0x00; //关闭数码管段选 while(1) { num=kscan(); switch(num)//依照按键号进行显示 { case 0: P2=0x3F;break; case 1: P2=0x06;break; case 2: P2=0x5B;break; case 3: P2=0x4F;break; case 4: P2=0x66;break; case 5: P2=0x6D;break; case 6: P2=0x7D;break; case 7: P2=0x07;break; case 8: P2=0x7F;break; case 9: P2=0x6F;break; case 10: P2=0x77;break; case 11: P2=0x7C;break; case 12: P2=0x39;break; case 13: P2=0x5E;break; case 14: P2=0x79;break; case 15: P2=0x71;break; default:break; } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服