武汉理工大学单片机课设《简易键盘与显示功能设计》_第1页
武汉理工大学单片机课设《简易键盘与显示功能设计》_第2页
武汉理工大学单片机课设《简易键盘与显示功能设计》_第3页
武汉理工大学单片机课设《简易键盘与显示功能设计》_第4页
武汉理工大学单片机课设《简易键盘与显示功能设计》_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务书学生姓名: 陈云飞 专业班级: 电信1005班 指导教师: 刘运苟 工作单位: 信息工程学院 题 目:简易键盘与显示功能设计初始条件: 具备数字电路的理论知识;具备单片机原理的理论知识和实践能力;熟悉51单片机的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、用并行口检测一组开关(4个)的状态,并用发光二极管现实其当前的状态。2、用并行口设计一键盘显示电路,按键数字1、2、3、4,要求当某个按键按下时,能现实该按键的值时间安排: 二十二周一周,其中3天硬件设计,2天硬件调试指导教师签名:

2、 年 月 日系主任(或责任教师)签名: 年 月 日目录摘 要III1 软件与硬件简介11.1 Protues简介11.1.1 简介11.1.2 特点11.1.3 丰富资源21.1.4 软件仿真21.2 keil简介31.2.1 简介31.2.2 Keil Vision4界面31.2.3 优点51.3 AT89C5151.3.1硬件简介51.3.2 特性概述52 总体分析设计72.1 电路结构分析72.2 总体方案设计72.3 总体电路图83 单元电路设计93.1键盘输入模块93.2 按键监控模块103.3 单片机103.4 数码管模块114 软件设计与仿真124.1 软件流程图124.2 系统

3、程序代码134.3 仿真结果145 心得体会15参考文献16摘 要在日常生活中,我们经常要通过按键来实现对电子装置的控制,小到手表手机,中到电视电脑,大到各种复杂仪器,都需要通过按键来实现各种操作。本次课程设计作为实践教学的一个重要环节,将以按键控制显示为主题,以AT89C51单片机及其接口芯片为核心构造一个键盘控制显示系统,并使用Proteus软件对所设计的电路进行仿真。关键词:Proteus 键盘显示 AT89C51 仿真 181 软件与硬件简介1.1 Protues简介1.1.1 简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其

4、它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增

5、加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译.1.1.2 特点Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点:(1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输

6、入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。1.1.3 丰富资源器件:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。仪表:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。图形:可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。调试:Protues提供了比较丰富的测试信号用于电路的

7、测试。这些测试信号包括模拟信号和数字信号。1.1.4 软件仿真支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。1.提供软件调试功能。2.提供丰富的外围接口器件及其仿真。RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。3.提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。4.具有强大的原理图绘制功能。图1.1 Protues界面1.2 keil简介1.2

8、.1 简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。1.2.2 Keil V

9、ision4界面Keil uVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器

10、。uVision2 IDE可为它们提供单一而灵活的开发环境。2006年1月30日ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成Keil Vision3的RealView MDK开发环境。RealView MDK开发工具KeilVision3源自Keil公司。RealView MDK集成了业内领先的技术,包括Keil Vision3集成开发环境与RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的 Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本

11、可将性能改善超过20%。2009年2月发布Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。图1.2 Keil Vision4的操作界面1.2.3 优点Keil C51生

12、成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。本次设计将使用Keil Vision4这个版本进行设计。1.3 AT89C511.3.1硬件简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的

13、单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。现在AT89S51/52已经取代了AT89C51/52。本次设计将使用AT89C51此芯片作为核心硬件进行设计。1.3.2 特性概述AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O

14、 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2 总体分析设计2.1 电路结构分析本次设计的目标为单片机控制的键盘识别显示系统,主要采用AT89C51单片机作为核心,由矩阵键盘电路、译码电路、显示电路等模块构成,分别对按键信息和显示电路以及软、硬件各个部分进行控制;本设计采用C语言编程来实现对

15、单片机的控制。实际运作时,单片机会将检测到的按键信号转换成数字,显示于七段数码管上。系统主要结构可以拆分如下: 矩阵键盘:按键传送输入信息;由于本次设计只有4个按键,但是我进行了扩展,故使用8个独立按键代替矩阵键盘; 按键监控:与按键搭配使用来实时显示按键信息的LED; AT89C51:采用软件编程来实现按键信息的提取和转换; 七段数码管:用于显示最终被单片机转换过的按键信息。 由以上构思可以设计此按键显示电路。2.2 总体方案设计图2.2为按键控制显示电路系统的总体原理框图:数码管模块按键模块单片机AT89C51芯片检验按键是否按下模块图2.2整体电路原理方框图即实验者通过按下矩阵键盘的按键

16、来进行信息输入,当有按键被按下时,与按键相连的发光二极管会发光显示,然后按键信息被输入到经过编程的单片机AT89C51中进行提取与转换,变为对数码管进行操作的输出信息,使数码管显示对应的数字。2.3 总体电路图总体电路图如图2.3所示:图2.3 整体电路图3 单元电路设计3.1键盘输入模块由于本次任务只要求4个按键,但是被我扩展成了8个,所以直接使用8个独立按键代替矩阵键盘,分别接至单片机的P1.0173四个并行口,其电路图如图3.1;图3.1四个独立按键构成的键盘输入模块3.2 按键监控模块按键监控模块由四个开关、四个发光二极管和四个330的电阻构成,分别接至单片机的P1.41.7四个并行口

17、,其电路图如图3.2;图3.2按键监控模块3.3 单片机AT89C51单片机模块是整个电路的核心,时钟信号与复位信号的产生以及程序的处理等任务都是由单片机来完成的。时钟信号用来提供单片机片内各种微操作的时间基准,复位信后用来初始化单片机内部的某些特殊功能寄存器,使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。由于Protues软件自带缺省引脚的信息自动补充功能,本实验中将省略内部时钟电路与外部复位电路。实际引脚连线的部分如图3.3;图3.3 AT89C51单片机3.4 数码管模块译码电路中常用的显示器有LED(数码管)和LCD(液晶显示器)。这两种显示器都具有线路简单、耗电少

18、、成本低、寿命长等优点。本系统输出结果选用1个七段数码管显示。数码管有共阴共阳之分,本系统采用共阴型。LED的外形结构如图3.4-1,外部有10个引脚,其中GND脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。图3.4-1 LED数码管结构 如下表1即两种数码管中数字显示对应的段码: 表1 LED显示段码字型共阳极段共阴极段字型共阳极段共阴极段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39

19、H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H本次设计中数码管模块接至单片机的P2.02.6七个并行口,其电路如图3.4-2;图3.4-2数码管模块4 软件设计与仿真开始4.1 软件流程图结束显示键值根据当前状态识别按键检测是否有按键按下无按键显示04.2 系统程序代码#include #includesbit P10=P10;sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P17

20、=P17;unsigned char code tab9=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,;void main() if (P10 =0) P2=tab1; else if (P11 =0) P2=tab2; else if (P12 =0) P2=tab3; else if (P13 =0) P2=tab4; else if(P14=0) P2=tab5; else if (P15=0)P2=tab6;else if(P16=0)P2=tab7;else if(P17=0)P2=tab8;else P2=tab0; 4.3 仿真结果实际仿真结果如图4.3所示:当1号按键按下时,监控按键模块的三号LED变亮,数码管模块正常显示数字1,实验成功。图4.3 仿真结果5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论