西南科技大学本科生毕业论文
IN1 X 1 0 0 1 IN2 X 0 1 0 1
表 3-2 L298 逻辑功能
ENA 0 1 1 0 0 电机状态 停止 顺时针 逆时针 停止 停止 3.3 控制器AT89S52简介
3.3.1 AT89S52的主要性能
AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程, 亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。与 MCS-51 单片机产品兼容; 8K 字节在系统可编程 Flash 存储器; 1000 次擦写周期; 全静态操作: 0Hz~33Hz; 三级加密程序存储器; 32 个可编程 I/O 口线;三个 16 位定时器/计数器;六个中断源;全双工 UART 串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符。
AT89S52 有 6 个中断源:两个外部中断 (INT0 和 INT1) , 三个定时中断 (定 时器 0、1、2)和一个串行中断。这些中断每个中断源都可以通过置位或清除特殊寄存器 IE 中的相关中断允许控制位分别使得中断源有效或无效。 IE 还包括一个中断允许总控制位 EA,它能一次禁止所有中断。AT89S52 内部具有看门狗定时器及 3 个 16 位可编程定时器/计数器。 16 位是指他们都是由 16 个触发器构成,故最大计数模值为 1216。可编程是指它们的工作方式由指令来设置,或者当计数器用,或者当定时器用,并且记数(定时)的范围也可以由指令来设置。这种控制功能是通过定时
16
西南科技大学本科生毕业论文
器方式控制器TMOD 来完成的。
存储器结构:MCS-51 器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以 64K 寻址。程序存储器:如果 EA 引脚接地,程序读取只从外部存储器开始。对于AT89S52,如果 EA 接 VCC,程序读写先从内部存储器(地址为 0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。数据存储器:AT89S52 有 256 字节片内数据存储器。 3.3.2 AT89S52的引脚功能介绍
图 3-6 AT89S52 单片机各引脚
VCC:AT89S52 电源正端输入,接+5V。 VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1 和XTAL2 上
17
西南科技大学本科生毕业论文
接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一个20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:AT89S52 的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间, AT89S52 便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址 0000H 处开始读入程序代码而执行程序。
EA/Vpp:\为英文\的缩写,表示存取外部程序代码之意,低电平动作, 也就是说当此引脚接低电平后, 系统会取用外部的程序代码 (存于外部EPROM 中)来执行程序。因此在 8031 及 8032 中, EA 引脚必须接低电平, 因为其内部无程序存储器空间。如果是使用8751 内部程序空间时, 此引脚要接成高电平。 此外,在将程序代码烧录至 8751 内部 EPROM 时, 可以利用此引脚来输入 21V的烧录高压(Vpp) 。
ALE/PROG:ALE 是英文\Latch Enable\的缩写,表示地址锁存器启用信号。AT89S52 可以利用这支引脚来触发外部的 8 位锁存器(如 74LS373) ,将端口 0的地址总线(A0~A7) 锁进锁存器中, 因为 AT89S52 是以多工的方式送出地址及数据。平时在程序执行时 ALE 引脚的输出频率约是系统工作频率的 1/6,因可以用来驱动其他周边晶片的时基输入。此外在烧录 8751 程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:此为\Store Enable\的缩写,其意为程序储存启用,当 8051 被设成为读取外部程序代码工作模式时(EA=0) ,会送出信号以便取得程序代码,通常这支脚是接到 EPROM 的 OE 脚。AT89S52 可以利用 PSEN 及 RD 引脚分别启用存在外部的 RAM 与 EPROM, 使得数据存储器与程序存储器可以合并在一起而共用64K 的定址范围。
PORT0(P0.0~P0.7):端口 0 是一个 8 位宽的开路汲极(Open Drain)双向输出入端口,共有 8个位,P0.0 表示位 0,P0.1 表示位 1,依此类推。其他三个 I/O 端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0 在当做 I/O 用时可以推动 8 个 LS 的 TTL 负载。如果当 EA 引脚为低电平时 (即取用外部程序代码或数据存储器) ,P0 就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7) 。设计者必须外加一锁存器将端口 0 送出的地址栓锁住成为 A0~A7,再配合端口 2所送出的 A8~A15 合成一完整的 16 位地址总线,而定址到 64K 的外部存
18
西南科技大学本科生毕业论文
储器空间。
PORT2(P2.0~P2.7):端口 2 是具有内部提升电路的双向 I/O 端口,每一个引脚可以推动 4 个 LS的 TTL 负载, 若将端口 2 的输出设为高电平时, 端口便能当成输入端口来使用。P2 除了当做一般 I/O 端口使用外,若是在 AT89S52 扩充外接程序存储器或数据存储器时,也提供地址总线的高字节 A8~A15,这个时候 P2 便不能当做 I/O 来使用了。
PORT1(P1.0~P1.7):端口 1 也是具有内部提升电路的双向 I/O 端口,其输出缓冲器可以推动 4个 LS TTL 负载,同样地若将端口 1 的输出设为高电平,便是由端口来输入数据。如果是使用 8052 或是 8032 的话,P1.0 又当做定时器 2 的外部脉输入脚,而 P1.1 可以有 T2EX 功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):端口 3 也具有内部提升电路的双向 I/O 端口,其输出缓冲器可以推动 4 个TTL 负载,同时还多工具有其他的额外特殊功能, 包括串行通信、 外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下: 序号 1 2 3 4 5 6 7 8 引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 说明 RXD,串行通信输入。 TXD,串行通信输出。 INT0,外部中断 0 输入。 INT1,外部中断 1 输入。 T0,计时计数器 0 输入。 T1,计时计数器 1 输入。 WR:外部数据存储器的写入信号。 RD,外部数据存储器的读取信号。 表3.3 端口3引脚分配表
19
西南科技大学本科生毕业论文
3.4 键盘输入模块
键盘是一种最常用的输入设备,它是一组按键的集合,从功能上可分为数字键和功能键两种, 作用是输入数据与命令, 查询和控制系统的工作状态, 实现简单的人机对话。
键盘的分类:
(1) 键盘按照接口原理可分为编码键盘与非编码键盘两类。 这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别;非编码键盘主要是由软件来实现键盘的定义与识别。
(2) 键盘按照其结构可分为独立式键盘与矩阵式键盘两类。
独立式键盘主要用于按键较少的场合,矩阵式键盘主要用于按键较多的场合,也称行列式键盘。独立式键盘的按键相互独立, 每个按键接一根 I/O 口线,一根 I/O 口线上的按键工作状态不会影响其它 I/O 口线的工作状态。因此, 通过检测 I/O 口线的电平状态,即可判断键盘上哪个键被按下,本设计中有四个独立式按键, 分别控制电机的加速、减速、正反转、停止。
3.5 LCD液晶显示模块
3.5.1 LCD液晶简介
液晶显示器件(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能像西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。本设计所选择的LCD是AMPIRE128×64的汉字图形型液晶显示模块,可显示汉字及图形,图形液晶显示显示器接口如图3-7所示。
20