基于STC89C52单片机最小系统的设计

  • 格式:pdf
  • 大小:729.51 KB
  • 文档页数:8

基于STC89C52单⽚机最⼩系统的设计

基于STC89C52单⽚机最⼩系统的设计1 设计内容及要求

设计题⽬:基于STC89C52单⽚机最⼩系统的设计及制作。

设计要求:输⼊信号为传感器、电压、电流、开关等形式,单⽚机型号可以⾃⼰选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显⽰器等。(注:可以采⽤单⽚机、传感器电路模块以及集成电路芯⽚制作。)

使⽤器材:感光板及常⽤PCB制版器材、常⽤电⼦装配⼯具、万⽤表、⽰波器及电⼦元器件(详见附录)。2 STC89C52单⽚机

2.1 STC89C52单⽚机简介

单⽚微型计算机简称单⽚机,是典型的嵌⼊式微控制器(Microcontroller Unit),常⽤英⽂字母的缩写MCU表⽰单⽚机,它最早是被⽤在⼯业控制领域。单⽚机由芯⽚内仅有CPU的专⽤处理器发展⽽来。最早的设计理念是通过将⼤量外围设备和CPU集成在⼀个芯⽚中,使计算机系统更⼩,更容易集成进复杂的⽽对体积要求严格的控制设备当中。⽤专业语⾔讲,单⽚机就是在⼀块硅⽚上集成了微处理器、存储器及各种输⼊/输出接⼝的芯⽚。2.2 单⽚机的特点

(1)⾼集成度,体积⼩,⾼可靠性

单⽚机将各功能部件集成在⼀块晶体芯⽚上,集成度很⾼,体积⾃然是最⼩的。芯⽚本⾝是按⼯业测控环境要求设计的,内部布线很短,其抗⼯业噪声性能优于⼀般通⽤的CPU。单⽚机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在⼀个芯⽚内,故可靠性⾼。

(2)控制功能强

为了满⾜对控制对象的要求,单⽚机的指令系统均有极丰富的条件:分⽀转移能⼒、I/O⼝的逻辑操作机位处理能⼒,⾮常适⽤于专门的控制功能。

(3)低电压,低功耗,便于⽣产携带

为了便于⼴泛使⽤于便携式系统,许多单⽚机内的⼯作电压仅为 1.8V~3.6V,⼯作电流仅为数百微安。

(4)易扩展

⽚内具有计算机正常运⾏所需的部件。芯⽚外部有许多供扩展⽤的三总线及

并⾏、串⾏输⼊/输出管脚,很容易构成各种规模的计算机应⽤系统。

(5)优异的性能价格⽐

单⽚机的性能⾼。为提⾼速度和运⾏效率,单⽚机开始使⽤RISC流⽔线和DSP等技术。单⽚机的寻址能⼒也突破了64KB的限制,有的已达1MB,甚⾄16MB;⽚内的ROM容量可达62MB,RAM容量则可达2MB。由于单⽚机的⼴泛使⽤,因⽽销量极⼤,各⼤公司的商业竞争激烈,使其价格⼗分低廉,性能价格⽐极⾼。2.3 单⽚机的内部结构

⼀个基本的MCS-52单⽚机通常包括:中央处理器、ROM、RAM、定时/计数器和I/O⼝等各功能部件,各个功能由内部的总线连接起来,从⽽实现数据通信。其内部框图如图2-1所⽰。

图2-1 MCS单⽚机结构图2.4 单⽚机的引脚功能

常见的52系列单⽚机中⼀般采⽤双列直插(DIP)封装,共40个引脚。STC89C52共有40个引脚,采⽤的是双列直插(DIP)封装,如图2-2所⽰。其中的40个引脚⼤致可以分为4类:电源、时钟、控制和I/O引脚。

图2-2 STC89C52引脚分布图2.4.1 电源

(1)VCC:芯⽚电源端,⼀般为+5V;

(2)GND:接到端。2.4.2 时钟

(1)XTAL1:晶体振荡电路的反相输⼊端;

(2)XTAL2:晶体振荡电路的输出端。2.4.3 控制线

MCS-51单⽚机共有4根控制线,其中3根是复⽤线,具有两种功能。

_____________:地址所存允许/编程脉冲;

(1)ALE/PROG

(2)PSEN:外部ROM读选通信号;

(3)RST:复位引脚;

(4)EA:内外ROM选择/EPROM编程电源2.4.4 I/O引脚

MCS-51单⽚机共有4个8位并⾏I/O端⼝,共32个可编程I/O引脚。

(1)P0.0~P0.7:P0⼝是⼀个8位漏极开路的双向I/O⼝。作为输出⼝,每位能驱动8个个TTL逻辑电平。对P0端⼝写“1”时,引脚端⽤作⾼阻抗输⼊。当访问外部程序和数据存储器时,P0⼝也被作为低8位地址/数据复⽤。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0⼝也⽤来接收指令字

节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

(2)P1.0~P1.7:P1⼝是⼀个具有内部上拉电阻的8位双向I/O⼝,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端⼝写“1”时,内部上拉电阻把端⼝拉⾼,此时可以作为输⼊⼝使⽤。作为输⼊使⽤时,被外部拉低的引脚端由于内部电阻的原因,将输出电(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输⼊(P1.0/T2)和时器/计数器2的触发输⼊(P1.1/T2EX),具体如表2-1所⽰。在Flash编程和校验时,P1⼝接收低8位地址字节。表2-1P1⼝引脚端第⼆功能

(3)P2.0~P2.7:P2⼝是⼀个具有内部上拉电阻的8位双向I/O⼝,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端⼝写“1”时,内部上拉电阻把端⼝拉⾼,此时可以作为输⼊⼝使⽤。作为输⼊使⽤时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或⽤16位地址读取外部数据存储器(例如执⾏MOVX@DPTR)时,P2⼝送出⾼⼋位地址。在这种应⽤中,P2⼝使⽤很强的内部上拉发送1。在使⽤8位地址(如MOVX@RI)访问外部数据存储器时,P2⼝输出P2锁存器的内容。

在Flash编程和校验时,P2⼝也接收⾼8位地址字节和⼀些控制信号。

(4)P3.0~P3.7:P3⼝是⼀个具有内部上拉电阻的8位双向I/O⼝,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端⼝写“1”时,内部上拉电阻把端⼝拉⾼,此时可以作为输⼊⼝使⽤。作为输⼊使⽤时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3⼝亦作为STC89C52特殊功能(第⼆功能)使⽤,如表2-2所⽰。

在Flash编程和校验时,P3⼝也接收⼀些控制信号。

3 STC89C52构成的最⼩系统

单⽚机最⼩系统包括复位电路、时钟电路、电源电路、外围电路,其外围电路包括数码显⽰、液晶显⽰、键盘检测、串⼝测试等,如图3-1所⽰。

图3-1单⽚机外围电路3.1 单⽚机周边电路

STC89C52的外围电路如图3-2所⽰。

时钟电路采⽤频率是12MHz的⽯英晶振。在复位电路中当REST为低电平时,系统处于⼯作状态,当REST为⾼电平时系统处于复位或下载程序状态。STC89C52具有ISP在线编程功能,在程序下载过程中REST引脚被拉⾼,下载完毕后⾃动拉低进⼊运⾏状态,⽤户也可以通过按下S17进⾏⼿动复位。为⽅便以后的学习,最⼩系统将32个I/O引脚全部引出。

图3-2 单⽚机外围电路3.2 供电部分

单⽚机供电部分的原理图如图3-3所⽰。

系统供电采⽤标准的3.5mmDC接⼝输⼊,通过线性稳压芯⽚7805进⾏稳压处理以后,再供给电路的其他部分。为了⽅便起见,系统还将输⼊电源⽤排针引出,⽅便⽤杜拉线进⾏连接(“2脚”为正极)。电路中接⼊电源指⽰LED,R2为LED的限流电阻,SW1为电源开关。

图3-3最⼩系统供电部分原理图3.3 复位电路

单⽚机的置位和复位,都是为了把电路初始化到⼀个确定的状态,⼀般来说,单⽚机复位电路作⽤是把⼀个例如状态机初始化到空状态,⽽在单⽚机内部,复位的时候单⽚机是把⼀些寄存器以及存储设备装⼊⼚商预设的⼀个值。

单⽚机复位电路原理是在单⽚机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须⼤于单⽚机的两个机器周期。具体数值可以由RC电路计算出时间常数。

复位电路由按键复位和上电复位两部分组成。

(1)上电复位:STC89系列单⽚及为⾼电平复位,通常在复位引脚RESET 上连接⼀个电容到VCC,再连接⼀个电阻到GND,由此形成⼀个RC充放电回路保证单⽚机在上电时RESET脚上有⾜够时间的⾼电平进⾏复位,随后回归到低电平进⼊正常⼯作状态,这个电阻和电容的典型值为10K和10uF。

(2)按键复位:按键复位就是在复位电容上并联⼀个开关,当开关按下时电容被放电、RST也被拉到⾼电平,⽽且由于电容的充电,会保持⼀段时间的⾼电平来使单⽚机复位。

复位电路如图3-4所⽰。

图3-4 复位电路3.4 串⾏⼝部分

RS-232是串⼝的接⼝标准,为单端输⼊/输出,要实现与单⽚机的通信,需将计算机的RS-232电平与单⽚机的TTL电平相互转换。采⽤MAX232电源电压转换芯⽚,可以把TTL电平从0V和5V转换到3V~15V或-3V~ -15V之间。所以采⽤此芯⽚接⼝的串⾏通信系统只需要单⼀的+5V电源就可以了。

数据传输过程:MAX232的10脚T2IN接单⽚机的TXD端P3.1,TTLdiaper 从单⽚机的TXD端发出,经过MAX232转换为RS-232电平后从MAX232的7脚T2OUT发出,再经过交叉串⼝线连接到计算机RXD端,计算机⼿段数据。PC机发送数据时从PC机串⼝的TXD端发出数据,再逆向流向单⽚机的RXD 端P3.0接收数据。MAX232引脚如图3-5所⽰。

串⾏⼝部分电路图如图3-6所⽰。

图3-5 MAX232引脚分布图

图3-6 串⾏⼝部分电路原理图3.5 按键部分

按键部分电路采⽤4*4矩阵式键盘,在修改时钟或设置闹钟时间可以直接从键盘输⼊,⽅便、快捷。⽽独⽴式按键需设置过多按键,将会占⽤较多I/O⼝,⽽且会给布线带来不便,因此,此⽅案适⽤于按键较少的情况。且由于按键较少,在修改时间或设置闹铃时间时就不能直接输⼊,只能通过加或减完成,较为⿇烦。

单⽚机检测按键的依据是与按键对应的I/O⼝是否为低电平。检测时,先给⼀列送低电平,其余⼏列全为⾼电平,然后⽴即轮流检测⼀次各⾏是否有低电平,若检测到某⼀⾏为低电平就可以确认是按下哪⼀⾏哪⼀列的按键。

按键部分原理图如图3-7所⽰。

图3-7 按键部分电路原理图3.6 液晶显⽰部分

液晶显⽰器的主要原理是以电流刺激液晶分⼦产⽣点、线、⾯并配合北部灯管构成画⾯。各种型号的液晶通常是按照显⽰字符的⾏数或液晶点阵的⾏、列数来命名的,液晶体积⼩、功耗低、显⽰操作简单,但应注意考虑其能承受的温度范围。1602液晶每⾏显⽰16个字符,⼀共可以显⽰两⾏,由16列、2⾏组成。

液晶显⽰的电路原理图如图3-8所⽰。

图3-8 液晶显⽰电路原理图3.7 时钟振荡电路部分

时钟是单⽚机的⼼脏,单⽚机各功能部件的运⾏都是以时钟频率为基准,有条不紊的⼀拍⼀拍地⼯作。因此,时钟频率直接影响单⽚机的速度,时钟电路的质量也直接影响单⽚机系统的稳定性。常⽤的时钟电路有两种⽅式:⼀种是内部时钟⽅式,另⼀种为外部时钟⽅式。STC89C52使⽤11.0592MHz的晶体振荡器作为振荡源,由于单⽚机内部带有

振荡电路。所以外部只要连接⼀个晶振和两个电容即可,电容容量⼀般在15pF ⾄50pF之间。时钟振荡电路如图3-9所⽰。

图3-9 时钟振荡电路原理图MCS-51单⽚机内部有⼀个⽤于构成振荡器的⾼增益反相放⼤器,该⾼增益反向放⼤器的输⼊端为芯⽚引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接⽯英晶体振荡器和微调电容,就构成⼀个稳定的⾃激振荡器。

图3-10为DS1302实时时钟电路原理图。

图3-10 DS1302实时时钟原理图3.8 温度检测部分