武汉理工大学单片机课设Word文档下载推荐.docx
- 文档编号:21759580
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:50
- 大小:874.20KB
武汉理工大学单片机课设Word文档下载推荐.docx
《武汉理工大学单片机课设Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《武汉理工大学单片机课设Word文档下载推荐.docx(50页珍藏版)》请在冰豆网上搜索。
4)完成单片机最小系统和应用系统电路板的焊接;
5)对电路进行调试;
6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;
7)题目由指导教师提供;
8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;
9)写出实习报告,实习报告主要包括以下内容:
目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;
10)实习完成后通过答辩;
11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
实习地点
武汉理工大学信息工程学院通信实验室。
实习时间
2013年12月30日---2014年1月12日。
指导教师签名:
年月日
系主任(或责任教师)签名:
摘要
单片微型计算机简称单片机,又称为微型控制器,是微型计算机的一个重要分支。
随着电子技术的发展,大规模及超大规模集成电路和制造工艺的进一步提高,单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,广泛应用于控制系统、数据采集系统、智能化仪器表等领域。
单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。
本次课程设计包括STC89S52单片机最小系统包括复位和时钟电路及供电系统、4×
4矩阵键盘、独立8个8段LED数码管显示电路以及MAX232和RS-232标准串口构成的串口通信电路。
利用相关设计软件进行原理图设计利用Keil软件编程以及Proteus软件仿真借此巩固单片机应用、模拟电路、数字电路课程及学会各种工程软件的使用。
关键词:
单片机最小系统矩阵键盘仿真
Abstract
Asthesinglechipcomputer,alsoknownasmicrocontroller,isanimportantbranchofmicrocomputer.Withthedevelopmentofelectronictechnology,furtherimprovethelarge-scaleandultralargescaleintegratedcircuitandmanufacturingtechnology,singlechipwithaseriesofadvantagesofhighreliability,highperformance,lowvoltage,lowpowerconsumption,iswidelyappliedinthecontrolsystem,dataacquisitionsystem,intelligentinstrumentetc..MCUminimumsystemcircuitboardisverypopularintheSCMdevelopmentmarketandUndergraduateElectronicdesign.ThecurriculumdesignincludesSTC89S52minimumsystemmicrocontrollerincludesaresetandclockcircuitandpowersupplysystem,4*4matrixkeyboard,theindependent8LED8segmentdigitaltubedisplaycircuitandtheserialcommunicationofMAX232andRS-232standardserialport.UsingtheschematicdesignusingKeilsoftwareprogrammingandProteussoftwaresimulationtoconsolidatetheMCU,analogcircuit,digitalcircuitcourseandlearnallkindsofengineeringsoftwarebyusingdesignsoftware.
Keywords:
SCM,theminimumsystemconfiguration,keyboard,simulation
1系统总体设计
采用单片机控制。
利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的功能选择、数据输入、数据输出、串口通信等不同功能。
利用单片机丰富的I/O端口,及其控制的灵活性,有较大的活动空间,便于修改。
不但能实现基本的显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。
为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。
单片机控制实现方案框图,如下图所示。
图1.1单片机控制实现方案框图
单片机最小系统,是指用最小的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路、按键输入、显示输出等。
单片机接口电路主要用来连接计算机和其他外部设备。
2系统单元原理与设计
2.1系统硬件设计
2.1.1单片机控制模块设计
本设计中,采取单片机最小系统作为系统中的控制模块。
单片机最小系统,是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉、结构简单,常用来构成简单的控制系统。
图2.1单片机控制模块电路图
STC89C52的管脚结构图及管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
图2.2STC89C52管脚结构图
表2.1STC89C52部分引脚功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.1.1.1时钟电路
STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或8051单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
本设计主要是用内部振荡方式完成的[9]。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振频率,以19.2K波特率为例,19.2K波特率的晶振为
19200×
(256-0FDH)×
384×
2=11.0592(SMOD=1)
选用11.0592MHz只是为了得到精确的通信波特率,串口通信的可靠性高。
外接石英晶体及电容C2、C3接在放大器的反馈回路中构成并联谐振电路,起稳定振荡频率、快速起振的作用。
对外接电容C2、C3虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性,一般在20~60pF之间选择,本次采用22pF。
时钟电路设计图,如图2.3所示。
图2.3时钟电路设计图
2.1.1.2复位电路
单片机有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期以上的高电平,使器件复位,只要RST保持高电平,单片机保持复位状态[11]。
此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。
RST变为低电平后,退出复位,单片机从初始状态开始工作。
对于复位电路,本设计采用上电复位电路,由于89C51是高电平复位,因此通过在RESET端接一个电阻到地,并接一个电容到电源的方式完成上电复位,上电时电源给电容充电,电容导通,因此RESET脚就相当于连接到+5V电源,开始复位,当电容充电完成后,电容断开,RESET脚被下拉电阻钳位在低电平,则退出复位状态。
复位电路设计图,如图2-4所示。
复位电路连接图如下
图2.4复位电路设计图
单片机在启动运行时都需要进行复位操作,以便使CPU和系统中的其它部件都处于某一确定的初始状态,并从这个状态开始工作。
AT89C51单片机有一个引脚RST,它是施密特触发器的输入端,其输出端接复位电路的输入。
复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能完成复位操作。
复位之后,使ALE、PSEN、P0、P1、P2口的输出均为高电平(即为输入状态),复位后,内部寄存器的状态如表3、1所示。
RST变为低电平后,便又退出复位状态。
CPU从初始化工作,由状态表可知,复位后:
程序寄存器为0000H开始执行程序,内部RAM不受复位影响。
复位有电复位和按键手动复位两种。
按键手动复有电平方式和脉冲方式两种。
本次设计中,为方便人的操作,采用按键手动复位的按键电平复位。
其复位电路如下表示:
表2.2复位电路表
PC
0000H
TCON
00H
ACC
TL0
PSW
TH0
SP
07H
TL1
DPTR
TH1
P0-P3
0FFH
SCON
IP
XX000000H
SBUF
IE
0X000000H
PCON
不定
TMOD
0XXX0000B
2.1.2矩阵键盘调整模块设计
本设计中需要用到16个按键,矩阵键盘,由于单片机的内部上拉,按键没按下时,处于稳定的高电平,当有按键按下时,单片机可扫描检查到低电平。
而不会引起按键的误操作,提高按键电路的抗干扰能力。
电路原理如图所示。
图2.5矩阵键盘调整模块
其工作原理是从0列开始顺序行扫描即该行输出为0。
每扫描一行读入列线数据从0开始列检查找该行输出为0的列若无则顺序扫描下一行并检查其各列若找到某列线为0则该列与检查行交叉的按键为被按下的键。
需要注意的时,当按键按下和释放的瞬间都有抖动现象,一般来说,抖动的时间长短与键盘的机械特性有关,大约为5-10ms。
所以在实际编程时一定要注意键盘的去抖动。
键盘去抖动有专用的延时电路,也有专门的延时芯片,也可以用软件去抖,考虑到电路的难易程度,从简化硬件的角度,本次设计采用软件去抖动,用一个短延时程序,进行键盘去抖操作。
2.1.3数据管显示模块设计
本设计中采用六位一体共阴的数码管,数码管的位选信号即每个数码管的公共端,用单片机一组I/O口作为数据口向数码管发送数据信息,而用另一组I/O口对数码管进行位选,通过同相电平驱动芯片74HC573驱动,从而实现动态显示。
由于是共阴的数码管,因此当P2.0-P2.7输出为高电平时,数码管位选位被关闭,当P2.0-P2.7输出为低电平时,数码管位选位被打开。
前四个数码管分别接P2.0、P2.1用于显示序号;
后面分别接P2.2、P2.3、P2.4和P2.5,用于显示数值。
数码管显示电路图,如图2.6所示。
图2.6数据显示模块数码管部分
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果能够节省大量的I/O端口,而且功耗更低。
图2.7数据显示模块74HC573驱动部分
显示单元由两个4位8段共阴数码管组成,电路连接时,公共端接低电平,由于数码管内部二极管点亮时需要5mA以上的电流,而单片机的输出电流还不到1mA,所以数码管与单片机连接时需加驱动电路,可以使用上拉电阻的方法,也可以使用专门的驱动芯片,考虑到复用单片机I/O接口,节省单片机I/O资源,此次设计采用74HC573锁存器,其输出电流较大,电路接口简单且可直接驱动数码管显示。
74HC573的引脚分布图2.8如下。
图2.874HC573的引脚分布
:
为三态允许输入端(低电平有效),也可称作输出允许端;
1D-8D为数据输入端;
1Q-8Q为数据输出端;
LE为锁存允许端。
74HC573所对应真值表2.3如表。
表2.374HC573真值表
INPUT
OUTPUT
LED
Q
LHL
LLX
HXX
H
Q0
Z
由真值表可以看出,当为高电平时,无论LE与D端为何电平状态,其输出均为高阻态,此时芯片处于不可控状态。
做设计时必须使其处于可控状态,即应该接低电平。
当为低电平时,若LE为H,则D与Q同时为H或者L,数据实现直通传送;
而当LE为L时,无论D为何状态Q都保持上一次的数据状态,数据被锁存住,利用此特性即可实现对数码管的控制。
其中:
H—高电平;
L—低电平;
X—任意电平;
Z—高阻态,既不是高电平也不是低电平,其电平状态由与它相连接的其它电气状态决定;
Q0—上次的电平状态。
本次设计中:
段选信号LE接P1.5,对应图中标号P1.5;
位选信号LE接P1.6,对应图中标号P1.6。
控制显示时先给P1.5高电平,使通道打开,接着送字码,然后把P1.5电平拉低,使字码保持住;
之后打开P1.6(送高电平),紧接着送位码,控制要显示的位,然后把P1.6拉低,数据被保持。
最后延时5ms;
依次循环扫描;
利用数码管点亮后的余晖和人眼视觉暂留效应即可实现动态显示。
2.1.4串口通信模块设计
串口是计算机上一种非常通用设备通信的协议不要与通用串行总线UniversalSerialBus或者USB混淆。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议很多GPIB兼容的设备也带有RS-232口。
同时串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单串口按位bit发送和接收字节。
尽管比按字节byte的并行通信慢但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时规定设备线总常不得超过20米并且任意两个设备间的长度不得超过2米而对于串口而言长度可达1200米。
典型地串口用于ASCII码字符的传输。
通信使用3根线完成1地线2发送3接收。
由于串口通信是异步的端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
本次设计中采用MAX232电平转换芯片,其构成的串口通信电路原理图如下图所示。
图2.9串口通信电路
本串口通信电路的第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从11引脚(T1IN)、10引脚(T2IN)输入转换成RS-232数据从14脚(T1OUT)、7脚(T2OUT)送到电脑DB9插头;
DB9插头的RS-232数据从13引脚(R1IN)、8引脚(R2IN)输入转换成TTL/CMOS数据后从12引脚(R1OUT)、9引脚(R2OUT)输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)。
2.MAX232电平转换芯片
MAX232是电平转换芯片。
1970年美国电气学会规定“RS232”串口通信协议。
规定逻辑“1”-5—-15V逻辑“0”5—15V。
噪声容限为2V。
要实现利用串口与单片机进行通信就要进行电平转换把标准转化成单片机可以识别的。
MAX220–MAX249都是电平转换芯片在单片机最小系统中使用MAX232。
图2.10MAX232电平转换芯片引脚图
3.RS232接口
RS232接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即"
发送数据"
、"
接收数据"
和"
信号地"
即可传输数据,在此用于串口通信接口,其引脚图如下所示。
图2.11RS232接口引脚图
RS232的规范中,电压值在+3V~+15V(一般使用+6V)称为"
0"
或"
ON"
。
电压在-3V~-15V(一般使用-6V)称为"
1"
OFF"
;
RS232为全双工工作模式,其信号的电压是参考地线而得到的,可以同时进行数据的传送和接收。
引脚功能介绍和引脚图:
1数据载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备DTR5信号地GND6数据设备准备好DSR7请求发送RTS8清除发送CTS9振铃指示DELL
2.1.3系统整体设计电路图
图2.12RS232接口引脚图
本系统由单片机最小系统构成的控制模块、矩阵键盘模块、数码管显示模块、串口通信模块组成。
2.2系统软件设计
2.2.1系统主程序模块
在主程序模块中,需要完成对各参量和接口的初始化,通过调用键盘扫描程序,监控矩阵键盘的动作,通过调用功能选择程序,完成相应的功能。
程序流程如图所示。
图2.13系统主程序流程图
2.2.2功能选择模块
通过功能选择键,使得单片机处于不同的工作状态并通过数码管显示模块显示相应的内容;
可选择的功能包括:
数据输入、数据显示、串口通信。
图2.14功能选择程序模块流程图
2.2.3数据输入模块
通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。
数据输入过程为:
1)第一步输入序号0~9,表明输入的是第几个4位十进制数据;
2)第二步按下回车键,完成序号输入;
3)第三步输入最多4位的十进制数据;
4)第四步按下回车键,完成数据输入;
5)重复第一步,开始新数据的输入;
6)输入数据的显示格式是:
最左边是序号,然后是空格,之后是从右到左的最多4位十进制数;
7)若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。
图2.15数据输入程序流程图
2.2.4数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学 单片机