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

上传人:b****6 文档编号:8722749 上传时间:2023-02-01 格式:DOCX 页数:39 大小:2.22MB
下载 相关 举报
武汉理工大学单片机课设报告.docx_第1页
第1页 / 共39页
武汉理工大学单片机课设报告.docx_第2页
第2页 / 共39页
武汉理工大学单片机课设报告.docx_第3页
第3页 / 共39页
武汉理工大学单片机课设报告.docx_第4页
第4页 / 共39页
武汉理工大学单片机课设报告.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

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

《武汉理工大学单片机课设报告.docx》由会员分享,可在线阅读,更多相关《武汉理工大学单片机课设报告.docx(39页珍藏版)》请在冰豆网上搜索。

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

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

摘要

本次设计主要是基于AT89C52单片机,通过单片机的控制完成一个4X4的矩阵键盘,键盘扫描显示,由6个7段LED数码管组成的显示电路,利用单片机的串口实现串行通信接口电路。

还要完成ISP下载电路的设计、焊接,最后完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计完成特定的功能。

AT89C52作为核心控制器,外接晶振,复位电路、矩阵键盘、LED数码管显示电路、串口通信组成。

矩阵键盘的10个按键是0~9数字键;另外6个是功能键,用于功能选择和控制,通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容。

另外还实现了两块单片机的串行通行,当通过功能选择键选择“串行通信”后,当在主系统上按下数字键后主系统的LED按从左向右移东的方式显示按键输入的数字,同时辅系统的LED上显示与主系统同样的内容。

最后利用仿真软件完成系统仿真工作。

采用protel画电路原理图及PCB板,并用keil编程,通过Proteus对单片机进行仿真测试,系统功能通过软件编程实现,电路简单明了,功能实现完整,程序运行稳定。

关键字:

单片机、数码管显示、矩阵键盘扫描、串口串行通信

Abstract

ThisdesignismainlybasedonAT89C52microcontroller,SCMcontrolthroughthecompletionofa4X4matrixkeyboard,thekeyboardscandisplay,thedisplaycircuitiscomposedof67LEDdigitaltube,serialcommunicationinterfacecircuitwithMCUserial.Alsocompletedwelddesign,ISPdownloadcircuit,thenfinishthedesignofsystemsoftware,includingthestructuredesign,programflowchart,programdesignedtoaccomplishaspecificfunction.

AT89C52asthecorecontroller,anexternalcrystaloscillator,resetcircuit,matrixkeyboard,LEDdigitaltubedisplaycircuit,serialcommunication.The10keykeyboardmatrixis0~9digitalkeys;theother6arefunctionalkeys,usedforfeatureselectionandcontrol,throughthefunctionselectionkeys,theMCUindifferentworkstateanddisplaythecorrespondingcontentbyLED.Inadditiontoachievingthetwosingle-chipserialpassage,whenthefunctionselectionkeytoselect"serialcommunication",whenyoupressthenumberkeysontheprimarysystemafterthemainsystemofLEDdisplayandbuttoninputdigitalbytheeasternshiftfromlefttorightway,accompaniedwiththemainsystemofthesamecontentdisplaysystemonLED.Finallycompletedthesimulationofthesystembyusingthesimulationsoftware.

UsingProteltodrawthecircuitschematicdiagramandthePCBboard,andtheuseofKeilprogramming,throughtheProteussimulationtestonasinglechip,thesystemfunctionisrealizedbysoftwareprogramming,thecircuitissimple,functioniscomplete,theprogramisstable.

Keywords:

singlechipmicrocomputer,digitaltubedisplay,keyboardscanning,serialportserialcommunication.

 

1主要任务

1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试

(1)键盘

一个4X4的矩阵键盘,其中,10个按键是0~9数字键;另外6个是功能键,用于功能选择和控制,如“数据输入”、“数据显示”、“串行通信”功能选择键,以及“回车”、“清除”、控制键。

(2)显示电路

由6个7段LED数码管组成的显示电路。

(3)串口串行通信

利用51的串口实现串行通信接口电路。

2)完成ISP下载电路的设计、焊接

3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计,实现如下功能

(1)功能选择

通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容;可选择的功能包括:

数据输入;数据显示;串口通信

(2)数据输入

通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。

数据输入要求:

1)第一步输入序号0~9,表明输入的是第几个4位十进制数据;

2)第二步按下回车键,完成序号输入;

3)第三步输入最多4位的十进制数据;

4)第四步按下回车键,完成数据输入;

5)重复第一步,开始新数据的输入;

6)输入数据的显示格式是:

最左边是序号,然后是空格,之后是从右到左的最多4位十进制数;

7)若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。

或者,自己设计10个十进制数的输入及显示方式。

(3)数据显示

通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,要求:

1)第一步输入序号0~9,表明显示的是第几个4位十进制数据;

2)第二步显示相应的数据;

3)重复第一步、第二步,显示其他的数据;

4)数据的显示格式是:

最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。

或者,自己设计数据的显示方式。

(4)数据通信

将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。

当通过功能选择键选择“串行通信”后,当在主系统上按下数字键后主系统的LED按从左向右移东的方式显示按键输入的数字,同时辅系统的LED上显示与主系统同样的内容。

4)利用仿真软件完成系统仿真工作

5)在单片机最小系统硬件上实现任务3中规定的功能

2工作原理及方案设计

2.1基本原理

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。

对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路、按键输入、显示输出等。

单片机接口电路主要用来连接计算机和其它外部设备。

本次设计主要完成的扩展电路包括矩阵键盘、数码管显示电路和串口电路。

其原理框图如下图2-1所示:

图2-1系统原理框图

2.2单片机介绍

单片机就是一块硅片上集成了微处理器、存储器及各种输入输出接口的芯片,这样的芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机。

通俗的语言来讲,单片机就是一块集成芯片,但这块集成芯片具有一些特殊的功能,而它的功能的实现要靠我们使用者自己来编程完成,我们编程的目的就是控制这块芯片的各个引脚在不同时间输出不同的电平,进而控制与单片机各个引脚相连接的外围电路的电气状态。

即将计算机主机CPU、内存和I/O接口集成在一小块硅片上的微型机。

图2-2单片机内部结构图

一片MCS-51单片机芯片内包含一个8位CPU、振荡器和时钟电路、至少128字节的内部数据存储器可寻址外部程序存储器和数据存储器个64k字节21个特殊功能寄存器4个并行I/O接口2个16位定时/计数器至少5个中断源提供两级中断优先级可实现两级中断服务程序嵌套。

具有可位寻址功能有较强的布尔处理能力。

各功能单元包括IO端口和定时器/计数器等都由特殊功能寄存器SFR集中管理。

AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。

主要性能参数:

·与MCS-51产品指令和引脚完全兼容·8k字节可重擦写Flash闪速存储器·1000次擦写周期·全静态操作:

0Hz-24MHz·三级加密程序存储器·256×8字节内部RAM·32个可编程I/O口线·3个16位定时/计数器·8个中断源·可编程串行UART通道·低功耗空闲和掉电模式功能特性概述:

AT89C52提供以下标准功能:

8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

芯片引脚图如图1-2所示。

 

图2-3AT89C52芯片引脚图

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“l”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的l/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

EA:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

2.3数码管显示部分

方案一:

通过锁存器来实现管脚的复用,首先输出数码管的位选信号,通过锁存器来锁存,然后再输入段选信号。

这样做的好处是节省了管脚,但是在编程时增加了编程的难度。

在外围器件较多时采用这种结构。

方案二:

用单片机的P0口直接控制段选,P2口直接控制位选,这样做的好处是电路简单,但增加了大量的管脚,使得管脚的利用率低。

由于本次设计所用到的外围电路不多,管脚够用,故采用第二种方案,使得本次设计的电路连接简单。

2.4键盘设计方案与选择

方案一:

独立键盘。

独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。

这种键盘的硬件都很容易实现,但每一个按键就要用一个I/O口,非常的浪费单片机的I/O口资源,不适合本次设计。

方案二:

自制编码键盘。

编码键盘的电路如图2-2所示,这种键盘有编程简单,占用资源少,但其硬件比较复杂,要用很多的二极管,不是很理想。

图2-4自制编码键盘电路图

方案三:

4*4矩阵式键盘。

这种键盘的硬件简单,使用的I/O口也不多,而且这种键盘的编程方法已很成熟。

计算器的键盘布局如图2-3所示:

一般有16个键组成,在单片机中正好有一个P端口实现16个按键功能,这种形式在单片机系统中最常用。

所以本次设计采用这种矩阵式键盘。

图2-5矩阵键盘内部电路

3单元模块设计

3.1最小系统模块

3.1.1复位电路

复位电路,就是利用它把电路恢复到起始状态。

以便回到原始状态,重新进行计算。

单片机复位电路主要有四种类型:

(1)微分型复位电路;

(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。

其最小系统复位电路如图3-1所示。

3-1复位电路

51单片机最小系统复位电路的极性电容的大小直接影响单片机的复位时间,一般采用10到30uF,51单片机最小系统容值越大需要的复位时间越短。

51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

51单片机最小系统起振电容C2、C3一般采用15到33pF,并且电容离晶振越近越好,晶振离单片机越近越好。

P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。

其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。

3.1.2振荡电路

51单片机有两种振荡方式,为内部振荡和外部振荡,内部振荡方式所得到时钟信号比较稳定,在实际电路中,一般是选用内部振荡方式。

单片机的XTAL1脚和XTAL2脚之间并接一个晶体振荡器就构成了内部振荡方式。

AT89S52单片机内部有一个高增益的反相放大器,XTAL1为内部反相放大器的输入端,XTAL2为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率就是晶振的固有频率。

在实际应用中通常还需要在晶振的两端和地之间各并上一个小电容。

实际的内部振荡方式的电路如图3-2所示。

图3-2振荡电路

图中,电容器C4、C5常称为微调电容,其作用有三个:

快速起振、稳定振荡频率、微调振荡频率。

AT89S52单片机允许外接0~33MHz的晶振,电容器C4、C5可取5pF~33pF。

一般情况下,使用频率较低的晶振时,C1、C2的容量可选大一点。

为了减少寄生电容,更好地保证振荡器稳定可靠地工作,在实际装配电路时,晶振X和电容C4、C5应尽可能地安装在XTAL1(图中为X1,单片机第18脚)、XTAL2(图中为X2,单片机第19脚)引脚附近。

3.2LED数码管显示模块

LED是发光二极管的缩写。

LED由八段发光二极管组成,分别记作a、b、c、d、e、f、g、dp,其中dp为小数点,我们分别把它命名为ABCDEFGH.每一只发光二级管都有一根电极引到外部引脚上,而另外一只引脚就连接在一起同样也引到外部引脚上,记做公共端COM,如图3-3所示。

图3-3数码管

图3-4数码管引脚图

市面上常用的LED数码管有两种,分为共阳极与共阴极。

共阳极:

当数码管里面的发光二极管的阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。

当发光二极管的阴极接低电平时,发光二级管被点亮,从而相应的数码段显示,而输入高电平的段则不能点亮。

相反,共阴极:

当数码管里面的发光二级管的阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。

当发光二极管的阳极接高电平时,发光二级管被点亮,从而相应的数码段显示,而输入低电平的段则不能被点亮。

该系统的显示模块采用六个共阳极的LED数码管,八个段选均接到单片机的P0口,可以控制数码管显示的内容。

而六个数码管的位选端则分别接到单片机的P2.0~P2.5口,此位选端用来控制哪个数码管亮。

数码管的动态扫描显示原理是通过轮流的给每位数码管段选和位选,进行短暂的延时,利用数码管的余晖和人眼视觉暂留效应,使人感觉各位数码管好像是同时在显示。

数码管的接线:

共阳接法:

低电平亮,高电平灭

共阴接法:

低电平灭,高电平亮

若是共阳接法,若是共阴接法,可以则低电平是亮,高电平是灭。

实验中用P0.0-P0.7控制数码管的8段,P0口的八位与发光管的对应关系见表3-5所示。

表3-1P0口与发光管的对应关系

显示

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

HEX

C

E

小数点

D

G

A

F

B

0

0

0

1

0

1

0

0

0

28H

1

0

1

1

1

1

1

1

0

7EH

2

1

0

1

0

0

0

1

0

A2H

3

0

1

1

0

0

0

1

0

62H

4

0

1

1

1

0

1

0

0

74H

5

0

1

1

0

0

0

0

1

61H

6

0

0

1

0

0

0

0

1

21H

7

0

1

1

1

1

0

1

0

7AH

8

0

0

1

0

0

0

0

0

20H

9

0

1

1

0

0

0

0

0

60H

3.3矩阵键盘模块

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

下面介绍一种按键被按下的识别方法——行扫描法。

首先将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列均为高电平,则键盘中无键按下。

然后判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

该系统采用4*4矩阵键盘,但是由于只用到部分按键,因此要将按键从矩阵键盘中分离出来,实现独立按键的功能。

该模块如图3-5所示。

图3-5矩阵键盘模块

3.4串口通信模块

单片机串行通信方式介绍

串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。

串行通信的特点:

传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。

51单片机内部有一个全双工串行接口。

一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

SBUF寄存器:

它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。

从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。

串行口控制寄存器SCON(见表3-2)。

表3-2串行口控制寄存器SCON

表中各位(从左至右为从高位到低位)含义如下。

SM0和SM1:

串行口工作方式控制位,其定义如表3-3所示。

表3-3串行口工作方式控制位

 其中,fOSC为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。

SM2:

多机通信控制位。

该仅用于方式2和方式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为数据,TB8=1时为地址。

RB8:

在方式2、3中,RB8是接收机接收到的第9位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。

TI:

串行口发送中断请求标志。

当CPU发送完一串行数据后,此时SBUF寄存器为空,硬件使TI置1,请求中断。

CPU响应中断后,由软件对TI清零。

RI:

串行口接收中断请求标志。

当串行口接收完一帧串行数据时,此时SBUF寄存器为满,硬件使RI置1,请求中断。

CPU响应中断后,用软件对RI清零。

电源控制寄存器PCON(见表3-4)。

 

表3-4PCON寄存器

表中各位(从左至右为从高位到低位)含义如下。

SMOD:

波特率加倍位。

SMOD=1,当串行口工作于方式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