LED显示屏控制卡实用技术与制作(第二篇)_第1页
LED显示屏控制卡实用技术与制作(第二篇)_第2页
LED显示屏控制卡实用技术与制作(第二篇)_第3页
LED显示屏控制卡实用技术与制作(第二篇)_第4页
LED显示屏控制卡实用技术与制作(第二篇)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第 4 章单片机应用功能介绍4.1 单片机中断系统介绍4.1.1 中断系统结构在 CPU 和外设交换信息时,存在着快速 CPU 和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通常采用中断技术。中断 CPU 和外设并行工作,当外设数据准备好( 或有某种突发事件发生)时向 CPU提出请求,CPU 暂停正在执行的程序转而为该外设服务(或处 理紧急事件),处理完毕再回到原断点继续执行原程序。中断源 引起中断的原因,中断申请的来源,中断源可以是 I/O 设备、故障、时钟、调试中人为设置。中断优先级 当有多个中断源同时 向 CPU 申请中断时,CPU 优先响应最需紧急处理的中断请求,

2、处理完毕再响应优先级别较低的 ,这种预先安排的响应次序。中断的嵌套 在中断系统中,高优先级的 中断请求能中断正在进行的较低级的中断源处理,8XX51 有 5个中断源,3个在片内,2个在片外,它们在程序存贮器中有固定的中断入口地址, 当 CPU 响应中断时,硬件自动形成这些地址,由此进入中断服务程序;5 个中断源有两级中断优先级,可形式中断嵌套。1.中断源8XX51 有 5个中断源,其符号、名称、产生条件及中断服务程序的入口地址如表 4-1。表 4-1中断服务程串行通信完成一帧数据发送或接收引起中断2. 中断控制的有关寄存器(1)中断的允许和禁止中断控制寄存器 IEIE 寄存器的各位对应相应的中

3、断源,如果允许该中断源中断则该位置 1,禁止中断则该1 位置 0 。EA表 4-2T0允/禁INT0允/禁允/禁 允/禁允/禁允/禁EA:中断总控开关,是 CPU 是否响应中断的前提。EA=1,CPU 开中断;EA=0, CPU 关中断。ES: 串行口中断允许位,ES=1,允许串行口发送/接收中断;ES=0,禁止串行口中断。ET1:定时器 T1中断允许位,ET1=1,允许 T1 计数溢出中断;ET1=0,禁止 T1 中断。ET0: 定时器 T0 中断允许位,ET0=1,允许 T1计数溢出中断;ET0=0,禁止 T0中断。EX1: 外部中断 INT1 允许位,EX1=1,允许 INT1 中断;E

4、X1= 0,禁止 INT1中断。EX0: 外部中断 INT0 允许位,EX0=1,允许 INT0 中断;EX0= 0,禁止 INT0 中断。(2)中断请求标志及外部中断方式选择寄存器 TCON表 4-3IE1INT1请求INT0 INT0方式下沿/低电平有/无下沿/ 低电平说明: IT0 和 IT1 为外中断 INT0 和 INT1中断触发方式选择,若选下降沿触发则相应位置1;若选低电平触发 ,IT相应位置 0。 某中断源有中断请求,该中断标志置 1,无中断请求,该中断标志置 0TR0 和 TR1 为定时器 T0 和 T1 工作启动和停止控制。(3)中断优先级管理寄存器 IP五个中断源的优先级

5、别由 IP 寄存器管理,相应位置 1,则该中断源优先级别高,置 02 的优先级别低。- -高/低高/低高/低高/低高/低当 某几个中断源在 IP 寄存器相应位同为 1 或同为零时,由内部查询确定优先级,查询的顺序是:INT0 T0 INT1 T1 串行口 。3.中断系统结构如图 4-1所示图 4-14. 中断响应过程(1)中断处理过程中断处理过程分为四个阶段:中断请求,中断响应,中断处理、中断返回。 MCS51系列单 片机的中断过程流程如图所示。中断请求、中断响应过程由硬件完成。中断服务程序应根据需要进行编写。程序中要注意保护现场和恢复现场。中断返回是通过执行一条 RETI 中断返回指令,使堆

6、栈中被压入的断 点地址送 PC,从而返回主程序的断点继续执行主程序。另外 RETI 还有恢复优先级状态触发器 的作用,因此不能以 RET 指令代替“RETI”指令。若某个中断源通过编程设置,处于被打开的状态,并满足中断响应的条件,然而下面三种情况单片机不响应此中断:当前正在执行的那条指令没执行完;当前响应了同级或高级中断;正在操作 IE、IP中断控制寄存器或执行 RETI指令。3 在正常的情况下,从中断请求信号有效开始,到中断得到响应,通常需要 3 个机器周期到 8个机器周期。(2)中断请求的撤除CPU 响应中断后,应撤除该中断请求标志,否则会再次中断。对定时计数器 T0、T1的溢出中断,CP

7、U 响应中断后,硬件自动清除中断请求标志 TF0和 TF1。对边沿触发的外部中断 INT1和 INT0,CPU响应中断后硬件自动清除中断请求标志 IE0和 IE1。对于串行口中断,CPU 响应中断后,没有用硬件清除中断请求标志 TI、RI,即这些中断标志 不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。对电平触发的外部中断,CPU 在响应中断时也不会自动清除中断标志,因此,在 CPU响应中断后应立即撤除 INT1或 INT0的低电平信号。4.1.2 中断系统的应用1.中断技术是实时控制中的常用技术,51系列单片机有三个内部中断,二个外部中断。所谓外部中断就是在外部引脚上有产

8、生中断所需要的信号。每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。当 CPU 响应中断以后单片机内部硬件保证它能自动的跳转到该地址。因此,此地址是应该熟记的,在汇编程序中,中断服务程序应存放在正确的向量地址内,(或存放一条转移指令)。2.单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器 IE,中断优先权寄存器 IP ,必须在 CPU 开中断即开全局中断开关 EA,开各中断源的中断开关,CPU 才能响应该中断源的中断请求,其中缺一不可。3.从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌握中断响应的过程,才能理解中断的发生和返回,看得懂中断程序,并能编写高

9、质量中断程序。4.本章重点应掌握中断的基本概念,中断程序的具体应用将在 3.11.7 中再继续讨论。4.2 定时/计数器功能4.2.1 8051 定时/计数器结构和工作原理51系列单片机片内有二个十六位定时/计数器:定时器 0(T0)和定时器 1(T1)。两个定时器都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合定时/计数器实际上是 16 位加 1计数器。T0 由 2个 8 位持殊功能寄存器 TH0和 TL0构成,T1 由 2个 8 位持殊功能寄存 TH1和 TL1构成。每个定时器都可由软件设置为定时工作方式或计数工作方式。T0 和 T1受特殊功能寄存器 TMOD和

10、TCON 控制。1. 定时器工作方式4 设置为定时工作方式时,定时器计数的脉冲是由 51 单片机片内振荡器经 12 分频后产生的。(定时器又分四种工作方式,3.10.3 讨论)每经过一个机器周期定时器(T0 或 T1)的数值加 1直至计数满产生溢出。如:当 8051 采用 12MHz晶体时,每个机器周期为 1 s,计 5 个机器周期即为 5 s,即定时 5 s 。2. 计数器工作方式设置为计数工作方式时,通过引脚 T0(P34)和 T1(P35)对外部脉冲信号计数。当输入脉冲信号产生由 1 至 0 的下降沿时,定时器的值加 1, 在每个机器周期 CPU采样 T0和 T1的输入电平。若前一个机器

11、周期采样值为高,下一个机器周期采样值为低,则计数器加 1。由于检测一个 1 至 0 的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。4.2.2 定时计数器的控制寄存器定时器共有两个控制寄存器:定时器控制 TCON(88H)定时器工作模式寄存器 TMOD(89H)1. 工作模式寄存器 TMOD(89H)TMOD 用于控制 T0和 T1的操作模式。其各位的定义如下:定时器T1定时器T0D0(89H) GATE C/TM1M0 GATE C/TM1M0 GATE:门

12、控信号GATE=0,TRx=1 时即可启动定时器工作 ;GATE=1,INTx=1 才可启动定时器工作。 C/T:定时器/计数器选择位C/T=1,为计数器方式;C/T=0,为定时器方式。工作模式选择位 M1 M0M1M0=00M1M0=01M1M0=10M1M0=11工作方式 0(13位方式)。工作方式 1(16位方式)。工作方式 2(8位自动再装入方式)。工作方式 3(T0为 2个 8位方式)。5 2. 控制寄存器 TCON(88H)TR1请求有/无 工作启/ 请求有/无 工作启/停 请求有/无 方式下沿/ 请求有/无 方式下沿/停低电平 低电平TCON 寄存器中定时器控制 仅用了其中高四位

13、,其意义如下:TF1:T1溢出中断请求标志。TF1=1,T1有溢出中断请求。TF1=0,T1无溢出中断请求。TR1:T1运行控制位。TR1=1,启动 T1 工作。TR1=0,停止 T1 工作。TF0:T0溢出中断请求标志。TF0=1,T0有溢出中断请求。TF0=0,T0无溢出中断请求。TR0:T0运行控制位。TR0=1,启动 T0 工作。TR0=0,停止 T0 工作。4.2.3定时器的四种工作方式对 TMOD 寄存器的 M1、M0 位的设置,可选择四种工作方式,即方式 0、方式 1、方式 2和方式 3。下面用 THX、TLX(X=1或 0)表示 TH1 TL1 TH0 TL0。1.方式 0定时

14、器(T0 或 T1)工作于 13位定时、计数方式。用于计数方式时最大计数值为 213 8192 个脉冲。用于定时工作时,定时时间为:t(213 一 T0 初值) 时钟周期12在这种模式下,16 寄存器(THX 和 TLX)只用 13位,其中 THX 占高 8 位。其中 TLX占低 5 位, TLX 的高 3位末用。当 TLX 的低 5位溢出时向 THX进位,而 THX溢出时硬件置位 TF0,并申请中断。定时、计数溢出否可查询 TF0 是否置位,如果开中断则产生溢出中断。2 .方式 1当 TMOD 中 M1M0=01时,定时计数器工作在方式 1。该模式是一个 16位定时计数方式。寄存器 TH0

15、和 TL0 是以全 16 位参与操作,计数方式时最大计数 21665536(个外部脉冲) 。用于定时工作方式时,定时时间为:t(216 一 T0初值) 时钟周期12 16 寄存器(THX 和 TLX) 中 THX 提供高 8 位、TLX提供低 8 位计数初值6 3. 方式 2当 TMOD 中 M1M0=10时,定时器工作在方式 2。方式 2是 8位的可自动重装载的定时计数方式。16 位的计数器被拆成两个 8 位,其中 TL0用作 8位计数器, TH0用以保持计数初值。当 TL0 计数溢出,置位 TF0,TH0中的初值自动装入 TL0,继续计数,循环重复计数。用于计数工作方式时,最大计数值为:2

16、8256(个外部脉冲)。用于定时工作方式时,其定时时间为;t(28TH0初值)振荡周期12这种工作方式可省去用户重装常数的程序,并可产生精确的定时时间,特别适用作串行口波待率发生器。4.方式 3当 TMOD 中 M1M0=11时,定时器工作在方式 3。若将 T0 设置为模式 3,TL0 和 TH0被分成为两个互相独立的 8位计数器 TH0和 TL0 。 TL0 可工作为定时方式或计数方式。占用原 T0的各控制位、引脚和中断源。即 CT、GATE、TR0、TF0 和 T0 (P3.4)引脚、INT0 (P3.2)引脚。TH0 只可用作定时功能,占用定时器 T1 的控制位 TR1 和 T1 的中断

17、标志位 TF1,其启动和关闭仅受 TRl 的控制。定时器 T1 无模式 3, 可工作于方式 0、1、2,但不能使用中断方式。 只有将 T1 用做串行口的波特率发生器时,T0 才工作在方式 3,以便增加一个定时器。小结定时计数器应用非常广泛,如定时采样、时间测量、产生音响、作脉冲源、制作日历时钟、测量波形的频率和占空比、检测电机转速等。因此应很好掌握。定时和计数实质都是对脉冲的计数,只是被计脉冲的来源不同,定时方式的被计脉冲来源于时钟,计数方式的被计脉冲来源于外部,定时方式的计数初值和被计脉冲周期有关,计数方式的和被计脉冲的个数有关。无论定时还是计数,当计满规定的脉冲个数产生溢出(计数初值寄存器

18、回零),置位 TFx ,可以通过程序查询,如果允许中断,会产生中断。7 4.3 串行口及串口通信4.3.1 概述单片机应用与数据采集或远距离控制等,往往作为前端机安装在作业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。数据通信方式有两种:并行通信与串行通信,见图 4-2。并行通信:所传送数据的各位同时发送或接收,数据有多少位就需要多少根数据线。特点:速度快,成本高,适合近距离传输,如计算机并口打印机、8255 扩展等。串行通信:所传送数据的各位按顺序一位一位地发送或接收。只需一根数据,一根地线,共 2 根(如双向通信发送和接收各需 1 根数据线,共

19、3 根。)特点:成本低,硬件方便,适合远距离通信,传输速度低。图 4-24.3.2 通信的分类和基本任务1.同步通信图 4-3在同步通信中,发送方在数据或字符开始处就用同步字符(常约定 12 个字节)指示一帧的开始 ,由时钟来实现发送端和接收端同步,接收方一旦检测到与规定的同步字符符合,下面就连续按顺序传送若干个数据 ,最后发校验字节。见图 4-3。2.异步通信通信的双方应该有一个约定,什么时候开始发送,什么时候发送完毕;接收方收到的信息是否正确等,这就是通信协议。8 异步串行通信一帧数据格式:一个起始位 “0”,表示字符的开始,然后是 18 位数据即该字符的代码,规定低位在前,高位在后,接下

20、来是奇偶校验位(可省略),最后以停止位“1”表示字符的结束。见图 3-9。第n个字符(一帧)n+1P0 D0 D1 D2 D3 D4 D5 D6 D71 0 D01P起校 停验始位止数据位(18位)位 位图 4-43.单工、半双工、全双工通信方式按通信方向分类:单工、半双工、全双工通信方式(1)单工方式: 一端是发送端,另外一端是接收端:(2)半双工方式: 每端口有一个发送器和一个接收器,通过开关连接在线路上,数据可以双向传送,但不能同时发送和接收. 要通过换向器转换方向。(3)全双工方式: 通信双方用两个独立的收发器单独连接,可以同时发送和接收数据,因而提高了速度。在串行传输中,通信的双方都

21、按通信协议进行,所谓通信协议就是通信双方必须共同遵守的 一种约定,约定包括数据的格式、同步的方式、传送的步骤、检纠错方式及控制字符的定义等。4.串行接口的基本任务就是:(1)实现数据格式化。因为 CPU 发出的数据是并行数据,接口电路应实现不同串行通信方式下的数据格式化任务, 如自动生成起止方式的帧数据格式(异步方式)或在待传送的数据块前加上同步字符等。(2)进行串、并转换在发送端,接口将 CPU 送来的并行信号转换成串行数据进行传送;而在接收端,接口要将接 收到串行数据变成并行数据送往 CPU,由 CPU 进行处理。(3)控制数据的传输速率。接口应具备对数据传输率波特率的控制选择能力,即具有

22、波特率发生器。5.进行传送错误检测。在发送时,对传送的数据自动生成校验位或校验码,在接收端能检查校验位或校验 码,以确定传送中是否有误码。51 系列单片机内有一个全双工的异步通信接口,通过对串行接口写控制字可以选择其数据格 式,同时内部有波特率发生器,提供可选的波特率,可完成双机通信或多机通信。9 4.3.3 波特率单位时间内传送的信息量。在计算机中,以每秒传送的二进制位数为单位。例如:100 字符/秒,1个字符 11位,波特率为:10011=1100(波特)平均每位传送占用时间Td = 1/1100=0.909ms4.3.4 串行通信总线标准及接口1.通信线的连接通信速率和通信距离这两个方面

23、是相互制约的,降低通信速率,可以提高通信距离.不同的通信距离,串行通信电路有不同的连接方法,见图 4-5。RXDTXDGNDRXDTXDGND(a)较远距离传送电路微机其他设备微机RXDTXDRXDTXDRXDTXDGNDRXDTXDGNDGNDGND(b)远距离传送电路电话分机微机10 图 4-5(c)2.串行通信接口总线标准及应用测控系统中,计算机通信主要采用异步串行通信方式,常用的异步总线标准有三种:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS42220mA 电流环RS423RS485)这里重点介绍 RS-232 C(1)采用负逻辑:“1” 5V 1

24、5V“0” +5V + 15V(2)不带负载时输出电平:25V +25V(3)输出短路电流:(4)最大负载电容: 0.5A2500pF当计算机采用 RS232 标准时必须通过电平,MAX232 是 EIA和 TTL电平转换芯片。内部具有电压提升电路,并有两路接收器和发送器。其连线和引脚及应用方法将在第 6 章介绍。4.3.5 单片机串行口的结构与工作原理51单片机有一个可编程的全双工异步串行通信接口,它可作UART 用,也可作同步移位寄存器,其帧格式可有 8位、10 位或 l l 位,并能设置各种波特率,给使用者带来很大的灵活性。1.串行口的内部结构5 l 单片机通过引脚 RXD(P3.0)串

25、行数据接收端)和引脚 TXD(P3.l)串行数据发送端)与外界进行通信。有两个物理上独立的接收、发送缓冲器 SBUF,它们占用同一地址 99H,可同时发送、接收数据。 发送缓冲器只能写入,不能读出,CPU写 SBUF,一方面修改发送寄存器,同时启动数据串行发送; 接收缓冲器只能读出、不能写入。读 SBUF,就是读接收寄存器。串行控制寄存器SCON,用以存 放串行口的控制和状态信息。8XX51 串行口正是通过对上述专用寄存器的设置、检测与读取 来管理串行通信的。特殊功能寄存器 PCON 的最高位 SMOD为串行口波特率的倍增控制位。波特率发生器可以有两种选择:(1)定时器 T1 作波特率发生器,

26、改变计数初值就可以改变串行通信的速率,称为可变波特率。(2)以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率2.串行通信的传送过程见图 3-11 甲方发送时,CPU 执行指令 MOV SBUF , A 启动了发送过程,数据并行送入SBUF ,在发送时钟 shift 的控制下由低位到高位一位一位发送,乙方在接收时钟 shift 的控制下由低位到高位顺序进入移位寄存器 SBUF ,甲方一帧数据发送完毕,置位发送中断标11 志 TI,该位可作为查询标志(或引起中断),CPU 可再发送下一帧数据 。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志 RI,该位可作为查询标志(或引起接

27、收中断),通过 MOV A ,SBUF CPU 将这帧数据并行读入。由上述可知:甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。发送方是先发数据再查标志,接收方是先查标志再收数据。乙方 (接收)甲方(发送)MOV SBUF , AMOV A, SBUFSBUFSBUFshiftshift图4-6SM0.SM1:串行口工作方式控制位。0 0-方式 0,0 1-方式 11 1-方式 31 0-方式 2,REN:串行接收允许位。0-禁止接收, 1-允许接收TB8: 在方式 2,3 中,TB8 是发送机要发送的第 9 位数据。RB8:在方式 2, 3 中, RB8 是接受机收到

28、的第 9位数据, 该数据来自发送机的 TB8。TI: 发送中断标志位。发送前必须用软件清零,发送过程中 TI 保持零电平,发送完一帧数据后,由硬件置 “1”,如果再发送,必须用软件再清零。RI: 接收中断标志位。接收前,必须用软件清零,接收过程中 RI保持零电平,接收完一帧数据后由片内硬件自动置“1”。如果再接收必须用软件清零。SM2:多机通信控制位,仅用于方式 2和方式 3。当选择方式 2或方式 3时,发送机设置SM2=1, 以发送第九位 TB8为 1 作为地址帧寻找从机,以 TB8为 0作为数据帧进行通信,从机初始化时设置 SM2=1,若接收到的第九位数据 RB8=0,不置位 RI,即不引

29、起接收中断,亦既不接收数据帧,继续监听,如接收到的 RB8=1,置位 RI,引起接收中断, 中断程序中判断所接收的地址帧和本机的地址。是否符合,若不符合,维持 SM2=1,继续监听,若符合,则 清 SM2,接收对放发来的后续信息.综上所述,SM2 的作用为:在方式 2,3 中,发送机 SM2=1(程序设置).接收机 SM2=1,若 RB8=1,激活 RI,引起接收中断.12 RB8=0,不激活 RI,不引起中断.SM2=0,无论 RB8=1 还是 RB8=0均激活 RI引起接收中断。在方式 1 中, 当接收时 SM2=1, 则只有收到有效停止位才激活 RI,在方式 0 中, SM2应置为 0。

30、3.电源控制寄存器 PCON 的格式如下表所示,串行通信只用其中的最高位 SMODD7D5XD4XD3XD2XD1XD0XPCON87HSMOD XSMOD : 波特率加倍位。在计算串行方式 1、 2、 3 的波特率时,SMOD 0不加倍;SMOD 1 加倍PCON 的字节地址为 87H,无位地址, 只能字节寻址.,初始化时 SMOD=0.4.3.6 串行口的工作方式根据串行通信数据格式和波特率的不同, 51 系列单片机的串行通信有四种工作方式 ,通过编程进行选择,各工作方式的特点如下:1.方式 0方式 0的数据格式为 8位,低位在前,高位在后,RXD为串行数据的发送端或接收端, TXD输出频

31、率为 fosc/12 的时钟脉冲。波特率固定为 fosc/12 (fosc为单片机晶振频率)移位寄位器方式多用于接口的扩展 ,当用单片机构成系统时 ,往往感到并行口不够用 ,此时可通过外接串入并出移位寄存器扩展输出接口;通过外接并入串出移位寄存器扩展输入接口,方式 0 也可应用于短距离的单片机之间的通信。2.方式 1为 10位异步通信方式, 每帧数据由 1个起始位 “0”.八个数据位和 1个停止位“1”共 10 位构成.其中起始位和停止位在发送时是自动插入的.以 TXD 为串行数据的发送端,T1 提供位时钟, RXD数据的接收端,由 T1 提供移位时钟,是波特率可变方式。波特率=(2SMOD/

32、32)(TI 的溢出率)=(2SMOD/32)(fosc/12(256-x) )根据给定的波特率,可以计算 T1 的计数初值 X。3. 方式 211 位异步发送/接收方式,即每帧数据由有一个起始位“0”,9 个数据位和 1 个停止位“1”组成.发送时九个数据位,由 SCON 寄存器的 TB8 位 提供,接收到的第九位数据存放在SCON 寄存器的 RB8 位.第九位数据可作为检验位,也可用于多机通信中识别传送的是地址还是数据的特征位。波特率固定为(2SMOD/64)fosc.4. 方式 3数据格式同方式 3,所不同的是波特率可变,计算方式同方式 1。13 4.3.7 串行口的应用编程1.串行口的

33、波特率有两种方式: 固定波特率 可变波特率注意:使用可变波特率时,先确定 TI 的计数初值,并对 TI 进行初始化。串行通信的编程方式: 查询方式:查 C 是否为“1”。 中断方式:如果预先开了中断,当 TI、RI 为“1”,会自动产生中断。注意:两种方式中当发送或接受数据后都要注意清 TI 或 RI 。2.查询方式(1)查询方式发送流程图 4-7 (a)Y(a)(2)查询方式接收流程图 3-12(b)14 图 4-7 (b)3.中断方式中断方式的初始化编程同查询方式,不同的是要开中断,即置位 EA 和 ES,编写中断服务程序。(1)中断方式发送流程(a)(2)中断方式接收流程15 图 4-8

34、 (b)例 例如串行通信方式 0,扩展 I/O 接口,接八个数码管,使内部数据存储器 58H-5FH单元的内容为 0XH。分析 由于 TXD,RXD运行在工作方式 0 时,可方便的连接串入并移出位寄存器 74LS164,TXD 发送移位脉冲,RXD 发送数据,P3.3 用于显示器的输入控制,通过 74LS164 接八个数码管,电路如下图所示。图 4-9程序如下:16 ORGSETBMOVMOVMOVMOVMOVMOVCMOVJNB0050HP3.3; 允许移位寄存器工作; 选串行通信方式 0; 显示八个字符SCON, #0R7, #08HR0, #5FHDPTR, #TBAA, R0A,A+D

35、PTRSBUF, ATI, $; 先送最后一个显示字符; DPTR 指向字形表首址; 取待显示数码DLO:; 查字形表; 送出显示; 一帧输出完?CLRTI; 已完,清中断标志; 修改显示数据地址DECR0DJZNCLRR7, DLOP3.3; 8 位送完,关发送脉冲SJMPDB$TBA:0C0H,0F9H,0A4H,B0H,99H,92H82H,0F8H,80H,90H,83H,83H,0C6H0A1H,86H,84H,0FFH,0BFHDBDBDECR0; 修改显示数据地址DJZNCLRSJMPDBR7, DLOP3.3$; 8 位送完,关发送脉冲TBA:0C0H,0F9H,0A4H,B0

36、H,99H,92HDB82H,0F8H,80H,90H,83H,83H,0C6H0A1H,86H,84H,0FFH,0BFHDB4.4 存储器扩展MCS51 系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。对于简单 的应用,最小系统即能满足要求。所谓最小系统是指在最少的外部电路条件下,形成一个可独立工作的单片机应用系统。一片 89C51,或者一片 8031 外接一片 EPROM 就构成了一个单片机最小系统。在很多复杂的应用情况下,单片机内的 RAM ,ROM 和 I/O 接口数量有限,不够使用,这种情况下就需要进行扩展。因此单片机的系统扩 展主要是指外接数据存贮器、程序存贮器或

37、 I/O 接口等,以满足应用系统的需要。4.4.1 单片机系统总线和系统扩展方法单片机是通过地址总线,数据总线和控制总线与外部交换信息的。MCS-51 单片机的总线接口信号见图 4-1017 图 4-10由图 3-15 可见:1)由于 Po 分时传送地址/数据信息,在接口电路中,通常配置地址锁存器,有 ALE信号锁存低 8 位地址 AoA7,以分离地址和数据信息。2)P2 口传送高 8 位地址 A8A15。3 ) PSEN 为程序存储器的控制信号,是在取指令码时或执行 MOVC 指令时变为有效。RD、WR 为 数据存储器和 I/O 口的读、写控制信号。是执行 MOVX 指令时变为有效。系统的扩

38、展归结为三总线的连接,连接的方法很简单,连线时应遵守下列原则:(1).连接的双方 数据线连数据线,地址线连地址线,控制线连控制线。要特别注意的是:程序存储器接 PSEN; 数据存储器接 RD 和 WR(2).控制线相同的地址线不能相同,地址线相同的控制线不能相同。(3).片选信号有效的芯片才选中工作,当一类芯片仅一片时片选端可接地,当同类芯片多片时片选端可通过线译码、部分译码、全译码接地址线(通常是高位地址线) ,在单片机中多采用线选法。4.4.2 程序存储器的扩展(1)EPROM 的扩展程序存储器扩展电路的安排应满足单片机从外存取指令的时序要求。从时序图中分析ALE、PSEN、Po 和 P2

39、 怎样配合使程序存储器完成取指操作,从而得出扩展程序存储器的方法。单片机一直处于不断的取指令码执行取指令码执行的工作过程中,在取指令码时和执行 MOVC 指令时 PSEN 会变为有效,和其它信号配合完成从程序存储器读取数据。18 图 4-11根据以上取指时序的要求,8XX51 单片机扩展程序存储器 2732 的电路图见图 4-12图 4-12图中,74LS373 为 8D 锁存器,其主要特点在于:控制端为高电平时,输出 QoQ7 复现输入 DoD7 的状态;G 为下跳沿时 DoD7 的状态被锁存在 QoQ7 上。当把 ALE 与 G 相连后,ALE 的下跳沿正好把 Po 端口上此时出现的 PC

40、 寄存器指示的低 8 位指令地址 AoA7锁存在 74LS373 的 QoQ7 上,PC 的高 4 位地址 A8A11则直接由 P2.0P2.3 提供。由于只扩展了一片 2732EPROM,因此 2732 的片选端接地。PSEN 与 2732 的输出允许型号 OE 相连,PSEN 的上升沿使 OE 有效,打开 2732 中由A0A11 指定的地址单元,该单元中的指令码从 2732 的 O0O7 输出,被正好处于读入状态的 Po 端口输入到单片机内, 经译码执行。这就是从外存指定地址单元中取出 1 字节指令并加以执行的整个过程。19 单片机扩展 2761,2764,27128 等 EPROM 的

41、方法与图 9-3 相同,差别仅在于不同的芯片的存储容量的大小不同,因而使用高 8 位地址的 P2 端口线的根数不同。扩展 2716 (2KB)需使用 A8A10 三条高位地址线扩展 2764(8KB)需要 A8A12 五条高位地址线。扩展 27128(16KB)时 需要 A8A13 六条高位地址线。这是因为存储器其容量= N( 地址线的根数 )2注意:2764 和 27128 的 PGM 引脚应接 Vcc。(2) EEPROM 的扩展电可擦除只读存储器 EEPROM 的性能。电可擦除只读存储器 EEPROM 即可像 EPROM那样长期非易失地保存信息,又可像 RAM 那样随时用电改写,近年来出

42、现了快擦下 FLASHEEPROM,它门被广泛用作单片机的程序存储器和数据存储器。目前,常用的 EEPROM 如表 3-7,它们有如下共同特点:*单+5V 供电,电可擦除可改写。*使用次数为 1 万次,信息保存时间为 10 年。*读出时间为 ns 级,写入时间为 ms 级。*芯片因角信号与相应的 RAM 和 EPROM 芯片兼容,见表 4-4。表 4-4EEPROM 的使用非常简单方便。不用紫外线擦除,在单一的+5V 电压下写入的新数据即覆盖了旧数据。下面以 2864 为例说明 EEPROM 和单片机的连接方法。2864 为 8KB EEPROM维持电流为 60mA,典型读出时间为 20035

43、0ns,字节编程写入时间为 1020s,芯片内有电压提升电路,编程时不必增高压,单一+5V 供电。引脚和6264,2764 兼容,引脚配置见右图。8XX51 扩展 2864 硬件电路(与 6264 引脚兼容)如图3-20 所示。图中 2864 即可作为数据存储器,有又可作为程序存储器。由于只扩展了一片,片选端接地。20 4.4.3 数据存储器的扩展MCS-51 单片机内只有 128 字节的数据 RAM,当应用中需要更多的 RAM 时,只能在片外扩展。可扩展的最大容量为 64KB。图 4-13 是单片机对片外 RAM 进行读操作的时序。当执行指令 MOVX A,Ri或 MOVXA,DPTR 时进

44、入外部数据 RAM 是的读周期。1. 外部数据 RAM 的读周期时序图 4-13在 ALE的上升沿,把外部程序存储器的指令读入后就开始了对片外 RAM 的读过程。ALE 高电平期间,在 P0 处于高阻三态后,根据指令间址提供的地址,P2 口输出外部 RAM的高 8 位地址 A15A8 ,P0 端口输出低 8 位地址 A7A0 ;在 ALE下跳沿,P0 输出的低 8位地址被锁存在锁存器中,随后 P0 又进入高阻三态,RD 信号有效后,被选中的 RAM 的数据出现在数据总线上,P0 处于输入状态,CPU 从 P0 读入外部 RAM 的数据 。2. 外部数据 RAM 的写周期当执行 MOVX Ri,

45、A 或 MOVX DPTR,A 指令时进入外部数据存储器的写周期,其写周期时序如下:21 图 4-14写外部 RAM 的操作时序与读外部 RAM 的时序差别在于:其一,WR 有效代替 RD 有效,以表明这是写数据 RAM 的操作;其二,在 P0 输出低 8 位地址 A0A7 后,P0 立即处于输出状态,提供要写入外部 RAM 的数据供外部 RAM 取走。由以上时序分析可见,访问外部数据 RAM 的操作与从外部程序存储器取指令的过程基本相同,只是前者有读有写,而后者只有读而无写;前者用 RD 或 WR 选通,而后者用PSEN 选通;前者一个机器周期中 ALE 两次有效,后者则只有一次有效。因此,

46、不难得出51 单片机和外部 RAM 的连接方法。8XX51 单片机扩展 8KB静态 RAM 6264 的电路见下图。图 4-158xx51 扩展 6264 外部数据 RAM由图可见,ALE把 P0 端口输出的低 8 位地址 A0A7锁存在 74LS373,P2 口的 P2.0P2.4直接输出高 5 位地址 A8A12,由于单片机的 RD 和 WR 分别与 6264 的输出允许 OE 和写信号 WE 相连,执行读操作指令时,RD 使 OE 有效,6262 RAM 中指定地址单元的数据经D0D7 由 P0 口读入;执行写指令时,WR 使 WE 有效,由 P0 口提供的要写入 RAM 的数据经 Do

47、D7 写入 6264 的指定地址单元中。单片机 8XX51读写外部数据 RAM的操作使用 MOVX指令,用 Ri 间址或用 DPTR间址。例如,将外部数据 RAM1050H 地址单元中的内容读入 A 累加器,可有如下两种程序。第一种 MOV P2,#10H ;端口提供高 8 位地址MOV R1,#50H ;Ri 提供低 8 位地址22 MOVX A,R1第二种 MOV DPTR,#1050HMOVX A,DPTR ;DPTR 提供 16 位地址要把 A 累加器中内容写入外部数据 RAM1050H 地址单元,其程序可为:MOVMOVP2,#10HR1,#50HMOVX R1,A或MOVDPTR,

48、#1050HDPTR,AMOVX图 4-16程序存储器和数据存储器混合使用MCS-51 系列单片机中的数据存储器和程序存储器在逻辑上是严格分开的,在实际设计和开发单片机系统时,程序若放在 RAM,可方便调试和修改,为此需将程序存储器和数据存储器混合使用。在硬件上将 RD信号和 PSEN相“与”后连到 RAM 的读选通端 OE 即可以实现,见图 4-16。当执行 MOVX 指令时产生 RD 读选通信号使 OE 有效,当执行该 RAM 中的程序时,由 PSEN信号也使 OE 有效,选通 RAM,读出其中的机器码。WR 信号依然连接 RAM 的 WE 端。4.5 STC12C5A60S2 单片机简介

49、本节简单介绍与 LED 字幕控制系统有关的芯片,有关 STC 单片机的内容读者可以查阅宏晶科技公司官方网站相关章节。4.5.1 了解 STC 单片机STC 系列单片机是传统 8051 单片机划时代升级换代产品,管脚完全兼容,可直接取代传统 89C51/89S51 系列单片机。特点:23 1 个时钟/机器周期 8051无法解密低功耗,低价位高速,高可靠强抗静电,强抗干扰指令代码完全兼容传统 8051 单片机电源电压适应范围宽功能更多更强4.5.2 STC12C5A60S2 系列简介STC12C5A 60S2/A D/ PW M 系 列 单 片 机 是 宏 晶 科 技 生 产 的 单 时 钟 /

50、机 器 周 期 ( 1T)的 单 片 机 , 是 高 速 /低 功 耗 / 超 抗 干 扰 的 新 一 代 8051 单 片 机 , 指 令 代 码 完 全 兼 容 传 统8051, 但 速 度 快 8- 12 倍 。内 部 集 成 MA X 810 专 用 复 位 电 路 ,2 路 PW M, 8 路 高 速 10 位A/D 转 换 ( 250K/ S, 即 25 万 次 / 秒 )1. 增 型 8051CP U, 1T , 单 时 钟 / 机 器 周 期 , 指 令 代 码 完 全 兼 容 传 统 80512. 工 作 电 压 :ST C12C5A 60S 2 系 列 工 作 电 压 :

51、5.5V - 3.5V ( 5V 单 片 机 )ST C12LE5A 60S2 系 列 工 作 电 压 : 3. 6V - 2. 2V ( 3V 单 片 机 )3.工 作 频 率 范 围 : 0 35MH z, 相 当 于 普 通 8051 的 0 420MH z4. 用 户 应 用 程 序 空 间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字 节 .5. 片 上 集 成 1280 字 节 RAM6. 通 用 I/ O 口( 36/40/44 个 ),复 位 后 为 :准 双 向 口 /弱 上 拉( 普 通 8051 传 统 I/ O口

52、) 可 设 置 成 四 种 模 式 : 准 双 向 口 /弱 上 拉 , 推 挽 / 上 拉 , 仅 为 输 入 /高 阻 , 开 漏 推 挽/上 拉 , 仅 为 输 入 /高 阻 , 开 漏 推 挽 / 上 拉 , 仅 为 输 入 /高 阻 , 开 漏 每 个 I/O 口 驱 动 能 力均 可 达 到 20mA , 但 整 个 芯 片 最 大 不 要 超 过 120mA7.I SP ( 在 系 统 可 编 程 ) /IA P( 在 应 用 可 编 程 ) , 无 需 专 用 编 程 器 , 无 需 专 用 仿真 器 可 通 过 串 口 ( P3. 0/P3.1 ) 直 接 下 载 用 户 程

53、 序 , 数 即 可 完 成 一 片8. 有 EEP ROM 功 能 (ST C12C5A 62S 2/A D/PW M 无 内 部 EEP RO M)9. 看 门 狗10.内部集成 MAX810 专用复位电路(外部晶体 12M 以下时,复位脚可直接 1K 电阻到地)11. 外 部 掉 电 检 测 电 路 :在 P4.6 口 有 一 个 低 压 门 槛 比 较 器 .5V 单 片 机 为 1. 33V , 误 差 为 5%, 3. 3V 单 片 机 为 1. 31V , 误 差 为 3%12. 时 钟 源 : 外 部 高 精 度 晶 体 /时 钟 , 内 部 R/C 振 荡 器 (温 漂 为

54、5% 到 10% 以 内 )用 户 在 下 载 用 户 程 序 时 , 可 选 择 是 使 用 内 部 R/C 振 荡 器 还 是 外 部 晶 体 /时 钟常 温 下 内 部 R/ C 振 荡 器 频 率 为 :5. 0V 单 片 机 为 : 11MH z 17M Hz3 . 3 V 单 片 机 为 : 8MH z 12M Hz精 度 要 求 不 高 时 , 可 选 择 使 用 内 部 时 钟 , 但 因 为 有 制 造 误 差 和 温 漂 , 以 实 际 测 试 为准13. 共 4 个 16 位 定 时 器 , 两 个 与 传 统 8051 兼 容 的 定 时 器 /计 数 器 , 16 位

55、 定 时 器T0 和 T 1, 没 有 定 时 器 2, 但 有 独 立 波 特 率 发 生 器 做 串 行 通 讯 的 波 特 率 发 生 器 ,再 上2 路 PCA 模 块 可 再 实 现 2 个 16 位 定 时 器24 14.2 个 时 钟 输 出 口 , 可 由 T 0 的 溢 出 在 P3. 4/T0 输 出 时 钟 , 可 由 T1 的 溢 出 在P3. 5/T1 输 出 时 钟15. 外 部 中 断 I/ O 口 7 路 ,传 统 的 下 降 沿 中 断 或 低 电 平 触 发 中 断 ,并 新 增 支 持 上升 沿 中 断 的 PCA 模 块 ,Po wer Down 模 式

56、 可 由 外 部 中 断 唤 醒 , INT 0/P3. 2,I NT1/P 3. 3,T0/P3. 4, T 1/P3. 5, RxD/P3.0, CCP0/P 1. 3(也可通过寄存器设置到 P4.2), CCP1/P1.4 (也可通过寄存器设置到 P4.3)1 6 . PW M( 2 路 ) /P CA ( 可 编 程 计 数 器 阵 列 ,2 路 )-也 可 用 来 当 2 路 D/A 使 用-也 可 用 来 再 实 现 2 个 定 时 器-也 可 用 来 再 实 现 2 个 外 部 中 断 (上 升 沿 中 断 /下 降 沿 中 断 均 可 分 别 或 同 时 支 持 )1 7 .

57、A/D 转 换 ,10 位 精 度 A D C, 共 8 路 , 转 换 速 度 可 达 250K/ S( 每 钟 25)18. 通 用 全 双 工 异 步 串 行 口 (UA RT ),由 于 ST C12 系 列 是 高 速 的 8051 ,可 再 用 定时 器 或 PCA 软 件 , 可 再 用 定 时 器 或 PCA 软 件 可再用定时器或 PCA 软件实 现 多 串 口1 9 . ST C12C5A 60S2 系 列 有 双 串 口 ,后 缀 有 S2 标 志 的 才 有 双 串 口 ,RxD 2/P 1. 2( 可通 过 寄 存 器 设 置 到 P 4.2) , T xD 2/P1

58、.3( 可 通 过 寄 存 器 设 置 到 P4.3)20. 工 作 温 度 范 围 : -40 +85 (工 业 级 )/0 75 (商 业 级 )21. 封 装 : LQ FP- 48, LQF P- 44, P DIP -40, P LCC-44, Q FN- 40I/O 口 不 够 时 , 可 用 2 到 3 根 普 通 I/O 口 线 外 接 74HC164/ 165/595 ( 均 可 级 联 ) 来 扩展 I/O 口 ,还 可 用 A/D 做 按 键 扫 描 来 节 省 I/O 口 , 或 用 双 CP U,三 线 通 信 , 还 多 了 串口 。4.5.3 STC12 系列单片

59、机取代传统 8051 注意事项STC12 系列单片机的定时器 0/定时器 1 与传统 8051 完全兼容,上电复位后,定时器部分缺省还是除 12 再计数的,而串口由定时器 1 控制速度,所以定时器/串口完全兼容。增加了独立波特率发生器,省去了传统 8052 的定时器 2,如是用 T2 做波特率的话,请改用独立波特率发生器做波特率发生器。传统 8051 的 111 条指令执行速度全面提速,最快的指令快 24 倍,最慢的指令快 3 倍。靠软件延时实现精确延时的程序需要调整。其他需注意的细节:ALE:传统 8051 单片机的 ALE脚对系统时钟进行 6 分频输出,可对外提供时钟,STC12C5Axx

60、系列的可编程时钟输出脚对外输出时钟(CLKOUTO/CLKOUT1/CLKOUT2)或 XTAL2脚串一个 200 欧姆电阻对外输出时钟。传统 8051 单片机时钟频率较高时,ALE脚是一个干扰源,所以 STC89 系列单片机增加了 AUXR 特殊功能寄存器,其中的 Bit0/ALEOFF 位允许禁止 ALE 对系统时钟分频输出。而 STC12C5Axx 系列单片机直接禁止 ALE脚对系统时钟进行 6 分频输出,彻底清除此干扰源,也有利于系统的抗干扰设计。请自行比较如下的寄存器。STC89 系列的 AUXR寄存器:38EH Auxiliary -Register0-ALEOFF xxxx ,x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论