ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:2.22MB ,
资源ID:8722749      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8722749.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(武汉理工大学单片机课设报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

武汉理工大学单片机课设报告.docx

1、武汉理工大学单片机课设报告摘要本次设计主要是基于AT89C52单片机,通过单片机的控制完成一个4X4的矩阵键盘,键盘扫描显示,由6个7段LED数码管组成的显示电路,利用单片机的串口实现串行通信接口电路。还要完成ISP下载电路的设计、焊接,最后完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计完成特定的功能。AT89C52作为核心控制器,外接晶振,复位电路、矩阵键盘、LED数码管显示电路、串口通信组成。矩阵键盘的10个按键是09数字键;另外6个是功能键,用于功能选择和控制,通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容。另外还实现了两块单片机的串行通行,当通过功能

2、选择键选择“串行通信”后,当在主系统上按下数字键后主系统的LED按从左向右移东的方式显示按键输入的数字,同时辅系统的LED上显示与主系统同样的内容。最后利用仿真软件完成系统仿真工作。采用protel画电路原理图及PCB板,并用keil编程,通过Proteus对单片机进行仿真测试,系统功能通过软件编程实现,电路简单明了,功能实现完整,程序运行稳定。关键字:单片机、数码管显示、矩阵键盘扫描、串口串行通信AbstractThis design is mainly based on AT89C52 microcontroller, SCM control through the completion

3、of a 4X4 matrix keyboard, the keyboard scan display, the display circuit is composed of 6 7 LED digital tube, serial communication interface circuit with MCU serial. Also completed weld design, ISP download circuit, then finish the design of system software, including the structure design, program f

4、low chart, program designed to accomplish a specific function.AT89C52 as the core controller, an external crystal oscillator, reset circuit, matrix keyboard, LED digital tube display circuit, serial communication. The 10 key keyboard matrix is 09 digital keys; the other 6 are functional keys, used f

5、or feature selection and control, through the function selection keys, the MCU in different work state and display the corresponding content by LED. In addition to achieving the two single-chip serial passage, when the function selection key to select serial communication, when you press the number

6、keys on the primary system after the main system of LED display and button input digital by the eastern shift from left to right way, accompanied with the main system of the same content display system on LED. Finally completed the simulation of the system by using the simulation software.Using Prot

7、el to draw the circuit schematic diagram and the PCB board, and the use of Keil programming, through the Proteus simulation test on a single chip, the system function is realized by software programming, the circuit is simple, function is complete, the program is stable.Keywords: single chip microco

8、mputer, digital tube display, keyboard scanning, serial port serial communication.1主要任务1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试(1)键盘一个4X4的矩阵键盘,其中,10个按键是09数字键;另外6个是功能键,用于功能选择和控制,如“数据输入”、“数据显示”、“串行通信”功能选择键,以及“回车”、“清除”、控制键。(2)显示电路由6个7段LED数码管组成的显示电路。(3)串口串行通信利用51的串口实现串行通信接口电路。2)完成ISP下载电路的设计、焊接3)完成系统软件的设计,包

9、括程序结构设计、流程图绘制、程序设计,实现如下功能(1)功能选择通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容;可选择的功能包括:数据输入;数据显示;串口通信(2)数据输入通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。数据输入要求:1) 第一步输入序号09,表明输入的是第几个4位十进制数据;2) 第二步按下回车键,完成序号输入;3) 第三步输入最多4位的十进制数据;4) 第四步按下回车键,完成数据输入;5) 重复第一步,开始新数据的输入;6) 输入数据的显示格式是:最左边是序号,然后是空格,之后是从右到左的最多4位十

10、进制数;7) 若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。或者,自己设计10个十进制数的输入及显示方式。(3)数据显示通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,要求:1) 第一步输入序号09,表明显示的是第几个4位十进制数据;2) 第二步显示相应的数据;3) 重复第一步、第二步,显示其他的数据;4) 数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。或者,自己设计数据的显示方式。(4)数据通信将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。当通过功能

11、选择键选择“串行通信”后,当在主系统上按下数字键后主系统的LED按从左向右移东的方式显示按键输入的数字,同时辅系统的LED上显示与主系统同样的内容。4)利用仿真软件完成系统仿真工作5)在单片机最小系统硬件上实现任务3中规定的功能2工作原理及方案设计2.1基本原理单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其它外部设备。本次设计主要完成的扩展电路包括矩阵键盘、数码管显示电路和串口电路。其原理框图如下图2-1所示:图2-1系统原理框图

12、2.2单片机介绍单片机就是一块硅片上集成了微处理器、存储器及各种输入输出接口的芯片,这样的芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机。通俗的语言来讲,单片机就是一块集成芯片,但这块集成芯片具有一些特殊的功能,而它的功能的实现要靠我们使用者自己来编程完成,我们编程的目的就是控制这块芯片的各个引脚在不同时间输出不同的电平,进而控制与单片机各个引脚相连接的外围电路的电气状态。即将计算机主机CPU、内存和I/O接口集成在一小块硅片上的微型机。 图2-2单片机内部结构图一片MCS-51单片机芯片内包含一个8位CPU、振荡器和时钟电路、至少128字节的内部数据存储器可寻址外部程序存储器

13、和数据存储器个64k字节21个特殊功能寄存器4个并行I/O接口2个16位定时/计数器至少5个中断源提供两级中断优先级可实现两级中断服务程序嵌套。具有可位寻址功能有较强的布尔处理能力。各功能单元包括IO端口和定时器/计数器等都由特殊功能寄存器SFR集中管理 。 AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flas

14、h存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。主要性能参数:与MCS-51产品指令和引脚完全兼容8k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器2568字节内部RAM32个可编程IO口线3个16位定时计数器8个中断源可编程串行UART通道低功耗空闲和掉电模式功能特性概述:AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个IO口线,3个16位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。芯片引脚图如图1-2所示。图2-3 AT89C52芯片引脚图

15、P0口:P0口是一组8位漏极开路型双向IO口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“l”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P2口:P2是一个带有内部上拉电阻的8位双向I

16、O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P3口:P3口是一组带有内部上拉电阻的8位双向IO口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE:当访问外部程序存储器或数据存储器时,ALE(

17、地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的l6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。EA:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.3数码管显示部分方案一:通过锁存器来实现管脚的复用,首先输出数码管的位选信号,通

18、过锁存器来锁存,然后再输入段选信号。这样做的好处是节省了管脚,但是在编程时增加了编程的难度。在外围器件较多时采用这种结构。方案二:用单片机的P0口直接控制段选,P2口直接控制位选,这样做的好处是电路简单,但增加了大量的管脚,使得管脚的利用率低。由于本次设计所用到的外围电路不多,管脚够用,故采用第二种方案,使得本次设计的电路连接简单。2.4键盘设计方案与选择方案一:独立键盘。独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。这种键盘的硬件都很容易实现,但每一个按键就要用一个I/O口,非常的浪费单片机的I/O口资源,不适合本次设计。方案二:自制编码键盘。编码键盘的电路如图2-2所示,这种键盘

19、有编程简单,占用资源少,但其硬件比较复杂,要用很多的二极管,不是很理想。 图2-4自制编码键盘电路图方案三:4*4矩阵式键盘。这种键盘的硬件简单,使用的I/O口也不多,而且这种键盘的编程方法已很成熟。计算器的键盘布局如图2-3所示:一般有16个键组成,在单片机中正好有一个P端口实现16个按键功能,这种形式在单片机系统中最常用。所以本次设计采用这种矩阵式键盘。图2-5矩阵键盘内部电路3单元模块设计3.1最小系统模块3.1.1复位电路复位电路,就是 利用它把电路恢复到起始状态。以便回到原始状态,重新进行计算。单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复

20、位电路;(4)看门狗型复位电路。其最小系统复位电路如图3-1所示。 3-1复位电路51单片机最小系统复位电路的极性电容的大小直接影响单片机的复位时间,一般采用10到30uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。51单片机最小系统起振电容C2、C3一般采用15到33pF,并且电容离晶振越近越好,晶振离单片机越近越好。P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电

21、阻,作为输出口时不需外加上拉电阻。3.1.2振荡电路51单片机有两种振荡方式,为内部振荡和外部振荡,内部振荡方式所得到时钟信号比较稳定,在实际电路中,一般是选用内部振荡方式。单片机的XTAL1脚和XTAL2脚之间并接一个晶体振荡器就构成了内部振荡方式。AT89S52单片机内部有一个高增益的反相放大器,XTAL1为内部反相放大器的输入端,XTAL2为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率就是晶振的固有频率。在实际应用中通常还需要在晶振的两端和地之间各并上一个小电容。实际的内部振荡方式的电路如图3-2所示。图3-2 振荡电路图

22、中,电容器C4、C5常称为微调电容,其作用有三个:快速起振、稳定振荡频率、微调振荡频率。AT89S52单片机允许外接033MHz的晶振,电容器C4、C5可取5pF33pF。一般情况下,使用频率较低的晶振时,C1、C2的容量可选大一点。为了减少寄生电容,更好地保证振荡器稳定可靠地工作,在实际装配电路时,晶振X和电容C4、C5应尽可能地安装在XTAL1(图中为X1,单片机第18脚)、XTAL2(图中为X2,单片机第19脚)引脚附近。3.2 LED数码管显示模块 LED是发光二极管的缩写。LED由八段发光二极管组成,分别记作a、b、c、d、e、f、g、dp,其中dp为小数点,我们分别把它命名为ABC

23、DEFGH.每一只发光二级管都有一根电极引到外部引脚上,而另外一只引脚就连接在一起同样也引到外部引脚上,记做公共端COM,如图3-3所示。图3-3数码管 图3-4数码管引脚图市面上常用的LED数码管有两种,分为共阳极与共阴极。共阳极:当数码管里面的发光二极管的阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。当发光二极管的阴极接低电平时,发光二级管被点亮,从而相应的数码段显示,而输入高电平的段则不能点亮。相反,共阴极:当数码管里面的发光二级管的阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。当发光二极管的阳极接高电平时,发光二级管被点亮,从而相应的数码段显示,而输入低电平的段则不

24、能被点亮。该系统的显示模块采用六个共阳极的LED数码管,八个段选均接到单片机的P0口,可以控制数码管显示的内容。而六个数码管的位选端则分别接到单片机的P2.0P2.5口,此位选端用来控制哪个数码管亮。数码管的动态扫描显示原理是通过轮流的给每位数码管段选和位选,进行短暂的延时,利用数码管的余晖和人眼视觉暂留效应,使人感觉各位数码管好像是同时在显示。数码管的接线:共阳接法:低电平亮,高电平灭共阴接法:低电平灭,高电平亮若是共阳接法,若是共阴接法,可以则低电平是亮,高电平是灭。实验中用P0.0-P0.7控制数码管的8段,P0口的八位与发光管的对应关系见表3-5所示。表3-1 P0口与发光管的对应关系

25、显示P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0HEXCE小数点DGAFB00010100028H1011111107EH210100010A2H30110001062H40111010074H50110000161H60010000121H7011110107AH80010000020H90110000060H3.3 矩阵键盘模块在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,

26、而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。下面介绍一种按键被按下的识别方法行扫描法。首先将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列均为高电平,则键盘中无键按下。然后判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平

27、状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。该系统采用4*4矩阵键盘,但是由于只用到部分按键,因此要将按键从矩阵键盘中分离出来,实现独立按键的功能。该模块如图3-5所示。图3-5 矩阵键盘模块3.4串口通信模块单片机串行通信方式介绍串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。51 单片机内部有一个全双工串行接口。一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口

28、。SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。串行口控制寄存器SCON(见表3-2)。表3-2 串行口控制寄存器SCON表中各位(从左至右为从高位到低位)含义如下。SM0 和SM1 :串行口工作方式控制位,其定义如表3-3 所示。表3-3 串行口工作方式控制位其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。SM2 :多机通信控制位。 该仅用于方式2

29、和方式3 的多机通信。其中发送机SM2 1(需要程序控制设置)。接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。工作于方式0 时,SM2 必须为0。REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。在多机通信中它代表传输的地址或数据,TB8=0 为数据,T

30、B8=1 时为地址。RB8 :在方式2、3 中,RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。TI :串行口发送中断请求标志。当CPU 发送完一串行数据后,此时SBUF 寄存器为空,硬件使TI 置1,请求中断。CPU 响应中断后,由软件对TI 清零。RI :串行口接收中断请求标志。当串行口接收完一帧串行数据时,此时SBUF 寄存器为满,硬件使RI 置1,请求中断。CPU 响应中断后,用软件对RI 清零。电源控制寄存器PCON(见表3-4) 。表3-4 PCON寄存器表中各位(从左至右为从高位到低位)含义如下。SMOD :波特率加倍位。SMOD=1

31、,当串行口工作于方式1、2、3 时,波特率加倍。SMOD=0,波特率不变。2 RS-232C接口RS-232C是EIA(美国电子工业协会)1969年修订RS-232C标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。其功能特性如图1-8所示。图3-6RS232C功能特性3.80C51串行口的工作方式 一、方式0方式0时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。二、方式1方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。用软件置REN为1时,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1