基于单片机控制的矩阵键盘显示系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。
3.2 STC89C51内部结构框图.............................................................................2
3.3 STC89C51管脚图,实物图.........................................................................3
3.8数码管显示电路............................................................................................6
3.9数码管与单片机的连接电路........................................................................7
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口用时,需加上拉电阻。
STC89C51RC/RD+系列单片机的P1/P2/P3/P4上电复位后为准双向口/弱上拉(传统8051的I/O口)模式P0口上电复位后是开漏输出。P0口作为总线扩展用时不用加上拉电阻,作为I/O口用时,需加10K-4.7K上拉电阻。
STC89C51RC/RD+ 的5V单片机的P0口的灌电流最大为12mA,其他I/O口的灌电流最大为6mA。
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.
STC89LE51RC/RD+的3V单片机的P0口的灌电流最大为8mA, 其他I/O口的灌电流最大为4mA。
1. ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
2. PSEN:外ROM读选通信号。
图11共阳共阴,数码管原理图
3.9数码管与单片机的连接电路
图12数码管与单片机借口连接电路
4
图13 软件系统图
、
5.
图14仿真图(未开始仿真)
图15仿真图(开始仿真)
6.设计小结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。
一 理论部分
理论设计课题名称:基于单片机控制的矩阵键盘显示系统设计
1Baidu Nhomakorabea
以51为核心的STC89C51单片机为控制芯片,设计制作数码管显示电路,矩阵键盘电路,单片机最小系统电路。
通过程序控制4*4的矩阵键盘,经过单片机处理之后显示在数码管上,当按下键盘上的任意一个键的时候,数码管上会显示相应的数字。因为本系统采用的是单位数码管,所以我们这边用十六进制表示。
6.设计小结..........................................................................................................................10
7.参考文献..........................................................................................................................11
图5最小系统图
⒈ 电源:
⑴ 单片机40脚接VCC - 芯片电源,接+5V;
⑵ 单片机20脚接地 - 接地端;
⒉ 时钟:
XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
3.晶振电路
晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等),如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。本设计选用有源晶振,晶振电路如图所示
图7 复位电路
3.7矩阵键盘系统设计
矩阵键盘又称行列键盘,它是四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上的个数就为*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
独立键盘具有编程简单但占有I/O口资源的特点,不适合在按键较多的场合应用。在实际应用中经常要用到输入数字、字母等功能,如电子密码锁、电话机键盘等一般都至少有12到16个按键,在这种情况下如果用独立按键的话显然太浪费I/O口资源,为此我们就有必要使用矩阵键盘了。
15. 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44.
3.2 STC89C51
图2内部结构图
3.3 STC89C51
3.4 I/O
STC89C51RC/RD+系列单片机所有I/O口均(新增P4口)有3种工作类型:
准双向口/弱上拉(标准8051输出模式)、仅为输入(高阻)或开漏输出功能。
3.6单片机最小系统........................................................................................... 4
3.7矩阵键盘系统设计........................................................................................5
图9 数码管管脚图 图10 数码管实物图
市面上常用的LED数码管有两种,分为共阳极与共阴极。共阳极:当数码管里面的发 光二极管的阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。当发光二极管的阴极接低电平时,发光二极管被点亮,从而相应的数码段显示。而输入高电平的段则不能点亮。相反,共阴极:当数码管里面的发光二极管的阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。当发光二极管的阳极接高电平时,发光二极管被点亮,从而相应的数码段显示,而输入低电平的段则不能点亮。
3.4 I/O口各种不同的工作模式及配置介绍......................................................3
3.5I/O线..............................................................................................................3
一般由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为实物图,其中引脚的排列因不同的厂商而有所不同。
7. ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片
8. 有EEPROM功能
9. 看门狗
10.内部集成MAX810专用复位电路(HD版本和90C版本才有) ,外部晶体20M以下时,可省外部复位电路。
图6晶振电路
4.复位电路
为了确保系统中电路稳定可靠地工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电5V±5%,即4.75~5.25V。由于系统电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,系统电路开始正常工作。复位电路如图所示
3. RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。② VPD功能:在Vcc掉电情况下,接备用电源。
4. EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp
课程设计说明书
单片机原理与接口技术
专业
建筑电气与智能化
学生姓名
葛益新
班级
BD电建101
学号
1020602106
指导教师
吴冬春
完成日期
2014年1月17日
3.1 STC89C51特性.............................................................................................2
11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒 。
13. 通用异步串行口(UART),还可用定时器软件实现多个UART
14. 工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)
设计软件系统和硬件系统,画出硬件系统图和PCB图,最后制作PCB板,满足本次的课程设计要求。
2
本设计是由4*4的矩阵键盘,晶振电路,8051单片机,复位电路,数码显示电路等组成,矩阵键盘通过软件来控制8051单片机从来改变数码显示器上的数字,其组成框图如下所示:
图1 系统框图
3
本次选用的是以51为核心的STC89C51单片机为主控芯片。此款单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任选,HD版本 8051单片机MAX810专用复位电路。
4系统软件设计..................................................................................................................8
5.仿真图片...........................................................................................................................9
80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
3.6单片机最小系统
要使单片机工作,必须提供复位电路和晶体振荡电路,即组成单片机最小应用系统,使其正常工作。采用的复位方法是自动复位,单片机复位满足的条件为:RST引脚上出现10ms(T=RC)以上的高电平,所以当电容值取C=10UF时,电阻R=10K才会满足要求。晶振选用12MHZ。
3.2 STC89C51内部结构框图.............................................................................2
3.3 STC89C51管脚图,实物图.........................................................................3
3.8数码管显示电路............................................................................................6
3.9数码管与单片机的连接电路........................................................................7
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口用时,需加上拉电阻。
STC89C51RC/RD+系列单片机的P1/P2/P3/P4上电复位后为准双向口/弱上拉(传统8051的I/O口)模式P0口上电复位后是开漏输出。P0口作为总线扩展用时不用加上拉电阻,作为I/O口用时,需加10K-4.7K上拉电阻。
STC89C51RC/RD+ 的5V单片机的P0口的灌电流最大为12mA,其他I/O口的灌电流最大为6mA。
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.
STC89LE51RC/RD+的3V单片机的P0口的灌电流最大为8mA, 其他I/O口的灌电流最大为4mA。
1. ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
2. PSEN:外ROM读选通信号。
图11共阳共阴,数码管原理图
3.9数码管与单片机的连接电路
图12数码管与单片机借口连接电路
4
图13 软件系统图
、
5.
图14仿真图(未开始仿真)
图15仿真图(开始仿真)
6.设计小结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。
一 理论部分
理论设计课题名称:基于单片机控制的矩阵键盘显示系统设计
1Baidu Nhomakorabea
以51为核心的STC89C51单片机为控制芯片,设计制作数码管显示电路,矩阵键盘电路,单片机最小系统电路。
通过程序控制4*4的矩阵键盘,经过单片机处理之后显示在数码管上,当按下键盘上的任意一个键的时候,数码管上会显示相应的数字。因为本系统采用的是单位数码管,所以我们这边用十六进制表示。
6.设计小结..........................................................................................................................10
7.参考文献..........................................................................................................................11
图5最小系统图
⒈ 电源:
⑴ 单片机40脚接VCC - 芯片电源,接+5V;
⑵ 单片机20脚接地 - 接地端;
⒉ 时钟:
XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
3.晶振电路
晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等),如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。本设计选用有源晶振,晶振电路如图所示
图7 复位电路
3.7矩阵键盘系统设计
矩阵键盘又称行列键盘,它是四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上的个数就为*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
独立键盘具有编程简单但占有I/O口资源的特点,不适合在按键较多的场合应用。在实际应用中经常要用到输入数字、字母等功能,如电子密码锁、电话机键盘等一般都至少有12到16个按键,在这种情况下如果用独立按键的话显然太浪费I/O口资源,为此我们就有必要使用矩阵键盘了。
15. 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44.
3.2 STC89C51
图2内部结构图
3.3 STC89C51
3.4 I/O
STC89C51RC/RD+系列单片机所有I/O口均(新增P4口)有3种工作类型:
准双向口/弱上拉(标准8051输出模式)、仅为输入(高阻)或开漏输出功能。
3.6单片机最小系统........................................................................................... 4
3.7矩阵键盘系统设计........................................................................................5
图9 数码管管脚图 图10 数码管实物图
市面上常用的LED数码管有两种,分为共阳极与共阴极。共阳极:当数码管里面的发 光二极管的阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。当发光二极管的阴极接低电平时,发光二极管被点亮,从而相应的数码段显示。而输入高电平的段则不能点亮。相反,共阴极:当数码管里面的发光二极管的阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。当发光二极管的阳极接高电平时,发光二极管被点亮,从而相应的数码段显示,而输入低电平的段则不能点亮。
3.4 I/O口各种不同的工作模式及配置介绍......................................................3
3.5I/O线..............................................................................................................3
一般由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为实物图,其中引脚的排列因不同的厂商而有所不同。
7. ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片
8. 有EEPROM功能
9. 看门狗
10.内部集成MAX810专用复位电路(HD版本和90C版本才有) ,外部晶体20M以下时,可省外部复位电路。
图6晶振电路
4.复位电路
为了确保系统中电路稳定可靠地工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电5V±5%,即4.75~5.25V。由于系统电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,系统电路开始正常工作。复位电路如图所示
3. RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。② VPD功能:在Vcc掉电情况下,接备用电源。
4. EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp
课程设计说明书
单片机原理与接口技术
专业
建筑电气与智能化
学生姓名
葛益新
班级
BD电建101
学号
1020602106
指导教师
吴冬春
完成日期
2014年1月17日
3.1 STC89C51特性.............................................................................................2
11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒 。
13. 通用异步串行口(UART),还可用定时器软件实现多个UART
14. 工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)
设计软件系统和硬件系统,画出硬件系统图和PCB图,最后制作PCB板,满足本次的课程设计要求。
2
本设计是由4*4的矩阵键盘,晶振电路,8051单片机,复位电路,数码显示电路等组成,矩阵键盘通过软件来控制8051单片机从来改变数码显示器上的数字,其组成框图如下所示:
图1 系统框图
3
本次选用的是以51为核心的STC89C51单片机为主控芯片。此款单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任选,HD版本 8051单片机MAX810专用复位电路。
4系统软件设计..................................................................................................................8
5.仿真图片...........................................................................................................................9