3.基本原理及总体框图
3.1总体设计思想
本次课程设计是基于单片机最小系统进行功能扩展及实现的,单片机的最小系统是指用最少的原件组成的单片机可以工作的系统,对于51系列的单片机,最小系统必备的条件是需要ROM存储程序,需要RAM保存中间数据,需要时钟、电源和复位。由于51系列单片机片内有ROM和RAM,只需要外接晶振电路、复位电路即可构成单片机的最小系统电路。单片机的接口电路主要用来连接计算机和其他外部设备。
根据设计要求可知本次设计主要需要扩展的功能有,数码管显示,键盘电路,串行通信三个模块。由此可以得出本次硬件设计的原路框图,如图3.1所示。
晶振电路 复位电路 图3.1 硬件设计原理框图
数码管显示 STC89C52 矩阵键盘 串口 说明:STC89C52与复位电路、晶振电路再加上电源就可以构成单片机最小系统,这是单片机可以工作的最小系统。矩阵键盘用于作为数据输入键和系统控制功能键,包括输入数字0—9,数据输入、数据显示、串口通信键及回车、清除、清零键。6位数码管显示电路用于输入时显示输入输出数据,在串口通信功能中显示发送的数字。串口下载电路用于将单片机通过USB转串口线与电脑连接,向单片机写入编好的程序,方便调试。
4
3.2 STC89C52引脚及功能介绍
STC89C52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33M之间。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V到5.5V宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插DIP-40的封装。STC89C52引脚图如图3.2:
图3.2 STC89C52引脚图 STC89C52芯片共40引脚,各引脚功能如下: VCC(40引脚):电源电压 VSS(20引脚):接地 RST复位端
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,
5
可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。P0端口需要外加上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。
P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2送出高8位地址。
P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。P3口除作为一般I/O口外,还有其他一些复用功能。
6
4.硬件电路原理及设计说明
4.1复位和时钟系统
复位和时钟是单片机系统的必要组成部分,控制单片机的机器周期和功能复位。简单地说,单片机的额复位就和计算机的重新启动是一样的概念,任何单片机在工作之前都要进行复位的过程,复位对单片机来说,是程序还没有开始执行时在做准备工作或单片机已经工作实现重新启动。
如何进行复位呢?只要在单片机的RST引脚上加上高电平持续大概5ms,直至系统电源稳定后,撤销复位信号。为了达到这个要求,需要在外部设计复位电路。复位电路的实现可以用很多种方法。但是从功能上一般分为两种:一种是电源复位,即外部的复位电路在系统通上电源之后直接是单片机复位的电路,为了可靠起见。电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位;另一种是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。复位电路由按键复位和上电复位两部分组成。
(1)上电复位
STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
(2)按键复位
按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。电路图如图4.1所示
7
图4.1 复位电路
单片机为什么要用晶振?简单地说,没有晶振,就没有时钟周期,没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。单片机工作时,是一条一条地从ROM或Flash中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,就是一个时间基准。传统的C51单片机的一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。
在51单片机内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式,根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式。
在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路。STC89C51使用11.0592MHz的晶体振荡器作为振荡源由于单片机内部带有振荡电路所以外部只要连接一个晶振和两个电容即可电容容量一般在15pF至50pF之间。其电路原理图如4.2所示。对于外接时钟电路,要求在XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于单片机要求的最高频率即可。外部时钟多采用有源晶振或从其他器件出入所需的时钟信号。
8
单片机原理与应用毕业论文-单片机c语言毕业论文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)