版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内中断振荡器和时序OSC程 序 存 储 器4KB ROM数 据 存 储 器256B RAM/SFR216位定时器/计数器64KB总线扩展控 制 器可编程I/O可编程全双工串行口8051CPU外部时钟源外部事件计数外中断控制并行口串行通讯PSWAccB 寄存寄存 器器CYACF0RS1RS0OV-PPSW 控制器寄存器包括程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针寄存器、数据指针寄存器和时钟电路等。 n16位专用寄存器(,由DPH和DPL组成。提供对外部RAM(I/O)的访问,扩展地址空间最大为216=64KB。程序存储器空间数据存储器空间片内程序存 储 器空 间片外程序存 储 器
2、空 间片内数据存 储 器空 间片外程序存 储 器空 间64KB片外数据存储器地址空间,地址也从0000HFFFFH编址(16位地址) 256B数据存储器地址空间(8位地址) SFRRAM7F00FF808051片内存储器4KBROMEA=100000FFF64KBROMEA=000000FFF1000FFFF000064KBRAM(I/O)FFFF片外扩展存储器 引脚EA1(接高电平),PC在0000H0FFFH范围内执行片内ROM; 引脚EA0(接地),8051片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址可以从0000H开始编址。 8031片内不带ROM,所以使用时必
3、须使EA0,这样才能从片外扩展的EPROM中取指令。 需要指出的是:8051从片内程序存储器和片外程序存储器取指时执行速度相同。 程序存储器的0000H0002H单元被保留用于程序的起始。从0003H0032H单元被保留专用于中断服务程序 数据存储器在物理上和逻辑上分为两个地址空间内部数据存储器、外部数据存储器。访问内部数据存储器用MOV指令;访问外部数据存储器用MOVX指令。 片内数据存储器分为两个部分: 00H7FH(0127)单元组成的低128字节的RAM区; 80HFFH单元组成的特殊功能寄存器(SFR)。用户RAM区(堆栈、数据缓冲)位寻址区(位地址00H7FH)R7 第3组 R0
4、工作寄存器区 R7 第2组 R0 工作寄存器区R7 第1组 R0 工作寄存器区R7 第0组 R0 工作寄存器区00H07H08H0FH10H17H18H1FH20H2FH30H7FHB* 特 ACC* 殊 PSW* 功 IP* 能 P3* 寄 IE* 存 P2* 器 SBUF 区 SCON* SFR P1* TH1 TH0 TL1 TL0 TMOD TCON* PCON DPH DPL SP P0* 81H82H83H87H88H89H8AH8BH8CH8DH90H98H99HA0HA8HB0HB8HD0HE0HF0H80HFFH 00H1FH地址安排为四组工作寄存器区,每组有8个工作寄存器(
5、R0R7),占32个单元; 从20H2FH共16个字节单元中,共包含了128位既可位寻址又可字节寻址; 30H7FH共80个字节单元为字节寻址的内部RAM区。 由此可见,低128RAM分为三个部分:工作寄存器区;位寻址RAM区;字节寻址RAM区。不用的工作寄存器单元,可作RAM用,不用的位寻址单元可进行字节寻址的RAM用。 在单片机系统的实际应用中,常把单片机的复位分为冷启动和热启动。 70单字节指令(49条)7070双字节指令(45条)三字节指令(17条)寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器间接寻址相对寻址位寻址 无条件转移类指令 条件转移类指令 循环转移类指令 子
6、程序调用类指令短调用指令ACALLaddr11;(PC)+2PC (SP)+1 SP (PC 07) (SP) (SP)+1 SP (PC 815) (SP) addr 010 (PC 010) (PC 1115)不变 该指令提供低11位目标地址,被调子程序被限制在以当前PC值为首地址的2K字节地址空间内调用。高5位地址不变。不影响标志位长调用指令LCALLaddr16;(PC)+3PC (SP)+1 SP (PC 07) (SP) (SP)+1 SP (PC 815) (SP) addr 015 (PC) LCALL提供16位目标地址,以调用64K字节范围内所指定的子程序。 不影响标志位 短
7、调用指令为双字节指令,用于目标地址在当前指令的2K字节范围内的调用。优点:可节省一个字节的存储单元缺点:被调用子程序的存放区域受到限制 长调用指令为三字节指令,可调用64K字节存储空间的任一目标地址。优点:可在64K字节存储空间内任意存放,为编程带来方便缺点:与短调用指令相比,指令多占用了一个字节的存储单元。 返回类指令子程序返回指令 RET;(SP)(PC815) (SP) -1 (SP) (SP)(PC07) (SP) -1 (SP)中断服务程序返回指令 RETI;(SP)(PC815) (SP) -1 (SP) (SP)(PC07) (SP) -1 (SP) RETI为专用于中断服务程序
8、的返回指令,除正确返回中断断点处继续往下执行主程序外,并告知中断系统,表示已结束中断服务程序的执行,恢复中断逻辑以接受新的中断请求,如果在执行RETI指令时已有一个同级或较低级中断请求,或者正在执行RETI指令时有高级中断提出请求, 转移类指令 无条件转移指令 短转移指令:AJMPaddr11; (PC) + 2 PC addr11 PC 100 (PC 1511)不变长转移指令: LJMP addr16; addr16 PC 相对转移指令SJMPrel; (PC) + 2 PC (PC) + rel PC 间接转移指令JMPA + DPTR; (A) + (PC) PC 空操作指令NOP;
9、(PC) + 1 (PC)(PC)地址 程序存储器 AJMP addr11+22KB程序转移范围64KB(PC) 地址 0000H程序存储器 AJMP addr11FFFFH+2+1+3程序转移范围SJMP程序存储器地址 (PC)+2rel128+127程序转移范围126+129SJMP$HERE:SJMPHERE256B地址 (PC)程序存储器JMP A + DPTR(DPTR)转向以DPTR内容为首地址的256字节范围内中断响应的条件: 有中断源发出中断请求; EA1,即CPU开中断; 申请中断的中断源的中断允许位为1,即中断没有被屏蔽 ; 无同级或高优先级中断正在服务中; 当前的指令已执
10、行到最后一个机器周期并已结束 ; 若现行指令为RETI或者是访问IE或IP指令时,该指令以及紧接着的另一条指令已经执行完。 中断响应过程S6P2S5M1M2M4M3中断有效中断锁存中断查询长调用到中断矢量地址中断服务程序M5振荡器12分频TFxTLx THxC/T=0T1引脚C/T=1TRXINTXGATE定时定时/计数器控制与状态寄存器计数器控制与状态寄存器用于T1用于T0TOMDTCON 工作方式1是16位的定时/计数方式,将M1M0设为01即可,其它特性与工作方式0相同。 工作方式工作方式0 0:13位定时/计数方式,因此,最多可以计到213,也就是8192次。定时工作方式时,其定时时间
11、的计算:t=(213-Tx初值)振荡周期12工作方式工作方式1 1:16位定时/计数方式,因此,最多可以计到216,也就是65536次。定时工作方式时,其定时时间的计算: t=(216-Tx初值)振荡周期12 工作方式工作方式2 2和工作方式和工作方式3 3:都是8位的定时/计数方式,因此,最多可以计到28,也说是256次。定时工作方式时,其定时时间的计算:t=(28-Tx初值)振荡周期12 根据应用要求,通过程序初始化,正确设置控制字,正确计算和设置计数初值;编写中断复位程序;适时设置控制位等,通常情况下设置顺序大致如下:工作方式控制字(TMOD)的设置;计数初值的计算及装入TLx、THx;
12、中断允许位、TRx的设置等。MCS-51的定时/计数器的应用编程需考虑:(1)初始化程序 START:MOVSP, 60H ;设置堆栈区域 MOVTMOD,10H ;选择T1、定时模式,方式1 MOVTHl, 0D8H ;设置高字节初值 MOVTLl, 0FOH ;设置低字节初值开中断 SETBEA ; SETBET1 ; ;其它初始化等主程序 MOV B,01H ;将循环初值保存在B中 SETBTRl ;启动定时计数器1(T1) ;继续主程序 开中断(2)中断服务子程序INT1: ; ;MOV TL1,#0F0H ;MOV TH1,#0D6H ;MOV A,B ;保存在B中值送ARLA ;A
13、内容循环左移一位MOV P1,A ;A内容送P1口输出MOV B,A ;循环内容送B保存中断结束处理, 如保护参数出栈等 ; ;RETI ;中断结束返回中断初值处理,如参数进栈保护等重新置初值中断结束处理,如保护参数出栈等TMOD控制着T0和T1的方式,在初始化T0和T1中间的一个Timer时,其设置可能影响到另外一个定时器的工作方式,解决的办法时两个定时器一起进行设置,或采用以下方法向TMOD送数:MOVA,TMODANLA,#0FHORLA,#10HMOVTMOD,ATMOD初始状初始状态读入态读入AT1、定时模式,方式、定时模式,方式1设置高设置高4位,低位,低4位保持不变位保持不变80
14、51单片机的通讯方式 :并行通讯:数据的各位同时发送或接收。串行通讯:数据一位一位顺序发送或接收 串行通讯方式:异步通讯同步通讯异步通讯中与外设的两项规定:双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式可以由通讯的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII标准。 :数据传送的速率。定义每秒钟传送的二进制数的位数。奇偶位停止位 1停止位2起始位1345678数据位选择位2例:数据传送速率是120字符/秒,每个字符格式包含十个代码位(一个起始位、一个终止位、8个数据位),这时传送的波特率为:10120位/秒1200波特(bps)每一位代码的传送
15、时间Td为波特率的倒数:Td1/12000.833ms通讯方向: 在串行通讯中,把通讯接口只能发送或接收的单向传送方法叫单工传送;接收器乙发送器甲 数据在甲乙两机之间的双向传递,称之为双工传送; 双工传送方式中又分为半双工传送和全双工传送半双工传送是两机之间不能同时进行发送和接收,任一时刻,只能发或者只能收信息。 接收器甲站数据流接收器乙站发送器发送器接收器接收器数据流发送器发送器甲站乙站全双工方式2 2MCS-51MCS-51单片机的串行接口结构单片机的串行接口结构 MCS-51单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行
16、口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。 串行口的控制与状态寄存器串行口的控制与状态寄存器 51串行口设有两个控制寄存器:串行控制寄存器SCON和波特率选择特殊功能寄存器PCON。2)波特率选择特殊功能寄存器PCON1) 串行控制寄存器SCON 串行口的工作方式串行口的工作方式 1) 方式02)方式13) 方式24) 方式3波特率的设置串口应用编程带奇偶校验SIN S/L GND Vcc976H G F E D C B AQHHQ74LS165543141312118051RXDTXDP
17、1.04+5V15281610SIN S/L GND Vcc976H G F E D C B AQHHQ74LS16554314131211+5V168215410利用串行口扩展并行输入口8051RXDTXDP1.0利用串行口扩展并行输出口10981,2143456111213QA QB QC QD QE QF QG QHA,B74LS164VccGNDCPQA QB QC QD QE QF QG QHA,B74LS16498VccGND1,21434561011121377CP 在51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。
18、 1)方式0: 波特率OSCf1212)方式2:波特率除与fosc有关外,还与SMOD位有关基本式为OSCSMODf642当SMOD1时,波特率OSCf642当SMOD0时,波特率OSCf641并行扩展法是指利用单片机的三组总线(AB、DB、CB)进行的系统扩展 串行扩展法是指利用SPI(Serial Peripheral Interface)三线总线和I2C双总线的串行系统扩展。 对于单片机系统扩展的方法有并行扩展法和串行扩展法两种 :芯片的串行接口与总线目前单片机应用系统中使用的串行扩展总线主要有Mmorola公司的串行外围接口SPIQSP1,NS公司的Microwireplus串行同步双
19、工通讯接口和Phitips公司的I2C BUS三种。SPI串行外设接口总线 SPI(Serial Peripheral Interface)总线 一种同步串行外设接口,用于MCU与各种外围设备以串行方式进行通信(8位数据同时同步地被发送和接收),系统可配置为主或从操作模式。从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT 、有的SPI接口芯片没有主机输出从机输人数据线MOSI)。 SPI系统可直接与各个厂家生产的多种标准外围器件直接接口。一般使用4条线:串行时钟线(SCK)主机输入从机输出数据线MISO主机输出从机输人数据线MOSI外围设备包括:简单的移位寄存器(用作并行输入或输
20、出口)至复杂的LCD显示驱动器或A/D转换器等。1. SPI总线接口逻辑时序 51单片机串行扩展SPI外设接口的方法 用一般I/O口线模拟SPI操作使用软件模拟SPI的操作,包括串行时钟、数据输入和输出。不同的串行接口外围芯片,其时钟时序是不同的。对于在时钟上升沿输入数据和在下降沿输出数据的器件,一般取时钟输出P1.1的初态为1;在允许接口芯片后,置P1.1为0。P1.0模拟MCU的数据输出端(MOSI),P1.1模拟SPI的SCK输出端,P1.2模拟SPI的从机选择端,P1.3模拟SPI的数据输入端(MISO)。输出输出 输入输入对对2814,有:,有:P1.1常用于开关量I/O、A/D、D
21、/A、时钟、显示及打印功能等。串行时钟芯片串行时钟芯片(2) 利用89C51串行口方式串行口方式0实现SPI操作I2C总线总线I2C(Inter-Integrated Circuit)总线是PHILIPS公司推出的同步串行数据传输总线。在很多器件上都配备有I2C总线接口,使用时一般需要通过I2C总线进行控制。1. I2C总线的概念是一种具有自动寻址、高低速设备同步和仲裁等功能的高性能串行总线,能够实现完善的全双工数据传输,是总线中使用信号线数量较少的。I2C总线只有只有两根信号线: 数据线数据线SDASDA和时钟线时钟线SCLSCL。总线传输速率 100 kb/s(改进后的规范为400 kb/
22、s),总线的长度可高达25英尺 。进入I2C总线系统中的设备都带有I2C总线接口,符合I2C总线的电气规范,I2C总线上所有节点的串行数据线SDA和时钟线SCL分别与总线的SDA和SCL相连。各节点供电可以不同,但需共地,SDA和SCL需分别接上拉电阻。应答信号:应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障 I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号
23、、结束信号和应答信号。 开始信号:开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。模拟I2C总线 51单片机与单片机与I2C总线的接口总线的接口 51 51单片机不带单片机不带I I2 2C C接口,若需控制接口,若需控制I I2 2C C总线总线时,可选择两个时,可选择两个I/OI/O口线,在软件中分别定义口线,在软件中分别定义成成SCLSCL和和SDASDA。(1) 单片机与单片机与I2C总线的硬件连接总线的硬件连接 51单片机与单片机与I2C总线的接口总线的接口(2 2)5151单片机对
24、单片机对I I2 2C C总线的控制程序总线的控制程序根据根据I I2 2C C总线对总线对SDASDA和和SCLSCL在各个时段的时在各个时段的时序要求,写出起始、停止、送应答位、送非应序要求,写出起始、停止、送应答位、送非应答位、检查应答位、发送一字节、接收一字节、答位、检查应答位、发送一字节、接收一字节、发送发送N N字节数据、接收字节数据、接收N N字节数据的子程序。字节数据的子程序。1) 51系列单片机的片外总线结构 2)51系列单片机的系统并行扩展能力 由于地址总线宽度为16位,在片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。片外数据存储器与程序存储器的操作使用
25、不同的指令和控制信号,允许两者的地址重复,故片外可扩展的数据存储器与程序存储器分别为64KB。 片外数据存储器与片内数据存储器的操作指令不同(片外RAM只能用MOVX指令),允许两者地址重复,亦即外部扩展数据存储器地址可从0000H开始。 为了配置外围设备而需要扩展的IO口,可与片外数据存储器统一编址,不再另外提供地址线。因此,在应用系统要大量配置外围设备以及扩展较多IO口时,要占去大量的RAM地址。 片外程序存储器与片内程序存储器采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现。 当EA0时,不论片内有无程序存储器,此时只使用片外程序存储器,片外程序存储器的地址应从000OH开始
26、设置;当EA1时,前4KB地址0000H 0FFFH为片内程序存储器所有,片外扩展的程序存储器的地址只能从1000H开始设置。 1片外数据存储器扩展时的总线功能和读、写操作时序 5l单片机对片外数据存储器读、写操作的指令如下有两组: MOVX A,Ri ;片外RAM(A) 读(RD)操作MOVX Ri,A ;(A)片外RAM 写(WR)操作 这组指令由于Ri只能提供8位地址,因此,仅能扩展256个字节的片外RAM; MOVX A,DPTR ;片外RAM(A) 读(RD)操作 MOVX DPTR,A ;(A)片外RAM 写(WR)操作这四条指令都是单字节双周期指令。 2扩展片外数据存储器的硬件电
27、路 (1)扩展2K8位片外数据存储器 两种访问方法: 采用 “ MOVX A,DPTR ” 和 “ MOVX DPTR,A”指令访问。 这时认定全部P0、P2口的16根口线同时用来传送地址信息。虽然,此处只使用了P2.2P2.0,但是P2.7P2.3却不宜再作IO口线使用了。读操作: MOV DPTR,#0000H MOVX A,DPTR写操作: MOV DPTR,#0000H MOVX DPTR,A 采用 “ MOVX A, Ri ” 和 “ MOVXRi,A ” 指令访问 这时用P2.2P2.0来传送地址,而其余的P2.7P23仍保留IO口的功能。不过P2.2P2.0的高位地址需要通过程序
28、来设定。(2)扩展16K8位片外数据存储器 (3)扩展更多片外数据存储器 1. 分别扩展片外程序存储器和片外数据存储器 完成输入输出口功能的扩展,可以利用简单的TTL电路或CMOS电路,也可以使用一些结构较为复杂的可编程接口芯片。 INTEL系列接口芯片有:可编程并行接口(8155、8255) 可编程通用同步异步通信接口(8251)可编程定时器计数器(8253)可编程中断控制器(8259)可编程键盘显示接口(8279)等。1利用 “ MOVXA, Ri ” 或 “ MOVXA,DPTR ” 扩展输入输出口 将扩展的IO口挂接在片外数据存储器空间,即与片外RAM统一编址,所以IO口的输入、输出指
29、令就是片外数据存储器的读写指令。 2扩展简单的输入输出口方法 (1)无片外数据存储器时的扩展 (2)有片外数据存储器时的扩展 当P1.00时,选通片外数据存储器6264,其地址范围为0000H1FFFH; 当P1.00时,选通输入口,口地址为0000H1FFFH范围内的任一地址。 键盘接口及处理程序 键开关状态的可靠输入 按键的消抖 键盘结构 独立式非编码键盘 (a)、按键结构(b)、按键的软件结构查询方式的键盘程序(设IO为P1口)START: MOV A, 0FFH ;置输入方式 MOV P1, A MOV A , P1 ;键状态输入 JNB ACC.0, P0 ;0号键按下转JNB ACC.1,P1 ;1号键按下转JNB ACC.2,P2 ; 2号键按下转JNB ACC.3,P3 : 3号键按下转JNB ACC.4,P4 ; 4号键按下转JNB ACC.5,P5 ; 5号键按下转使用扩展IO口的独立式按键电路 行列式键盘 一、工作原理键盘处理程序 判断有无键按下 识别按键两种方法:逐行(或列)扫描查询法 线反转法 二、单片机对非编码键盘扫描的控制方式 三种方式 :程序控制扫描方式,即查询方式 定时扫描方式,利用单片机内部定时器产生中断(例如l0ms),CPU响应中断后对键盘扫描
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业社会责任国际认证申请服务行业市场调研分析报告
- 装配用钳项目运营指导方案
- 反射疗法服务行业经营分析报告
- 商标监控法律服务行业相关项目经营管理报告
- 度假屋出租行业营销策略方案
- 公共汽车包租行业经营分析报告
- 婴儿车专用包产品供应链分析
- 复印机产业链招商引资的调研报告
- 手持纸带喷射器产业链招商引资的调研报告
- 互惠基金经纪行业相关项目经营管理报告
- 国外幼儿常规教育现状研究综述
- 小学英语数字化教学策略创新与实践
- 护理人体美第四章
- 中国天眼完整版本
- 机器人社团考试试卷附有答案
- 高速铁路客运服务职业生涯规划
- 医疗器械培训试题及答案
- 中药种植商业计划书
- 银行放款工作总结
- 投标书范本农业种植模板
- 智能制造招商计划
评论
0/150
提交评论