您好,欢迎访问三七文档
18031单片机原理及接口技术第一章8031原理和结构一、内部结构及引脚图一个机器周期=12个振荡脉冲周期(fosc)2二、存储器空间以及存储器内部数据存储器外部数据存储器外部程序存储器(用mov指令读写)(用movx指令读写)(用movc指令读)1、内部数据存储器结构:内部RAM区:专用寄存器区:开机复位状态:复位后:内部RAM区及外部RAM区皆保持原值2、程序状态字:PSW┌──┬──┬──┬──┬──┬──┬──┬──┐│CY│AC│F0│RS1│RS0│OV│X│P│└──┴──┴──┴──┴──┴──┴──┴──┘CY:进、借位,有进、借位:CY=1AC:半进、借位,有半进、借位:AC=1F0:用户标志位(由用户设定)RS1,RS0:工作寄存器组选择位00:选择0组01:选择1组10:选择2组11:选择3组OV:溢出位,有溢出:OV=13X:无效位P:奇偶位,运算结果有奇数个1:P=13、程序存储器特定入口:0000H:复位或开机后的程序入口0003H:外部中断0服务程序入口000BH:定时/计数器0中断服务程序入口0013H:外部中断1服务程序入口001BH:定时/计数器1中断服务程序入口0023H:串行I/O中断服务程序入口三、定时/计数器8031片内有两个16位定时/计数器(增量式计数)1、工作方式(方式0、方式1、方式2、方式3)以定时/计数器1为例⑴方式0(13位定时/计数)⑵方式1(16位定时/计数)⑶方式2(8位自动重装时间常数定时/计数)4⑷方式3(仅适用于定时/计数器0)TL0用于8位定时/计数TH0只用于8位定时2、控制寄存器⑴定时/计数器方式控制寄存器:TMOD├────T1────┼────T0────┤├──┬──┬──┬──┼──┬──┬──┬──┤│GATE│C/T│M1│M0│GATE│C/T│M1│M0│└──┴──┴──┴──┴──┴──┴──┴──┘GATE:门控位,1:打开,0:关闭C/T:工作状态选择,1:计数状态,0:定时状态M1,M0:工作方式选择00方式001方式110方式211方式3⑵定时/计数器控制寄存器:TCON┌──┬──┬──┬──┬──┬──┬──┬──┐│TF1│TR1│TF0│TR0│IE1│IT1│IE0│IT0│└──┴──┴──┴──┴──┴──┴──┴──┘5TF1,TF0:定时/计数器中断请求标志,1:有请求;0:无请求TR1,TR0:定时/计数器运行控制位,1:打开;0:关断IE1,IE0:外部中断INT1,INT0中断请求标志,1:有请求;0:无请求IT1,IT0:外部中断INT1,INT0触发方式,1:下降沿触发;0:低电平触发四、中断系统5个中断源:INT0:外部中断0INT1:外部中断1T0:定时/计数器0中断T1:定时/计数器1中断TI/RI:串行I/O中断⑴中断允许寄存器:IE(1:允许;0:不允许)┌──┬──┬──┬──┬──┬──┬──┬──┐│EA│×│×│ES│ET1│EX1│ET0│EX0│└──┴──┴──┴──┴──┴──┴──┴──┘EA:全局中断允许位ES:串行口中断允许位ET1:T1中断允许位EX1:INT1中断允许位ET0:T0中断允许位EX0:INT0中断允许位⑵中断优先寄存器:IP(1:高优先级;0:低优先级)┌──┬──┬──┬──┬──┬──┬──┬──┐│×│×│×│PS│PT1│PX1│PT0│PX0│└──┴──┴──┴──┴──┴──┴──┴──┘PS:串行口中断优先位PT1:T1中断优先位PX1:INT1中断优先位PT0:T0中断优先位PX0:INT0中断优先位(同级中断时的优先顺序:INT0→T0→INT1→T1→RI/TI)CPU响应中断后,自动清除中断请求标志(只有串行口中断请求标志需用软件清除),并将程序计数器PC之值压入堆栈,然后将相应的中断入口地址装入PC,使程序转入相应的中断服务程序。五、并行I/O端口(P0、P1、P2、P3)8031单片机中:P0口:作为地址低8位和双向数据总线P2口:作为地址高8位总线1、P0端口(地址低8位/数据)P0口每一位的内部结构如下:62、P1端口P1口每一位的内部结构如下:注:当P1口作输入时,必须先向P1口写FFH(即11111111),由于单片机上电或复位后P0口-P3口皆置为FFH,故一般不需人为写FFH。3、P2端口(地址高8位)P2口每一位的内部结构如下:4、P3端口P3口每一位的内部结构如下:7六、串行I/O端口8031有一个串行端口1、串行通讯基本方式⑴异步传送:以字符(帧)为单位一个个地发送和接收,用起始位和停止位作为字符开始与结束的标志。字符(帧)格式:┌───┬────────────┬─────────┬───┐│起始位│字符数据字(5,6,7或8位)│奇偶校验位(可不要)│停止位│└───┴────────────┴─────────┴───┘⑵同步传送:去掉异步传送时每个字符的起始位、停止位和奇偶校验位的成帧标志,数据字连续传送,仅在数据块开始处以同步字符指示,然后由同步时钟信号来保证发送端和接收端之间的严格同步。2、串行端口的工作方式(方式0、方式1、方式2、方式3)⑴方式0:8位移位寄存器同步传送方式,波特率固定为fosc/12发送过程:当CPU将数据写入到发送缓冲器SBUF且中断标志TI置0时,串行口即将8位数据以fosc/12的波特率由RXD脚输出,同时由TXD脚输出同步脉冲以保证同步,字符发送完毕,置中断标志TI为1,如要再发送,必须用软件将中断标志TI清零。接收过程:接收器启动(控制字置方式0、允许接收控制位REN置1、清除中断标志RI)后,RXD为数据输入端,TXD为同步信号输出端,接收器以fosc/12的波特率采样RXD脚,当接收完8位数据时又重新置中断标志RI为1⑵方式1:10位异步传送方式(异步接收/发送器:UART)TXD:用于发送数据;RXD:用于接收数据字符(帧)格式:1位起始位,8位数据位,1位停止位波特率=(2SMOD×T1的溢出率)/32T1的溢出率=fosc/[12(256-x)],x:T1的定时初值(T1工作于方式2)一帧数据发送或接收完毕后,中断标志TI或RI置1如要发送或接收下一帧数据,必须用软件将中断标志TI或RI清零⑶方式2:11位异步传送方式字符(帧)格式:1位起始位,8位数据位,1位可编程位,1位停止位波特率=(2SMOD×fosc)/64一帧数据发送或接收完毕后,中断标志TI或RI置1⑷方式3:同方式2,但是波特率可以调节8波特率=(2SMOD×T1的溢出率)/323、串行端口的控制寄存器⑴SCON:串口控制寄存器┌──┬──┬──┬──┬──┬──┬──┬──┐│SM0│SM1│SM2│REN│TB8│RB8│TI│RI│└──┴──┴──┴──┴──┴──┴──┴──┘SM0,SM1:串行口工作方式选择位:00:方式001:方式110:方式211:方式3SM2:仅用于方式2和方式3的多机通信控制位发送机:SM2=1(要求程控设置)接收机:SM2RB800┐01│皆可引起串行接收中断(激活RI)11┘10不可引起串行接收中断(不激活RI)在方式1时,若SM2=1,则只有接收到有效停止位,中断标志RI才置1在方式0时,SM2应为0REN:接收允许控制位,1:允许接收;0:禁止接收TB8,RB8:在方式2和3时,发送或接收的第9个数据位(可编程位)可作为数据奇偶校验位也可作为多机通信时的地址帧/数据帧标志位:1为地址帧;0为数据帧TI:发送中断标志,1:发送完;0:发送中RI:接收中断标志,1:接收完;0:接收中⑵PCON:电源控制寄存器┌──┬─┬─┬─┬─┬─┬─┬─┐│SMOD│×│×│×│×│×│×│×│└──┴─┴─┴─┴─┴─┴─┴─┘SMOD:波特率加倍控制位,1:加倍;0:不加倍9第二章常用外围接口芯片一、8253芯片(可编程定时/计数器,递减计数)1、8253基本结构和引脚图┌┐__┌┐D7┤124├VccD0-D7:8位数据总线D6┤223├WRWR:写命令信号,低电平有效D5┤322├RDRD:读命令信号,低电平有效D4┤421├CSCS:片选信号,低电平有效D3┤520├A1A1,A0:计数器及控制寄存器端口地址信号D2┤619├A000:选中计数器0D1┤718├CLK201:选中计数器1D0┤817├OUT210:选中计数器2CLK0┤916├GATE211:选中控制字寄存器GATE0┤1015├CLK1CLK:计数器时钟(计数脉冲或定时脉冲)OUT0┤1114├GATE1GATE:计数器门控信号,1:允许计数GND┤1213├OUT1OUT:计数器输出信号,计数/定时到,则输出1└───┘2、8253的控制字┌──┬──┬──┬──┬──┬──┬──┬──┐│SC1│SC0│RL1│RL0│M2│M1│M0│BCD│└──┴──┴──┴──┴──┴──┴──┴──┘SC1,SC0:选择计数器:00:选计数器0的控制寄存器01:选计数器1的控制寄存器10:选计数器2的控制寄存器11:非法值RL1,RL0:读写格式:00:将计数器中数据锁存到缓冲器(可飞读)01:只读写计数器低8位10:只读写计数器高8位11:先读写低8位,后读写高8位(两次操作)M2,M1,M0:工作方式选择:000:方式0,001:方式1,10010:方式2,011:方式3,100:方式4,101:方式5,BCD:数制选择:1:BCD码;0:二进制3、8253的工作方式⑴方式0:计数结束时产生中断的方式方式0控制字写入后,OUT端输出低电平,在GATE=1时,计数器赋初值后马上启动计数器计数,OUT端仍保持低电平,计数结束时,OUT端变为高电平并保持到重新赋初值或复位为止。⑵方式1:可编程单拍负脉冲输出方式方式1控制字写入后,OUT端输出高电平,加在GAET端的脉冲上升沿启动开始计数时,OUT端输出低电平,计数器计数结束时,OUT端又返回高电平⑶方式2:N倍分频器方式(N:计数器初值)方式2控制字写入后,OUT端输出高电平,在GATE=1时,计数器赋初值后马上启动开始计数,OUT端仍然为高电平,计数结束时,OUT端输出宽度为一个时钟周期的负脉冲然后返回高电平,同时计数器恢复初值,重新计数。⑷方式3:方波频率发生器方式方式3控制字写入后,OUT端输出低电平,在GATE=1时,计数器赋初值后马上启动开始计数,OUT端跳变为高电平,当计数到计数初值N的一半时,OUT端输出低电平,计数结束时,OUT返回高电平,同时计数器恢复初值,重新计数。⑸方式4:软件触发选通方式方式4控制字写入后,OUT端输出高电平,在GATE=1时,一旦装入计数初值计数器自动开始计数,OUT端仍为高电平,计数结束时,OUT端输出宽度为一个时钟周期的负脉冲后返回高电平,但要重新计数,必须用软件对计数器重新赋初值。⑹方式5:硬件触发选通方式方式5控制字写入后,OUT端输出高电平,加在GATE端的脉冲上升沿启动开始计数时,OUT端仍为高电平,计数结束时,OUT端输出宽度为一个时钟周期的负脉冲后返回高电平,同时计数器恢复初值,但要重新计数,必须等到GATE端的脉冲上升沿触发。二、8255芯片(可编程并行I/O接口)1、8255基本结构和引脚图11┌┐__┌┐PA3┤140├PA4PA0-PA7:端口APA2┤239├PA5PB0-PB7:端口BPA1┤338├PA6PC0-PC7:端口CPA0┤437├PA7D0-D7:8位数据总线RD┤536├WRWR:写命令信号,低电平有效CS┤635├RESETRD:读命令信号,低电平有效GND┤734├D0CS:片选信号,低电平有效A1┤833├D1A1,A0:端口地址选择信号A0┤932├D200:选择端口APC7┤1031├D301:选择端口BPC6┤1130├D410:选择端口CPC5┤1229├D511:选择控制寄存器PC4┤1328├
本文标题:8031单片机原理
链接地址:https://www.777doc.com/doc-5151295 .html