mcs51单片机原理复习市公开课金奖市赛课一等奖课件_第1页
mcs51单片机原理复习市公开课金奖市赛课一等奖课件_第2页
mcs51单片机原理复习市公开课金奖市赛课一等奖课件_第3页
mcs51单片机原理复习市公开课金奖市赛课一等奖课件_第4页
mcs51单片机原理复习市公开课金奖市赛课一等奖课件_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS-51单片机硬件结构第1页⑴8位CPU⑵片内128BRAM⑶片内4KBROM/EPROM(8031无)⑷特殊功效存放器区

SFR⑸2个优先级5个中止源结构⑹

4个8位并行口:P0、P1、P2、P3§2.1MCS-51单片机主要功效特点一、MCS-51单片机主要8051/8751功效特点指令系统第2页⑺2个16位定时器/计数器T/C⑻1个全双工串行口UART

⑼布尔处理机——位处理机(10)64KB外部RAM地址空间(11)64KB外部ROM地址空间(12)片内时钟电路及振荡器(13)指令系统(111条)上页下页回目录16条地址线指令系统第3页§2.2MCS-51单片机内部结构分析上页下页回目录RAMP0口串行口定时器计数器特殊功效存放器(SFR)中止系统微处理器ALU控制逻辑P2口P1口P3口ROM/EPROMCPU内部总线VccVssXTAL1XTAL2PSEN

EAALERESETP2.0~P2.7P0.0~P0.788P1.0~P1.78P3.0~P3.788051/8751面向用户结构8031共40条引线用户内特征用户外特征图2-2MCS-51功效

框图P32逻辑结构框图第4页1、中央处理器2、存放器3、I/O口MCS-51单片机有4个8位并行口,1个全双工串行口UART,2个16位T/C。由运算器和控制逻辑组成。主要功效是产生各种控制信号,控制存放器、I/O端口数据传送、数据运算、及位处理等操作等。采取SFR集中控制程序存放器ROM/EPROM(8031中没有,需外接),存放程序和编好表格及常数等。数据存放器RAM:存放中间结果、数据暂存、缓冲、及存放标志位等。8051/8751内部组成第5页40引脚,双列直插式结构上页下页回目录RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0RXDTXDINT0

INT1

T0

WRRDT1

XTAL1XTAL2VssVccEA/VPPALE/PROGPSEN80318051875140393837363534333231302928272625242322211234567891011121314151617181920§2.3MCS-51单片机引脚功效用户外特征第6页管脚功效(1)电源与时钟Vcc:接+5V电源端

Vss:接地端XTAL1:片内振荡电路输入端XTAL2:片内振荡电路输出端内时钟方式:在XTAL1、XTAL2上外接定时元件,使其形成自激振荡器。时钟电路:内时钟方式外时钟方式上页下页回目录第7页复位信号:高电平复位CPU,低电平CPU工作EA/VPPALEPSEN名称功能片外取指信号(片外程序存放器读)输出端低电平有效。经过P0口读回指令或常数。控制是片外程序存放器RESET⑵控制信号地址锁存信号。ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。程序存放器选择信号

上页下页回目录EA=0时,选外部ROM;1,地址小于4k时,选内部ROM地址大于4k时,选外部ROMP0口是数据/地址复用口用下降沿

锁存P0口低8位地址到外部锁存器第8页存放器内容存放器内容PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P30FFHIP×××00000BIE0××00000BTMOD00HTCON00HTH000HTL0

00HTH100HTL1

00HSCON00HSBUF不定PCON0××000B上页下页回目录第9页单片机各端口小结P0、P1、P2、P3四个端口都能够作为I/O口用,且均是准双向口:作为I/O口用时,且当由输出方式变为输入方式时,应先向口写入“1”,使两个FET均截止,然后再读入。如:将P0口引脚上信息读入A中,应用指令:MOVP0,#00H

MOVP0,#0FFH;端口锁存器置“1”MOVA,P0但仅P0口须外接上拉电阻,对P1、P2、P3口,因为它们内部己经接有上拉电阻,故不需外接上拉电阻;(提醒:这里加上拉电阻是指为预防引脚电平不确定而加,实际在应用中,为了提升引脚驱动能力普通在引脚上都有加上拉电阻)。P0口、P2口、P3口在特定情况下还详细其它功效。P0口:地址低8位与数据分时复用;P2口:外部程序存放器或数据存放器高8位地址线;P3口:含有第二功效。P0口、P2口、P3口在不作为其它功效用时才作为I/O口用。详细应用:有用P0口作I/O口时,P0口一定要加上拉电阻;只有当某脚(P0,P1,P2,P3)由输出方式变为输入方式时,才应先向口写入“1”,然后再读。第10页EA=1内部外部EA=00000H0FFFH0FFFH0000H1000H外部FFFFH8051/87518031一.51系列程序存放器配置图4KB接地2.4存放器组织第11页二.51系列数据存放器配置图第12页下页内部RAMSFR特殊功效存放器7FH00HFFH80HMCS-51内部RAM配置1.内部数据存放器配置图256B第13页0FH08H17H10H2FH20H7FH30H0区(8字节)1区(8字节)2区(8字节)3区(8字节)位寻址区数据缓冲区80个字节RAM只能按字节寻址16个字节分为128个RAM位可按位亦可按字节寻址四个工作存放器区1)、内部RAM区功效配置图R7R0~R7R0~R7R0~R7R0~00H1FH07H00H1FH18H布尔处理器上页下页回目录每个区,8个工作存放器R0~R7亦可作普通RAM使用第14页⑴通用存放器组32个RAM单元共4个区,每个区8个通用工作存放器R0~R7“区”选择由程序状态字PSW中RS1和RS0确定工作存放器区地址RS1RS0

2区10H~17H10

3区18H~1FH11上页下页回目录

0区00H~0007H

1区08H~010FH第15页⑵位寻址区(16个RAM单元VS12个SFR)·字节地址:20H~2FH·16个RAM字节共128个RAM位·位地址:00H~7FH·12个SFR中93位含有位寻址功效位寻址区128个RAM位93个SFR位·布尔处理机数据存放器主要组成部分上页下页回目录布尔处理机共221位直接地址能被8所整除组成其中3位无定义第16页(3)用户RAM区(数据缓冲区)共80个单元字节地址:30H~7FH8051单片机复位时,堆栈指针SP指向07H单元片内RAM部分单元可用作堆栈51栈区不是固定,为避开工作存放器区、位寻址区,用户堆栈普通设置在30H~7FH之间上页下页回目录真正RAM单元SP指针是可编程存放器第17页⑴程序计数器PC16位专用存放器,寻址范围64KB用户不能直接使用存放器。不属于SFR。2).专用存放器区通电时自动复位,运行时可手动复位,复位后,PC内容自动清零用来存放下一条指令地址。CPU取指令时,将PC内容经地址总线送到程序存放器,从该地址单元取回指令,译码并执行;同时,PC自动加1假如程序需要转移,可在程序中安排转移或条件转移指令(JMP或JNC)、调用子程序指令CALL等上页下页回目录PC0000H系统开启地址第18页⑵累加器A地址:0E0H⑶存放器B地址:0F0H⑷程序状态字PSW地址:0D0HCY

D7D6D5D4D3D2D1D0ACF0RS1RS0OVP格式以下:第19页⑸堆栈指针SP保护CPU现场和断点地址作用:工作方式:“先进后出”或“后进先出”数据压入堆栈时,SP自动加1数据弹出堆栈时,SP自动减1中止时转子时栈区“向上生成”按“先进后出”工作标准,由SP组织内部RAM区域,被称为堆栈。主程序分析SP:MOVSP,#60HPUSHAPUHSBPOP30H第20页⑹数据指针DPTR·16位存放器,高字节用DPH表示,低字节用DPL表示·对外部RAM或I/O口寻址,范围64KB例:MOVXA,@DPTRMOVX@DPTR,A;将外部RAM中地址为@DPTR单元内容读到A中;将A中内容写到外部RAM中地址为@DPTR单元MOVCA,@

A+DPTR;采取基址+变址方法读程序存放器内表格常数;DPTR为基址存放器,A为变址存放器上页下页回目录(DPTR)AP3.7RDP3.6WR(A)DPTR((A)+(DPTR))APSEN第21页⑺I/O端口P0~P3地址:80H90H0A0H0B0H专用存放器P0~P3分别是端口P0~P3锁存器⑻串行数据缓冲器SBUF地址:99H存放欲发送数据存放已接收数据一个地址:99H⑼定时/计数器T0T1MCS-51系列有2个16位定时/计数器T0、T1MCS-52系列增加了1个16位定时/计数器T2SBUF两个缓冲器共用“写”发送缓冲器“读”接收缓冲器MOVSBUF,AMOVA,SBUF第22页⑽其它控制存放器IP0B8H中止优先控制存放器IE0A8H中止允许控制存放器TMOD89H定时/计数器方式控制存放器TCON88H定时/计数器控制存放器SCON99H串行口控制存放器PCON97H电源及波特率选择控制地址名称作用第23页寻址空间64KB采取存放器间接寻址方式间址存放器有R0、R1(256B)数据指针DPTR(64KB)采取MOVX指令单片机产生读/写信号,对外部RAM产生读写操作2、外部数据存放器FFFFH0000H外部RAM(I/O)64KBMOVXA,@RiMOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,A“读”指令“写”指令经过三条总线扩展第24页§2.5MCS-51CPU时序1个机器周期=6个S状态=12(拍)个振荡周期1个指令周期由1个或多个机器周期组成。上页下页回目录第25页复习题复位高电平保持时间有何要求?复位后各存放器内容分别为多少?程序存放器与数据存放器作用各是什么?4个I/O端口功效上有何特点,使用上应注意什么?。。。第26页1.若MCS-51单片机采取6MHz晶振,其复位高电平脉冲时间应该超出()。A.2μsB.4μsC.2mSD.4Ms2.单片机8051用端口()传送地址。A.P0口和P1口B.P0口和P2口C.P0口和P3口D.P1口和P2口3.MCS-51单片机有片内ROM容量()。A.4KBB.8KBC.128BD.256B 4.程序计数器PC用来()。A、存放指令B、存放正在执行指令地址C、存放下一条指令地址D、存放上一条指令地址5.单片机应用程序普通存放在()。A、RAMB、ROMC、存放器D、CPU第27页6.设单片机晶振频率是fosc,则单片机执行非MOVX指令时,ALE信号频率是()。A.focsB.focs/2C.focs/6D.focs/127.8051内部RAM中,能够进行位寻址地址空间为()。A.00H∽2FHB.20H∽2FHC.00H∽FFHD.20H∽FFH8.对于INTEL8031来说,EA脚总是()。A.接地B.接电源C.悬空D.不用9.若标志单元PSW=77H

,当前工作存放器是()。

A.

第0区

B.第1区C.第2区

D.第3区10.辅助进位标志AC在()中A.累加器B.算逻运算部件ALUC.程序状态字存放器PSWD.DPTR11.执行三次POP指令后,堆栈指针SP值将()。A.减3B.加3C.减6D.加612.在单片机中,通常将一些中间计算结果放在()中。A、累加器B、控制器C、程序存放器D、数据存放器第28页第三章指令系统熟悉伪指令掌握MCS-51指令系统会正确书写指令,分析指令片段.第29页伪指令1、起点指令ORG2、结束命令END3、定义字节命令DB4、定义字命令DW5、定义空间命令DS6、等值命令EQU7、数据地址赋值等值命令DATA8、位地址符号命令BIT第30页指令系统数据传送指令(29条)普通不影响状态标志位(PSW:CY,AC,F0,RS1,RS0,OV,P),但堆栈操作能够修改PSW位,累加器A中’1’个数影响P位。3.3.2算术运算类指令(24条)(除个别INC、DEC指令影响P位外,其它指令普通都影响标志位。)逻辑运算(24条)除带进位循环指令RRC、RLC对标志位有影响外,其它指令不影响标志位。(4)位操作;(17条)(5)控制转移;(17条)第31页AJMP和LJMP转移范围CJNE指令JBC指令JBJNB…第32页1.(绝对)短跳转指令(2字节指令)AJMPaddr11;PC←addr11,跳转范围2k

(211=2K)这是2KB范围内无条件跳转指令,执行该指令时,先将PC+2(因该指令是2个字节指令),然后将addr11送入PC10~PC0,而PC15~PC11保持不变。这么得到跳转目标地址。需要注意是,目标地址与AJMP后面一条指令第一个字节必须在同一个2KB区域存放器区内。例:判断以下指令是否正确?(1)、地址指令0345HAJMP0123H(2)、2567HAJMP29ABH(1).(PC+2)=0347H二进制码为:0000001101000111B0123H二进制码为:0000000100100011B(2).(PC+2)=2569H二进制码为:0010010101101001B29ABH二进制码为:0010100110101011B解:第33页2.长跳转指令(3字节指令)

LJMPaddr16;PC←addr16,跳转范围64k执行该指令时,将16位目标地址addr16装入PC,程序无条件转向指定目标地址。转移目标地址能够在64KB程序存放器地址空间任何地方,不影响任何标志。3.散转指令(间接跳转指令)(1字节指令)JMP@A+DPTR;PC←((A)+(DPTR))执行该指令时,把累加器A中8位无符号数与数据指针中16位数相加,结果作为下条指令地址送入PC,不改变累加器A和数据指针DPTR内容,也不影响标志。利用这条指令能实现程序散转。第34页三、比较转移指令在MCS-51中没有专门比较指令,但提供了下面4条比较不相等转移指令:CJNEA,direct,relCJNEA,#data,rel;(A)=#data,继续,C←0(A)>#data,转,C←0(A)<#data,转,C←1特点:(A)只有<#data时,C←1CJNERn,#data,relCJNE@Ri,#data,rel这组指令功效是:比较前面两个操作数大小,假如它们值不相等则转移。转移地址计算方法与上述两条指令相同。假如第一个操作数(无符号整数)小于第二个操作数,则进位标志Cy置“1”,不然清“0”,但不影响任何操作数内容。如:CJNEA,#78H,LOOP

做减法运算注意:该指令本质上是做减法运算,但不影响原来操作数值。第35页从地址4678H开始有一指令AJMPaddr11,该指令可能实现转移范围是()A.4000H~4800HB.4000H~47FFHC.3800H~4100HD.6000H~6FFFH第36页例题例:指令:CLR30H中“30H”指是:()A、内部RAM单元(字节)地址B、位地址C、字节地址或位地址D、既不是字节地址也不是位地址B指令中给出一地址是位地址情况:1.位指令中地址,如MOVC,20H和JB20H,LOOPER中20H显著只能是位地址.2.CLR或CPL助记符后若是一直接地址时,则该直接地址必是位地址.如CLR20H,CPL20H中20H只能是位地址.第37页例3-3设(70H)=60H,(60H)=20H,P1口为输入口,P1口当前状态为AAH。分析下面程序结果。MOVR0,#70HMOVA,@R0MOVR1,AMOVB,@R1MOV@R0,P1第38页习题用指令完成以下数据传送.(1).R1内容传送到R0.(2).片外RAM20H单元内容送R0.(3).片外RAM20H单元内容送片内RAM20H单元.(4).片外RAM1000H单元内容送片内RAM20H单元.(5).ROMH单元内容送R0.(6).ROMH单元内容送片内RAM20H单元.(7).ROMH单元内容送片外RAM20H单元.第39页例3-12双字节无符号数减法,被减数分别在31H,30H中,减数分别在41H,40H单元中,差存于31H,30H单元中.CLRCMOVA,30HSUBBA,40HMOV30H,AMOVA,31HSUBBA,41HMOV31H,A第40页作业分别编程实现下面要求:将存放在内部RAM41H、40H中一个双字节数(高位字节在41H中,低位字节在40H中)加1,并将和放回在41H,40H中,不考虑溢出。将存放在内部RAM41H,40H中一个双字节数(高位字节在41H中,低位字节在40H中)减1,并将差放回在41H,40H中。设内部RAM41H、40H中有一双字节数(高位字节在41H中,低位字节在40H中),判断:当该数>9999时,将RAM41H、40H两单元清0,不然转向START2。第41页第四章汇编语言程序设计掌握次序结构\分支结构和循环结构程序设计.掌握查表程序设计熟悉子程序设计及调用会编写\分析程序简单程序\实时控制程序编写与分析延时程序时间计算”加一减一综合实践”第42页准确延时20ms程序(主频为12MHZ)DELY:MOVR7,#100;1T

DLY0:MOVR6,#98;1TNOP;1TDLY1:DJNZR6,DLY1;2T98×2T=196usDJNZR7,DLY0;2T

RET;2T第43页例10秒延时程序。延时程序与MCS-51执行指令时间相关,假如使用6MHz(12MHZ))晶振,一个机器周期为2μs(1μs),计算出一条指令以至一个循环所需要执行时间,给出对应循环次数,便能到达延时目标。10秒(5秒)延时程序以下:DELAY:MOVR5,#100;1TDEL0:MOVR6,#100;1TDEL1:MOVR7,#248;1TDEL2:DJNZR7,DEL2;2TDJNZR6,DEL1;2TDJNZR5,DEL0;2TRETT=[(248T×2+1T+2T)×100+1T+2T]×100+1T=4990301T第44页例4-20:一个十六进制数放在HEX单元低四位,将其转换成ASCII码查表程序:解:十六进制0~9ASCII码为30H~39H,A~FASCII码为41H~46H,

利用查表指令MOVCA,@A+DPTRMOVCA,@A+PC先用伪指令DB或DW把表格数据存入ROM上页下页回目录来取得数据ASCII码表格首址为ASCIITAB第45页ASCTAB:DB30H,31H,32H,33HDB34H,35H,36H,37HDB38H,39H,41H,42HDB43H,44H,45H,46HEND上页下页回目录编程1:

0123

456789

ABCDEFORG0200HHEXEQU30HHEXASC:MOVA,HEXMOVDPTR,#ASCTABMOVCA,@A+DPTRMOVHEX,ARETANLA,#0FHDPTR(A)=333H(A)=1546H第46页编程2:ORG0200HHEXEQU30HHEXASC:MOVA,HEXANLA,#00001111BADDA,#3MOVCA,@A+PCMOVHEX,ARETASCTAB:DB30H,31H,32H,33HDB34H,35H,36H,37HDB38H,39H,41H,42HDB43H,44H,45H,46HEND;变址调整;2字节;1字节PCPC#3上页下页回目录;变址调整第47页第五章该章为本课程一个重点该章内容主要包含中止系统定时/计数器串行口要求:了解原理,分析程序,编程应用.第48页一.中止系统中止概念中止优点(分时操作、实时处理、故障处理,是一个并行处理技术)中止响应时间中止请求,响应和返回应用熟悉相关特殊功效存放器第49页上页下页回目录源允许图5-19中止系统总体逻辑结构总允许优先级自然优先级中止源自然优先级中止源查询硬件查询硬件低级中止请求送CPU矢量地址送PCIPIETCONSCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1IT1011010101010矢量地址送PC高级中止请求送CPUIT001中止标志中止标志INT01IE0自然优先级矢量地址送PC“+1”TF10自然优先级矢量地址送PCEA“+1”“+1”EX0ET11PX0PT0PX1PT1PS“+1”“+1”第50页例题如图,要求每当开关K按下时,L1亮灭情况变换一次。VCCVCCL1K1P1.0P3.2INT0org0000hajmpmainorg0003hajmpkkorg0030hmain:setbit0setbex0setbeasjmp$kk:cplp1.0reti将setbit0改为clrit0情况怎样?第51页51单片机中止源有哪些?每个中止源中止向量是什么?系统默认优先级是什么?中止服务程序可否放在程序存放器任何区域?以下说法正确是()。A.各中止发出中止请求信号,都会标识在MCS-51系统IE存放器中。B.各中止发出中止请求信号,都会标识在MCS-51系统TMOD存放器中。C.各中止发出中止请求信号,都会标识在MCS-51系统IP存放器中。D.各中止发出中止请求信号,都会标识在MCS-51系统TCON或SCON存放器中。第52页二、定时/计数器结构与原理相关特殊功效存放器方式0,1,2应用第53页一、定时计数器结构与工作原理1、结构CPUTH1(8位)TL1(8位)T1

T1(P3.5)(8DH)(8BH)7070TH0(8位)TL0(8位)T0

T0(P3.4)(8CH)(8AH)7070TCON(88H)TMOD(89H)开启开启溢出溢出工作方式工作方式图5-1定时/计数器逻辑结构上页下页回目录“+1`”“+1`”第54页结构2个16位T/C分别由8位计数器TH0、TL0、

TH1、TL1组成“+1”计数器控制存放器TCON:控制T/C启停、中止等方式存放器TMOD:控制T/C工作方式2、工作原理⑴定时器定时输入信号:机器内部震荡信号1/12分频即每一个机器周期做一次“+1”运算上页下页回目录T0T1第55页若单片机晶振主频为12MHz则计数周期为1µs⑵计数器由外部引脚(T0为P3.4,T1为P3.5)输入计数脉冲。结论:T外>2T机→f外<fosc/24>TCY>TCY高电平低电平TCY:为机器周期一个机器周期采样一次,外部输入脉冲发生负跳变时,进行“+1”计数。第56页二、定时计数器方式存放器和控制存放器1、方式存放器TMODGATEC/TM1M0GATEC/TM1M0LSBMSB(89H)TMOD控制T1控制T0门控位功效选择位工作方式选择上页下页回目录TMOD和PCON两个特殊功效存放器只能字节寻址不能位寻址。第57页上页下页回目录2、控制存放器TCONLSBMSB(88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0启/停控制位T1、T0溢出标志位与外部中止INT1、INT0相关己在中止系统介绍“0”停顿“1”开启“1”有溢出“0”无溢出可编程可控制“+1”亦可由指令清“0”工作“1”“0”统计有没有溢出第58页例5-1若单片机晶振为12MHz,要求产生500µs定时,试计算X初值。解:因为T=1µs,产生500µs定时,需要“+1”500次,定时器方能产生溢出。采取方式0:(

13位计数器)X=213-(500×10-6/10-6)=8192-500=7692=1E0CH采取方式1:(

16位计数器)X=216-(500×10-6/10-6)=65036=FE0CHTHiTLi=0001111000001100B→0001111000001100B→

11110000

00001100B=F00CH关键点:只取低13位,高8位赋给TH0,低5位前加3个0凑成8位赋给TL0第59页上页下页回目录应用举例1、作定时器用例5-2设主频为12MHz,利用定时器T1定时。使P1.0输出周期(或频率)为2ms方波。解:用P1.0作方波输出信号,周期为2ms方波即可用每1ms改变一次电平方法完成,故定时值可设置为1ms。可做“+1”运算1000次,使T1工作在方式0,即13位计数器定时初值:X=M-计数次数=8192-1000=7192=1C18H第60页上页下页回目录因为TL1高3位不用,1C18H可写成:1110000000011000TL1高3位不用=E018HTH1初值为E0H,TL1初值为18HGATEC/TM1M0控制T1控制T00000选择方式0,13位计数器选择定时器方式INT1不参加控制TMOD=E018H第61页程序:上页下页回目录ORG0000HAJMPSTARTORG001BHAJMPBR1ORG0030HSTART:MOVTMOD,#0MOVTH1,#0E0HMOVTL1,#18HSETBEASETBET1SETBTR1SJMP$BR1:MOVTH1,#0E0HMOVTL1,#18HCPLP1.0RETI第62页计数初值转换一个简便方法(补充)(1).方式0:TL0=X.MOD.32(即等于X除以32后所得到余数部分)TH0=INT(X/32)(即等于X除以32后所得到整数部分)(2).方式1:TL0=X.MOD.256(即等于X除以256后所得到余数部分)TH0=INT(X/256)(即等于X除以256后所得到整数部分)注:上面式子中X为计数值,TL0、TH0存放计数初值。第63页练习用中止方式从P3.0输出一个频率为500HZ方波.第64页三、串行口串行口结构串口控制存放器SCON串行口4种工作方式特点及应用奇偶校验实现第65页(一)串行口结构A移位存放器第66页1.数据缓冲器SBUF发送SBUF和接收SBUF共用一个地址99H。 (1)发送SBUF存放待发送8位数据,写入SBUF将同时开启发送。 发送指令:MOVSBUF,A(2)接收SBUF存放已接收成功8位数据,供CPU读取。读取串行口接收数据指令:MOVA,SBUF第67页2.串行口控制/状态存放器SCON(98H)SM0,SM1:选择串行口4种工作方式。SM0SM1模式功能波特率000110110123同时移位存放器8位UART9位UART9位UARTfOSC/12可变(T1溢出率)fOSC/64或fOSC/32可变(T1溢出率)第68页依据SM0,SM1选择四种工作方式。一、方式0:同时移位存放器方式。用于扩展并行I/O接口。1、特点(1).一帧8位,无起始位和停顿位。(2).RXD:数据输入/输出端。TXD:同时脉冲输出端,每个脉冲对应一个数据位。(3).波特率B=fosc/12如:fosc=12MHz,B=1MHz,每位数据占1s,即每个机器周期移动一位数据。(4).发送过程:写入SBUF,开启发送,一帧发送结束,TI=1。接收过程:REN=1且RI=0,开启接收,一帧接收完成,RI=1。(二)串行接口工作方式第69页二、方式1:8位数据异步通讯方式。

1、特点(1).一帧10位:8位数据位,1个起始位(0),1个停顿位(1)。(2).RXD:接收数据端。TXD:发送数据端。(3).波特率:用T1作为波特率发生器,Rb=(2SMOD/32)×T1溢出率。(4).发送:写入SBUF,同时开启发送,一帧发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且停顿位为1(或SM2=0),将接收数据装入SBUF,停顿位装入RB8,并使RI=1;不然丢弃接收数据,不置位RI。第70页1.特点(1).一帧为11位:9位数据位,1个起始位(0),1个停顿位(1)。第9位数据位在TB8/RB8中,惯用作校验位和多机通讯标识位。(2).RXD:接收数据端,TXD:发送数据端。(3).波特率:方式2:B=(2SMOD/64)×fosc。 方式3:B=(2SMOD/32)×T1溢出率。(4).发送:先装入TB8,写入SBUF并开启发送,发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1(或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;不然丢弃接收数据,不置位RI。三、方式2和方式3:9位数据异步通讯方式。第71页串行口编程串行口需初始化后,才能完成数据输入、输出。其初始化过程以下:(1)按选定串行口操作模式设定SCONSM0、SM1两位二进制编码。(2)对于操作模式2或3,应依据需要在TB8中写入待发送第9位数据。(3)若选定操作模式不是模式0,还需设定接收/发送波特率。设定SMOD状态,以控制波特率是否加倍。若选定操作模式1或3,则应对定时器T1进行初始化以设定其溢出率。(三)串行口应用第72页例1:用8051串行口外接74LS165移位存放器扩展8位输入口,输入数据由8个开关提供,另有一个开关K提供联络信号。电路示意如图6.11所表示。当开关K合上时,表示要求输入数据。输入8位开关量,处理不一样程序。第73页程序以下:START:JBP1.0,$;开关K未合上,等候

CLRP1.1;165并行输入数据

SETBP1.1;开始串行移位MOVSCON,#10H;串行口模式0并开启接收JNBRI,$;查询RICLRRI;查询结束,清RIMOVA,SBUF;输入数据;依据A处理不一样任务SJMPSTART;准备下一次接收。…第74页

例3:用查询法编写串行口方式1下发送程序。设单片机主频为11.059MHZ,采取定时/计数器1方式2工作,作为波特率发生器。波特率为1200b/s,发送ASCII码数据在片内RAM20H~3FH单元,要求在最高位上加奇校验位后串行发送。T1计数初值:波特率1200b/s,取SMOD=0,则初值:X=256-11.059×106/[1200×12×(32/20)]=232=0E8HORG0000HAJMPSTARTPRG1000HSTART:MOVSP,#70HMOVTMOD,#20H;定时器T1为方式2MOVTH1,#0E8H;波特率为1200b/sMOVTL1,#0E8H;给TH1送重装初值SETBTR1;开启T1第75页MOVPCON,#00H;令SMOD=0MOVSCON,#40H;串行口为方式1MOVR0,#20H;字符块开始地址送R0MOVR2,#32;发送字节数D01:MOVA,@R0;发送ASCII数据送AMOVC,PSW.0;奇偶校验位送CCPLC;形成奇校验位送CMOVACC.7,C;使A中”1”个数为奇数MOVSBUF,A;开启发送JNBTI,$CLRTIINCR0;下一个地址DJNZR2,D01;若字符块未发送完则转到D01ED:SJMPED第76页以下说法错误是()。A.串行口通信第9数据位功效可由用户定义。B.发送数据第9数据位内容是在SCON存放器TB8位预先准备好。C.串行通讯发送时,指令把TB8位状态送入SBUF进行发送。D.串行通讯接收到第9位数据送SCON存放器RB8中保留。MCS-51单片机串行口有几个工作方式,怎样依据需要进行选择?第77页第六章单片机系统扩展设计系统扩展原理程序存放器扩展数据存放器扩展I/O端口扩展8255A8155(重点掌握)了解I/O端口、程序存放器地址、数据存放器地址关系。第78页6.1MCS-51系统扩展原理ALEP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0EAPSENRST803180518751VccVssP1口P2口P0口373GE+5VA0~A7A8~A15D0~D7I/OXTAL1XTAL2RXDTXDINT0INT1T0T1WRRD控制总线CB1、片外三总线结构数据总线DB晶振1.2~12MHZ8031地址总线AB进行系统扩展时,单片机引脚可组成三总线结构扩展用控制线有:WR,RD,PSEN,ALE,EA.第79页A6A7A5A0A1A2A3A4A13A8A9A10A11A12Q1Q0Q2Q7Q6Q5Q4Q3VccGNDVPPOECE271281D2D3D4D6D5D8D7D1Q2Q3Q4Q6Q5Q8Q7QGEVccGND+5V74LS373P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P2.0P3.1。。。P3.7P3.0P1.1。。。P1.7P1.0XTAL1XTAL2VccEAALEPSEN8031VSS+5V1、线地址译码法扩展16KBEPROM上页下页回目录=0线地址0000H3FFFH~4000H7FFFH~=0=1P202第80页1D2D3D4D6D5D8D7D1Q2Q3Q4Q6Q5Q8Q7QGEVccGND+5V74LS373P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P2.0P3.1。。P3.6P3.7P3.0P1.1。。。P1.7P1.0XTAL1XTAL2VccEAALEPSEN8031VSS+5VA6A7A5A0A1A2A3A4A8A9A10I/O1I/O0I/O2I/O7I/O6I/O5I/O4I/O3VccVssOECE6116WE+5V三、数据存放器扩展设计1、8051扩展2KBRAM上页下页回目录0000H07FFH~P209第81页6.7可编程RAM/IO扩展器8155/8156一、8155结构256×8静态RAMPA口PB口PC口14位定时/计数器PA7~PA0PB7~PB

0PC5~PC0TIMEOUTTIMEINAD7~AD0ALE/RD/WR/CEIO/MRESETVccGND图6-248155/8156内部结构上页下页回目录CPUI/O设备第82页二、8155RAM和I/O端口寻址方式及应用IO/M是RAM或I/O选择线0选中8155片内RAM,AD0~AD7为RAM地址1选中8155I/O口和定时器,AD0~AD7为I/O地址P0口和AD0~AD7相连为高,从AD0~AD7输入地址信息为低,从AD0~AD7输入/输出数据信息00H~FFHALE寻址IO/M=CE

=

0寻址不然AD0~

AD7呈三态A2A1A0选中I/O及存放器000命令及状态口001PA口010PB口011PC口100TL定时器低8位101TH定时器高6位上页下页回目录第83页三、命令存放器及状态存放器1、命令字格式

(8位)

D7

D6

D5

D4D3D2

D1D0TM2

TM1IEBIEAPC2

PC1PB

PA0输入1输出1开中止上页下页回目录D0PAD1PBD3D20输入1输出PC2PC1A、B、C口为基本I/O口A、B入/出由D1D0确定,C口入00A、B、C口为基本I/O口A、B入/出由D1D0确定,C口出1101

A口为选通方式,B口为基本I/OPC0~PC2口为PA口联络线PC3~PC5为基本I/O口输出方式10

A口、B口为选通I/OPC0~PC2口为PA口联络线PC3~PC5为PB口联络线0关中止00空操作01停顿计数10时间到,停顿计数11置入方式控制字和计数初值后,马上开启计数。若正在计数,溢出后则按新方式和初值计数。可编程可控“只写不读”由CPU写入第84页例题若8155CE端接P2.0,IO/M接P2.1,当无关位为全0和全1时分别写出其RAM与I/O口地址。第85页图6-288155与8031接口电路上页下页回目录P2.7P2.0CEP00P01P02P03P04P05P06P07AD0AD1AD2AD3AD4AD5AD6AD7IO/M80318155ALEP225P00P01P02P03P04P05P06P07AD0AD1AD2AD3AD4AD5AD6AD7ALEALEP2.7CEP2.0IO/MALERDWRRDWR第86页外部程序存放器地址和外部数据存放器地址是否能重合?扩展I/O端口占用谁地址?执行指令MOVXA,@DPTR时,和脚电平为()A.高电平,低电平B、低电平,高电平C、高电平,高电平D、低电平,低电平第87页第七章D/A与A/DD/ADAC0832结构原理DAC与单片机连接方法(三种)两种输出方式(单极性和双极性,对应转换公式)应用A/DADC0809组成与工作原理(转换公式)应用第88页D0D1D2D3D4D5D6D7ILECSWR1XFERWR2VREFIOUT2IOUT1RfbAGNDDGNDVCC图7-2DAC0832结构图LE1LE2上页下页回目录8位输入锁存器8位寄存器DAC8位转换器D/A锁存允许片选写1写2传送15K第89页D/A转换器输出方式1、单极性输出上页下页回目录P27MOVDTPR,#7FFFHMOVX@DPTR,AWRD0D1D2D3D4D5D6D7V05V0V~P267

图7-7DAC0832单极性输出电路经典应用电路第90页上页下页回目录2、双极性输出P268

图7-8DAC0832双极性输出电路经典应用电路第91页几点说明图7-8中,R1=R2=2R3,Rfb和输出端之间可串接一可调电阻,调整输出满程量;R4是运放调

温馨提示

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

评论

0/150

提交评论