内容发布更新时间 : 2024/12/24 22:13:02星期一 下面是文章的全部内容请认真阅读。
18B
3.6器件介绍
33B
3.6.1 51系列单片机
单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。8051单片机的基本结构见图。
T1时钟电路ROMRAMT0定时/计数器CPU并行接口P0P1P2P3串性接口RXDTXD中断系统INT0INT1
8051是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机,8051单片机系列指的是MCS-51系列和其他公司的8051衍生产品。这些衍生品是在基本型基础上增强了各种功能的产品。这些产品给8位单片机注入了新的活力,给它的开发应用开拓了更广泛的前景。
8051系列的内部结构可以划分为CPU、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分。
(1)中央处理器
8051的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。ALU只能进行运算,运算的操作数可以事先存放到累加器ACC或寄存器TMP中,运算结果可以送回ACC或通用寄存器或存储单元中,累加器ACC也可以写为A。B寄存器在乘法指令中用来存放一个乘数,在除法指令中用来存放除数,运算后B中为部分运算结果。
程序状态字PSW是个8位寄存器,用来寄存本次运算的特征信息,用到其中七位。
26
PSW的格式如下所示,其各位的含义是:
D7 CY D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 D0 P CY:进位标志。有进位/错位时CY=1,否则CY=0。
AC:半进位标志。当D3位向D4位产生进位/错位时,AC=1,否则AC=0,常用于十进制调整运算中。
F0:用户可设定的标志位,可置位/复位,也可供测试。
RS1、RS0:四个通用寄存器组选择位,该两位的四种组合状态用来选择0~3寄存器组。
OV:溢出标志。当带符号数运算结果超出-128~+127范围时OV=1,否则OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1,否则OV=0。
P:奇偶校验标志。每条指令执行完,若A中1的个数为奇数时P=1,否则P=0,即偶校验方式。
控制逻辑主要包括定时和控制逻辑、指令寄存器 、译码器以及地址指针DPTR和程序寄存器PC等。
单片机是程序控制式计算机,即它的运行过程是在程序控制下逐条执行程序指令的过程:从程序存储器中取出指令送指令存储器IR,然后指令译码器ID进行译码,译码产生一系列符合定时要求的微操作信号,用以控制单片机的各部分动作。8051的控制器在单片机内部协调各功能部件之间的数据传送、数据运算等操作,并对单片机发出若干控制信息。这些控制信息的使用专门的控制线,诸如PSEN、ALE、EA以及RST,也有一些是和P3口的某些端子合用,如WR和RD就是P3.6和P3.7,他们的具体功能在介绍8051引脚是一起叙述。
(2)存储器组织
8051单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种结构称为哈佛结构单片机。这种结构与通用微机的存储器结构不同,一般微机只有一个存储器逻辑空间,可随意安排ROM或RAM,访存时用同一种指令,这种结构称为普林斯顿型。
8051单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。
8051片内有256K数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和ROM,并且各有64KB的寻址范围。也就是最多可以在外部扩展2×64KB存储器。8051的存储器组织结构如图2.3所示。
64K字节的程序存储器(ROM)空间中,有4K字节地址区对于片内ROM和片外ROM
27
是公用的,这4K字节地址是0000H~FFFH。而1000H~FFFFH地址区为外部ROM专用。CPU的控制器专门提供一个控制信号EA用来区分内部ROM和外部ROM的公用地址区:当EA接高电平时,单片机从片内ROM的4K字节存储器区取指令,而当指令地址超过0FFFH后,就自动的转向片外ROM取指令。当EA接低电平时,CPU只从片外ROM取指令。
程序存储器的某些单元是保留给系统使用的:0000H~0002H单元是所有执行程序的入口地址,复位以后,CPU总是丛0000H单元开始执行程序。0003H~002AH单元均匀地分为五段,用做五个中断服务程序的入口。用户程序不应进入上述区域。
8051的RAM虽然字节数不很多,但却起着十分重要的作用。256个字节被分为两个区域:00H-7FH时真正的RAM区,可以读写各种数据。而80H~FFH是专门用于特殊功能寄存器(SFR)的区域。对于8051安排了21个特殊功能寄存器,每个寄存器为8位,所以实际上128个字节并没有全部利用。
内部RAM的各个单元,都可以通过直接地址来寻找,对于工作寄存器,则一般都直接用R0~R7,对特殊功能寄存器,也是直接使用其名字较为方便。8051内部特殊功能寄存器都是可以位寻址的,并可用“寄存器名.位”来表示,如ACC.0,B.7等
3.6.2 锁存器74L373
由于74LS164芯片不具有锁存功能,所以在74LS164进行八位数据的串并转换时,串行数据的第一位会从QA依次移位到QH,第二位数据会从QA依次移位到QG,依次类推在八位数据转换完成之前74LS164芯片的输出会出现一段时间的乱序输出,这一结果会通过驱动电路表现在显示屏上。结果就是显示屏无序导通闪烁,不能显示所需内容。因此在串并转换完成前就需要74LS164的输出口不与驱动电路导通。所以选择锁存器74LS373来完成这一功能。
74LS373为八D锁存器(3S,锁存允许输入有回环特性)。373为三态输出的八D透明
28
锁存器,共有54/74S373和54/74LS373两种线路结构形式当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。
表3-4 74LS373工作参数表
参数 电源电压 输入高电平电压 输入低电平电压 输出高电平电压 输出低电平电压 最小值 4.75 2 额定值 5 最大值 5.25 单位 V V V mA mA — — — — — 0.8 -2.6 24 — — — 由表与表比较可以看出,74LS164的输出条件与74LS373的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。
29
第4章 系统软件设计
43B
4.1系统的程序流程图
系统程序流程图如图4-1所示。
图4-1系统程序流程图
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率
30