1、第一章第一章 绪绪 论论本章重点:本章重点: 1.1.单片机的发展及应用单片机的发展及应用2.2.常用单片机系列简介常用单片机系列简介主要内容:主要内容: 本章主要介绍单片机的发展,基本的结构和特点;常用本章主要介绍单片机的发展,基本的结构和特点;常用的单片机系列,单片机的应用模式和领域等。的单片机系列,单片机的应用模式和领域等。 单片机有两种基本结构形式:单片机有两种基本结构形式: 一种是将程序存储器和数据存储器合用一个存储空间的一种是将程序存储器和数据存储器合用一个存储空间的结构,称为结构,称为普林斯顿普林斯顿(Princeton)(Princeton)结构结构或称或称冯冯诺依曼结构诺依曼
2、结构; 另一种是将程序存储器和数据存储器截然分开,分别寻另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为址的结构,称为哈佛哈佛(Har-vard)(Har-vard)结构结构。IntelIntel公司的公司的MCS-51MCS-51和和80C5180C51系列单片机采用的都是系列单片机采用的都是哈佛结构哈佛结构。 单片机的中央处理器单片机的中央处理器(CPU)(CPU)和通用微处理器基本相同,只和通用微处理器基本相同,只是增设了是增设了“面向控制面向控制”的处理功能。的处理功能。 总线构成总线构成二、二、 单片机的一般结构及特点单片机的一般结构及特点第一节第一节第二章第二章 MC
3、S-51MCS-51单片机的硬件结构与工作原单片机的硬件结构与工作原理理本章重点:本章重点: 1.1. MCS-51MCS-51系列单片机存储器结构特点系列单片机存储器结构特点2.2.单片机特殊功能寄存器的作用单片机特殊功能寄存器的作用3.3.不同场合下单片机引脚的复用功能不同场合下单片机引脚的复用功能4.4.单片机的位处理功能及其作用单片机的位处理功能及其作用主要内容:主要内容: 本章主要介绍本章主要介绍MCS-51MCS-51系列的系列的80518051的基本结构、工作原理的基本结构、工作原理以及存储器结构。介绍了并行以及存储器结构。介绍了并行I/OI/O端口端口P0P0、P1P1、P2P
4、2、P3P3口的口的基本工作原理和操作特点。基本工作原理和操作特点。MCS-51MCS-51单片机的中断系统概述及单片机的中断系统概述及中断的处理过程中断的处理过程一、一、MCS51单片微机的硬件组成单片微机的硬件组成MCSMCS5151系列单片机的主要特性如下:系列单片机的主要特性如下:1.1. 8 8位字长位字长CPUCPU和指令系统。和指令系统。2.2. 一个片内时钟振荡器和时钟电路。一个片内时钟振荡器和时钟电路。3.3. 64K64K外部数据存储器的地址空间。外部数据存储器的地址空间。4.4. 64K64K外部程序存储器的地址空间。外部程序存储器的地址空间。5.5. 3232条双向且分
5、别可位寻址的条双向且分别可位寻址的I IO O口线。口线。6.6. 128128字节的片内字节的片内RAM(52RAM(52子系列为子系列为256256字节字节) )。7.7. 2 2个个1616位定时器计数器位定时器计数器(52(52子系列为子系列为3 3个个) )。8.8. 具有具有2 2个优先级的个优先级的5 5个中断源结构个中断源结构(52(52子系列有子系列有6 6个个) )。9.9. 一个全双工串行口。一个全双工串行口。10.10.1 1个布尔处理器。个布尔处理器。第一节第一节 MCS-51MCS-51单片机的基本组成单片机的基本组成第一节第一节采用采用4040脚双列直插式封装的脚
6、双列直插式封装的MCSMCS5l5l系列单片系列单片机引脚图:机引脚图:1 1、电源线和时钟信号线共、电源线和时钟信号线共4 4根根VCCVCC,GNDGND电源和地电源和地+5V+5V电源供电,电源供电,XTAL1(19XTAL1(19脚脚) )时钟振荡器输入端;时钟振荡器输入端;XTAL2(18XTAL2(18脚脚) )时钟振荡器输出端;时钟振荡器输出端;2 2、控制线、控制线6 6根根RSTRST复位信号,晶振工作后复位信号,晶振工作后2 2个机器周期个机器周期的高电平复位的高电平复位CPU. CPU. ALEALE地址锁存信号访问外部存储器时该信地址锁存信号访问外部存储器时该信号锁存低
7、号锁存低8 8位地址;无位地址;无RAMRAM时,时,ALEALE为晶振为晶振6 6分分频;频;PSENPSEN外部程序存储器读从程序存储器中外部程序存储器读从程序存储器中取指令或读取数据时,该信号有效。取指令或读取数据时,该信号有效。EAEA程序存储器有效地址,程序存储器有效地址,EA=1EA=1从内部开从内部开始执行程序;始执行程序;EA=0EA=0从外部开始执行程序;从外部开始执行程序;3 3、I/OI/O口线口线3232根根MCS-51MCS-51系列单片机系列单片机P0P0、P1P1、P2P2、P3P3共共3232位,位,对应着芯片的对应着芯片的3232根引脚。根引脚。二、二、MCS
8、MCS5151单片机的管脚功能单片机的管脚功能1234567891011121314151617181920403938373635343332313029282726252424222180318051875189C51VCCVSSXTAL2XTAL1RSTP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7EA第一节第一节有关有关CPUCPU时序的概念时序的概念振荡周期振荡周期状态周
9、期状态周期P1P2S1P2机器周期机器周期机器周期机器周期指令周期指令周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2XTAL2(OSC)1、振荡周期、振荡周期晶振周期,晶振周期,外接晶振一外接晶振一般为般为6MHz或或12MHz2、状态周期、状态周期为振荡周期的为振荡周期的2倍倍3、机器周期、机器周期为为6个状态周期,个状态周期,12个振荡周期,个振荡周期,执行指令以机器周期为基本单位执行指令以机器周期为基本单位4、指令周期、指令周期CPU执行一条指令所需的时执行一条指令所需的时间,需间,需14个机器周期个机
10、器周期第一节第一节1、若外接晶振、若外接晶振fOSC=12MHz时:时:振荡周期振荡周期1/6MHz1/6s0.167s状态周期状态周期2(1/6s)=0.334s机器周期机器周期12(1/6s)=2s指令周期指令周期28s时钟参数时钟参数振荡周期振荡周期1/12MHz1/12s0.0833s状态周期状态周期2(1/12s)=1/6s0.167s机器周期机器周期12(1/12s)=1s指令周期指令周期14s2、若外接晶振、若外接晶振fOSC=6MHz时:时:第一节第一节第二节第二节 存储器组织与操作存储器组织与操作存储器存储器程序存储器:存放程序和表格常数程序存储器:存放程序和表格常数数据存储
11、器:存放中间结果,采集数据等数据存储器:存放中间结果,采集数据等256B片内片内RAM片外片外RAM程序存储器程序存储器64KRAM片内片外片内片外数据存储器数据存储器64KROM片内片外统一编址的片内片外统一编址的64K64K程序存储器程序存储器64K64K片外数据存储器片外数据存储器256B256B片内数据存储器片内数据存储器哈佛结构哈佛结构80318031无片内无片内ROMROM80518051有有4K4K片内片内ROMROM最大配置最大配置0000HFFFFH0000HFFFFH00HFFH第四节第四节8031/8032无片内无片内ROM,需外部扩展,需外部扩展不同型号的单片机不同型号
12、的单片机8051/8751片内有片内有4KROM/EPROM0000HFFFFH0000HFFFFH00HFFH256B片内片内RAM片外片外RAM64K64K片外片外EA=0EA=10000HFFFFH0000HFFFFH00HFFH256B片内片内RAM片外片外RAM64K60K片外片外片内片内0FFFH1000H片外片外60K片内片内4K第四节第四节特殊功能寄存器特殊功能寄存器1、堆栈指针、堆栈指针SP(81H)StackPointer,是一,是一8位专用寄存器,位专用寄存器,8位指针。位指针。堆栈是一个特殊的存储区,设在片内堆栈是一个特殊的存储区,设在片内RAM中,中,复位时复位时SP
13、=07H。2、数据指针、数据指针DPTR(82H、83H)16位寄存器,存放位寄存器,存放16位地址,可分为位地址,可分为DPH和和DPL两两个个8位寄存器使用。位寄存器使用。DPTR主要用于操作片外主要用于操作片外RAM。3、I/O口口P0P3专用寄存器专用寄存器P0P3是输入输出端口是输入输出端口P0P3的锁存器。的锁存器。I/O口的操作没有专用指令,用操作口的操作没有专用指令,用操作RAM的指令。的指令。4、程序计数器、程序计数器PCProgramCounter,是一个,是一个16位的指针,存放将要执行位的指针,存放将要执行指令的地址。用户不可读写它,复位时指令的地址。用户不可读写它,复
14、位时PC=0000H。第四节第四节第三节第三节 中断及中断源中断及中断源一、中断(一、中断(Interrupt) 1 1、CPUCPU在执行程序时,在执行程序时,CPUCPU以外的设备请求停止现程以外的设备请求停止现程序的执行,转去处理外设事件,处理后再回到原地执序的执行,转去处理外设事件,处理后再回到原地执行,这一过程叫中断。行,这一过程叫中断。主程序主程序转移转移中断程序中断程序返回返回断点断点 2 2、中断流程、中断流程 继续继续与子程序调用相似与子程序调用相似但有本质的区别但有本质的区别第五节第五节第三章第三章MCS-51MCS-51单片机的指令系统单片机的指令系统本章重点:本章重点:
15、1.1.指令的寻址方式指令的寻址方式2.2.指令功能及使用方法指令功能及使用方法 一、立即寻址一、立即寻址第一节第一节 MCS51单片机的寻址方式单片机的寻址方式寄存器中寄存器中存储器中存储器中数据存储器数据存储器RAM或程序存储器或程序存储器ROM操作数在哪里?操作数在哪里?外部设备中外部设备中可以在指令中给出操作数或给出操作数的地址可以在指令中给出操作数或给出操作数的地址把指令访问(或获得)操作数的方式,称为寻址方式把指令访问(或获得)操作数的方式,称为寻址方式指令中直接给出指令中直接给出MOVA,#30H;把立即数;把立即数30H送给送给A操作数就在指令中,称为立即数,用操作数就在指令中
16、,称为立即数,用#号标识。号标识。有有7 7种寻址方式种寻址方式第一节第一节二、直接寻址二、直接寻址 指令中直接给出操作数所在的地址,指令中直接给出操作数所在的地址,用于访问片内用于访问片内RAMRAM MOV AMOV A, 30H 30H ;将片内;将片内RAMRAM中中30H30H单元的内容给单元的内容给A A 用直接寻址可以访问片内用直接寻址可以访问片内RAMRAM的低的低128128字节单元、位地址空间字节单元、位地址空间及及SFRSFR,且位地址空间和,且位地址空间和SFRSFR只能用直接寻址。只能用直接寻址。 三、寄存器寻址三、寄存器寻址 操作数在寄存器中,指令中给出存放操作数的
17、寄存器操作数在寄存器中,指令中给出存放操作数的寄存器A A、B B、DPTRDPTR、R0R0R7 R7 MOV AMOV A, R2 R2 ;将;将R2R2中的内容给中的内容给A A 设设30H30H单元中为单元中为05H05H (A A) = = ?MOV AMOV A,#30H#30HMOV R2MOV R2,#0A5H#0A5HMOV AMOV A,R2 R2 程序执行后程序执行后 A =A =?第一节第一节 指令中通过寄存器给出操作数所在的指令中通过寄存器给出操作数所在的地址地址,即,即寄存器中存放的是操作数的地址,还不是要找的操寄存器中存放的是操作数的地址,还不是要找的操作数,称为
18、作数,称为指针方式指针方式 间接寻址用于访问间接寻址用于访问RAMRAM,包括片内包括片内RAMRAM和片外和片外RAMRAM 能用于寄存器间接寻址的寄存器有:能用于寄存器间接寻址的寄存器有:四、寄存器间接寻址四、寄存器间接寻址 MOV 30HMOV 30H,#0FFH#0FFHMOV R0MOV R0,#30H#30HMOV AMOV A,R0 R0 R0R0,R1R18 8位指针,主要用于访问片内位指针,主要用于访问片内RAMRAMDPTRDPTR1616位指针,主要用于访问片外位指针,主要用于访问片外RAMRAM 程序执行后程序执行后 A =A =?30H30H31H31H32H32H片
19、内片内RAMRAMFFHFFHXXHXXHXXHXXH(R0)(R0)A AFFHFFHR0R030H30H例例第一节第一节MOV DPTRMOV DPTR,#2000H#2000HMOVX AMOVX A,DPTR DPTR 程序执行后程序执行后 A =A =?2000H2000H2001H2001H2002H2002H片外片外RAMRAM50H50HXXHXXHXXHXXH(DPTR)(DPTR)A A50H50HDPTRDPTR2000H2000H片外片外RAMRAM的操作的操作五、变址寻址(基址加变址寻址)五、变址寻址(基址加变址寻址) 以以DPTRDPTR或或PCPC为基址寄存器,为
20、基址寄存器,A A为变址寄存器,两者相为变址寄存器,两者相加后的地址作为有效地址的寻址方式。加后的地址作为有效地址的寻址方式。 MOVC AMOVC A,A+DPTR A+DPTR (查表)(查表)MOVC AMOVC A,A+PC A+PC (查表)(查表) JMP A+DPTR JMP A+DPTR (散转)(散转)例例第一节第一节MOV AMOV A,#04H#04HMOV DPTRMOV DPTR,#2000H#2000HMOVC AMOVC A,A+DPTR A+DPTR 程序执行后程序执行后 A =A =?ROMROM(DPTR)(DPTR)A A55H55H变址寻址变址寻址用于访
21、问程序存储器,只读,不能写。用于访问程序存储器,只读,不能写。有效地址的计算:有效地址的计算: (DPTR + A)(DPTR + A)(PC + A)(PC + A)55H55H5CH5CH4BH4BH6DH6DH3AH3AH2000H2000H2001H2001H2002H2002H2003H2003H2004H2004H2004H2004H(DPTR+A)(DPTR+A)A A、DPTRDPTR可以赋值,但可以赋值,但PCPC不能赋值,由程序执行后不能赋值,由程序执行后PCPC当前值当前值决定决定PCPC值,自动产生。值,自动产生。 注意注意55H55H第一节第一节 相对跳转指令都是相对
22、寻址相对跳转指令都是相对寻址 以以PCPC当前值为基础,加上指令中给出的偏移量作为当前值为基础,加上指令中给出的偏移量作为转移地址转移地址 六、相对寻址六、相对寻址 相对寻址用于修改相对寻址用于修改PCPC值,实现程序的分支转移值,实现程序的分支转移 例如例如: SJMP 08H : SJMP 08H ;PCPC+2+08HPCPC+2+08H偏移量为一个偏移量为一个8 8位带符号补码,范围为位带符号补码,范围为+127+127128128转移的目的地址转移的目的地址=PC=PC当前值当前值+ +偏移量偏移量LPLP:CPL P1.0CPL P1.0 LCALL LCALLDELAY DELA
23、Y SJMP LPSJMP LP 一般用符号地址表示一般用符号地址表示PCPC当前值当前值= =指令地址指令地址+ +指令字节数指令字节数第一节第一节七、位寻址七、位寻址 指对能位寻址的片内指对能位寻址的片内RAMRAM区(区(20H20H2FH2FH)、可位寻址)、可位寻址的的SFRSFR进行位操作的寻址方式进行位操作的寻址方式 。 位地址表示位地址表示MOV CMOV C,20H 20H ;将;将20H20H位内容给位内容给CYCYSETB P1.7 SETB P1.7 ;置;置1 1,P1.7=1P1.7=1CLR P1.7 CLR P1.7 ;清;清0 0,P1.7=0P1.7=0MO
24、V 20HMOV 20H,C C ;CYCY的内容给的内容给20H20H位位 1 1)直接位地址)直接位地址20H20H2 2)位名称)位名称C C、F0F0、OVOV3 3)专用寄存器)专用寄存器+ +位序号位序号P1.0P1.04 4)单元地址加序号)单元地址加序号80H.6 80H.6 位地址与字节地址完全一样,由指令区分位地址与字节地址完全一样,由指令区分 指令中有多个操作数,可能有多种寻址方式指令中有多个操作数,可能有多种寻址方式 内部内部RAMRAM与内部与内部I/OI/O口统一编址,外部口统一编址,外部RAMRAM与外部与外部I/OI/O口统一编址,用相同的操作指令。口统一编址,
25、用相同的操作指令。注意注意第一节第一节一、指令格式一、指令格式 操作码操作码指出指出CPUCPU要做的操作代码要做的操作代码操作数操作数指出要操作的对象指出要操作的对象例如:例如: ADD AADD A, #05H#05H 操作码操作码操作数操作数 单字节指令单字节指令操作码和操作数在同一个字节中操作码和操作数在同一个字节中 双字节指令双字节指令操作码一个字节,操作数一个字节操作码一个字节,操作数一个字节 三字节指令三字节指令操作码、操作数、操作数操作码、操作数、操作数 MCS-51MCS-51汇编语言语句的表示:汇编语言语句的表示: STARTSTART:MOV AMOV A, #05H #
26、05H ;把;把05H05H给给A A 标号标号操作码操作码操作数操作数注释注释指令组成:指令组成: 第二节第二节 MCS51MCS51单片机的指令分类单片机的指令分类STARTSTART:MOV AMOV A, #05H #05H ;把;把05H05H给给A A 标号标号操作码操作码操作数操作数注释注释1 1)标号)标号 符号地址,字母开头,由符号地址,字母开头,由1 16 6个字母组成,以冒号结束个字母组成,以冒号结束2 2)操作码)操作码 指令助记符,后跟空格作分隔符指令助记符,后跟空格作分隔符3 3)操作数)操作数 有多个操作数时,先目的操作数,后源操作数,用逗号分开有多个操作数时,先
27、目的操作数,后源操作数,用逗号分开4 4)注释)注释 说明解释作用,以分号开头说明解释作用,以分号开头包括包括4 4个域(或称为字段),用分隔符隔开个域(或称为字段),用分隔符隔开指令系统:1 1、栈操作指令(隐含的、栈操作指令(隐含的SPSP是寄存器间接寻址),是一是寄存器间接寻址),是一种数据传输操作,用种数据传输操作,用SPSP为指针,为指针,MCS-51MCS-51的堆栈是向上的堆栈是向上生成的(压栈时,生成的(压栈时,SPSP增加;弹出时,增加;弹出时,SPSP减少)。压栈减少)。压栈时,栈指针先加时,栈指针先加1 1,再传送;弹出时,先传送,再将栈,再传送;弹出时,先传送,再将栈指
28、针减指针减1 1。 2 2、对外部数据存储器或、对外部数据存储器或I/OI/O口进行读口进行读/ /写操作时,只能写操作时,只能使用寄存器间接寻址方式,指令助记符用使用寄存器间接寻址方式,指令助记符用MOVX MOVX ,其地,其地址指针可用址指针可用DPTRDPTR也可用也可用RiRi,这时高位地址可通过,这时高位地址可通过P2P2口传送,即执行这种指令之前,需将高位地址送到口传送,即执行这种指令之前,需将高位地址送到P2P2口锁存器。口锁存器。指令系统: 输入指令:MOVX A, DPTR MOVX A, R0 MOVX A, R1 输出指令:MOVX DPTR, A MOVX R0, A
29、 MOVX R1, A 特点:用于片外RAM和扩展IO口的输入输出数据,都要经过累加器中转。指令系统:3、MCS-51指令系统中提供了两条极为有用的查表指令,用户可以将常数以表格的形式存在程序存储器中,通过查表指令访问,把相应常数取出。 MOVCA,A+PC MOVCA,A+DPTR MOVC A,A+PC 是以PC为基地址,加上变址寄存器A中的内容(为无符号数),形成操作数的地址,把该地址单元的内容送到累加器A中。注意:指令执行后,PC的内容不变,仍指向下一条指令的第一个字节。指令系统: MOVC A,A+DPTR 这以DPTR为基地址,加上变址寄存器A中的内容(为无符号数),形成操作数的地
30、址,把该地址单元中的内容送到累加器A 中。指令执行后,DPTR的内容不变。软件延时软件延时例例1:CPU执行指令消耗时间来延时,一般要用多重循环执行指令消耗时间来延时,一般要用多重循环嵌套实现。内循环执行完,外循环执行一次。嵌套实现。内循环执行完,外循环执行一次。解解:软件延时软件延时10ms,设,设fosc=12MHz,T机器机器=1us ORG0000HMOVR3,#10;外循环;外循环10次次LP1:MOVR2,#0FFH;内循环;内循环255次次LP2:NOP;1TNOP;1TDJNZR2,LP2;2TDJNZR3,LP1;2TEND内循环内循环外循环外循环内层循环时间:内层循环时间:
31、t1=4255=1020us外层循环时间:外层循环时间:t2=(2+1020+2)10=10240us 10ms计算:计算:数据传送数据传送例例2将片内将片内RAM40H单元开始存放的数据块单元开始存放的数据块50个字节传个字节传送到片外送到片外RAM4000H单元开始的单元开始的50个单元中。个单元中。设两个指针,指向两个数据块设两个指针,指向两个数据块解解:1、确定算法、确定算法DPTR指向片外指向片外RAM首地址首地址R0指向片内指向片内RAM首地址首地址设一个计数器设一个计数器R7XX4000H4001H4002HXXXX 片外片外RAMXX40H41H42HXXXX片内片内RAMR0
32、DPTR ORG0000HMOVR0,#40H;设指针;设指针MOVDPTR,#4000H;设指针;设指针MOVR7,#50;设计数器;设计数器LOOP:MOVA,R0;取数;取数MOVXDPTR,A;存数;存数INCDPTR;移指针;移指针INCR0;DJNZR7,LOOP;循环;循环SJMP$END开始开始设指针,赋初值设指针,赋初值取片内数取片内数A A存到片外存到片外R7-1=0?NY结束结束移指针移指针2、流程图、流程图3、源程序、源程序片内到片外片内到片外 ORG0000HMOVR0,#40H;设指针;设指针MOVA,#10H;初始值;初始值MOVR7,#10H;设计数器;设计数器
33、LOOP:MOVR0,A;存;存A的值的值INCR0;移指针;移指针INCA;修改;修改A的值的值DJNZR7,LOOP;循环;循环SJMP$END开始开始设指针,赋初值设指针,赋初值存存A A的值的值移指针移指针R7-1=0?NY结束结束修改修改A A的值的值循环置数程序循环置数程序将片内将片内RAM40H4FH单单元依次写入元依次写入10H1FH。11H40H41H42H10H12H片内片内RAMR0R0指向指向40H,R7=10H,A=10H第四章第四章 单片机定时单片机定时/ /计数器及其使用计数器及其使用本章重点:本章重点: 1.1.定时器的结构和工作原理定时器的结构和工作原理2.2
34、.定时器的工作方式定时器的工作方式主要内容:主要内容: 本章主要介绍结构和工作原理,定时器的控制,定时器本章主要介绍结构和工作原理,定时器的控制,定时器的应用以及定时器的工作方式等。的应用以及定时器的工作方式等。 第二节第二节 定时器的控制定时器的控制一、工作方式寄存器一、工作方式寄存器TMODTMODTMOD用来设置定时器的工作方式,字节地址为用来设置定时器的工作方式,字节地址为89H89H低四位用于低四位用于T0T0,高四位用于,高四位用于T1T11 1、M1 M0 M1 M0 为工作方式选择位为工作方式选择位0 0 0 0 方式方式0 130 13位定时位定时/ /计数器计数器0 1 0
35、 1 方式方式1 161 16位定时位定时/ /计数计数 1 0 1 0 方式方式2 2 一个一个8 8位自动重装载定时位自动重装载定时/ /计数器计数器1 1 1 1 方式方式3 T13 T1不工作,不工作,T0T0分为两个分为两个8 8位定时器位定时器定时器定时器T1定时器定时器T0 GATEC/TM1M0GATEC/TM1M0 D7 D6D5D4D3D2D1D0TMOD(89H) 第四节第四节 定时器的应用定时器的应用一、初始化一、初始化 1 1、确定工作方式,对、确定工作方式,对TMODTMOD赋值赋值 2 2、定时器赋初值,写入、定时器赋初值,写入TH0TH0、TL0TL0或或TH1
36、TH1、TL1TL1 3 3、开放中断,给、开放中断,给IEIE赋值,赋值,EAEA、ET0ET0、ET1ET1 4 4、启动定时器工作,给、启动定时器工作,给TR0TR0、TR1TR1置置1 1二、初值计算二、初值计算 1 1、计数方式时:、计数方式时:初值:初值: X=2X=2n n- -计数值计数值 (n n为位数,为位数,8 8、1313、1616) 2 2、定时方式时:、定时方式时:初值计算:初值计算: (溢出值(溢出值2n- -初值)初值)周期周期= =计数值计数值周期周期 计数值计数值周期周期= =定时时间定时时间 一个机器周期一个机器周期=12/=12/晶振频率晶振频率 晶振频
37、率晶振频率=12MHz=12MHz时,一个机器周期时,一个机器周期=12/12MHz=1=12/12MHz=1 s s 晶振频率晶振频率=6MHz=6MHz时,一个机器周期时,一个机器周期=12/6MHz=2=12/6MHz=2 s s 方式寄存器:TMOD P114控制寄存器:TCON P114方式0:13位CTC: 定时范围:2us-16.384ms (fosc=6MHz) 为加1计数器,初值用补码装入;重复计数/定时,必须重新置初值。方式1:16位CTC: 定时范围:2us-131.072ms (fosc=6MHz) 其余与方式0相同方式2: 8位CTC: 定时范围:2us-512us
38、(fosc=6MHz) 当重复定时计数时会自动恢复初值并重新启动方式3:只适用于T0 此时T0分成两个独立的8位计数器TL0和TH0,其中TL0可作为定时/计数,并占用了T0的所有控制位C/T、GATE 、TR0、INT0、TR0、TF0 而TH0只能为定时器,并占用了T1的中断资源TF1和T1的启动位TR1。 所以T0为方式3时,T1的控制条件只有两个:C/T和M1、M0且不能使用中断。这时T1一般作为波特率发生器。溢出值溢出值2n初值初值定时计数值定时计数值第五章第五章 MCS51MCS51单片机的串行接口单片机的串行接口本章重点:本章重点: 1. MCS-511. MCS-51单片机串行
39、接口的工作原理及工作方式单片机串行接口的工作原理及工作方式2. MCS-512. MCS-51单片机串行接口应用程序设计方法单片机串行接口应用程序设计方法主要内容:主要内容:1. 1. 串行通信概述串行通信概述2. MCS-512. MCS-51单片机串行通信接口的结构单片机串行通信接口的结构3. MCS-513. MCS-51单片机串行通信的工作原理及其工作方式单片机串行通信的工作原理及其工作方式4. MCS-514. MCS-51单片机串行接口应用编程单片机串行接口应用编程二、串行口控制寄存器二、串行口控制寄存器nSM0 SM1: SM0 SM1: 串行口操作模式选择位串行口操作模式选择位
40、. .可以确定串行口的四可以确定串行口的四种模式之一种模式之一( (如下表如下表););SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRISM0 SM1SM0 SM1模式模式功功 能能波特率波特率 0 0 0 00 0同步移位寄存器模式同步移位寄存器模式Fosc/12Fosc/12 0 1 0 11 18 8位异步通信位异步通信UARTUART可变可变 1 0 1 02 29 9位异步通信位异步通信UARTUARTFosc/64Fosc/64或或/32/32 1 1 1 13 39 9位异步通信位异步通信UARTUART可变可变四种工作方式:(1)方式0
41、为移位寄存器I/O方式,数据从RXD端串行输入或输出,同步信号从TXD端输出,波特率固定为fosc/12,数据以8位为一帧,先低位后高位依次传送。(具体应用见课件的例1)(2)方式1 为8位的异步通信接口,传送一帧信息为10位,其中1位为起始位(0),8位数据位(低位在前),1位停止位(1)。四种工作方式:(3)方式2 为9位的异步通信接口,传送一帧信息为11位,其中1位为起始位(0)、1位停止位(1)、9位数据位(8位再加上1位附加的可编程为0或1的第九位数据位在RB8或TB8)。oscSMODf)642(波特率 该方式特别适用于多机通信。四种工作方式:(4)方式3 与方式2完全类似,唯一的
42、区别是方式3的波特率可变。的溢出率波特率1)322(TSMOD 该方式也适用于多机通信。有关的专用寄存器:n串行控制寄存器 SCON (98H)n注意主从多机通信控制位SM2的用法:当SM2=1时,只有接收到的第9位数据为“1”,接口才会把收到的数据装入SBUF和TB8,并置位RI。主从多机通信时约定地址字节的第9位为1,数据字节的第9位为0。n串行通道数据缓冲器:SBUF (99H)n接收和发送数据缓冲器各有一个,共用一个地址要点: 1 1)理解串行控制寄存器的格式定义:理解串行控制寄存器的格式定义: 工作方式(工作方式(SM0SM0,SM1SM1的组合)的设置,多机通信的的组合)的设置,多
43、机通信的控制位(控制位(SM2SM2)的用处,)的用处,RENREN,TB8TB8,RB8RB8的意义。的意义。 2 2)熟悉熟悉4 4种工作方式的特点种工作方式的特点 3 3)串行通信的数据发送和接收串行通信的数据发送和接收 发送指令:发送指令:MOV SBUFMOV SBUF,A A 或或 MOV SBUFMOV SBUF,directdirect 接收指令:接收指令:MOV AMOV A,SBUFSBUF 或或 MOV directMOV direct,SBUFSBUF 发送启动:执行上述指令后,当发送的数据被置入发送启动:执行上述指令后,当发送的数据被置入发送缓冲器发送缓冲器SBUFS
44、BUF后,则自动启动发送。后,则自动启动发送。串行中断:串行中断: 当一帧数据通过移位寄存器发送完毕后,当一帧数据通过移位寄存器发送完毕后,发送中断标志位发送中断标志位TITI被置,向被置,向CPUCPU提出中断提出中断请求,此时可再装入下一个发送数据。发送请求,此时可再装入下一个发送数据。发送中断标志位中断标志位TITI必须用软件清零。必须用软件清零。 当接收到一帧数据时,数据被装入接收当接收到一帧数据时,数据被装入接收缓冲器缓冲器SBUFSBUF,接收中断标志位,接收中断标志位RIRI被置,向被置,向CPUCPU提出中断请求,通过提出中断请求,通过MOVMOV指令对接收缓冲指令对接收缓冲器
45、器SBUFSBUF进行访问,即可得到接收数据。接收进行访问,即可得到接收数据。接收中断标志位中断标志位RIRI必须用软件清零。必须用软件清零。多机通信原理:通信协议通信协议: : 通信由主机发起,先发地址帧,后发数据帧。通信由主机发起,先发地址帧,后发数据帧。地址帧必须被各分机收到,数据帧只能由被呼叫的分地址帧必须被各分机收到,数据帧只能由被呼叫的分机所接收。机所接收。要点要点1 1:理解理解SM2SM2的作用,的作用,RB8RB8和和TB8TB8的由来。的由来。 SM2=1 SM2=1时,为有条件接收。收到的附加位为时,为有条件接收。收到的附加位为1 1时,时,移位寄存器移位寄存器1 1字节
46、的数据才能被置入接收缓冲器,附字节的数据才能被置入接收缓冲器,附加位置入加位置入RB8RB8,RIRI被置被置1 1。收到的附加位为。收到的附加位为0 0时,移位时,移位寄存器寄存器1 1字节数据不会被置入接收缓冲器,字节数据不会被置入接收缓冲器, RB8RB8,RIRI均为均为0 0,1 1帧数据丢失。帧数据丢失。SM2SM2为为0 0时,则为无条件接收。时,则为无条件接收。无论收到的附加位为无论收到的附加位为0 0为为1 1,都置入,都置入RB8RB8,移位寄存器,移位寄存器的的1 1字节数据被置入接收缓冲器,字节数据被置入接收缓冲器,RIRI被置。发送的被置。发送的串行数据中附加位由串行
47、数据中附加位由TB8TB8设定。设定。多机通信原理:要点要点2 2:让分机的接收状况由:让分机的接收状况由SM2SM2来控制。来控制。 接收主机地址帧时,分机接收主机地址帧时,分机SM2=1SM2=1,处于条件,处于条件接收,当地址帧的接收,当地址帧的附加位附加位=1=1,所以各分机都,所以各分机都能收到。被呼叫的分机判断被呼叫后,置能收到。被呼叫的分机判断被呼叫后,置SM2=0SM2=0,无条件接收主机数据,而其它,无条件接收主机数据,而其它SM2=1SM2=1的分机则收不到数据帧。的分机则收不到数据帧。第六章第六章 MCS-51MCS-51单片机的系统扩展单片机的系统扩展本章重点:本章重点
48、: 1.1.系统扩展的方法系统扩展的方法2.2.地址译码与分析方法地址译码与分析方法主要内容:主要内容:1.MCS-511.MCS-51单片机系统扩展的基本概念单片机系统扩展的基本概念2.2.程序存储器扩展技术程序存储器扩展技术3.3.数据存储器扩展数据存储器扩展本章目录本章目录第一节第一节 单片机系统扩展的一般方法单片机系统扩展的一般方法第二节第二节 程序存储器的扩展程序存储器的扩展第三节第三节 数据存储器的扩展数据存储器的扩展第四节第四节 小结小结第一节第一节 单片机系统扩展的一般方法单片机系统扩展的一般方法扩展输入输出口(扩展输入输出口(I/OI/O口)口) 扩展程序存储器(扩展程序存储
49、器(ROMROM)扩展数据存储器(扩展数据存储器(RAMRAM)二、扩展方式二、扩展方式 采用并行三总线扩展采用并行三总线扩展 一、系统扩展的意义一、系统扩展的意义 单片机由单片机由CPUCPU、存储器和、存储器和I/OI/O口三部分构成,集成了口三部分构成,集成了基本的硬件资源,但不够,常常需要扩展以满足应用要求。基本的硬件资源,但不够,常常需要扩展以满足应用要求。 87518751片内集成有片内集成有128BRAM128BRAM,片内有,片内有4KEPROM 4KEPROM 80318031片内集成有片内集成有128BRAM128BRAM,片内无,片内无ROMROM80518051片内集成
50、有片内集成有128BRAM128BRAM,片内有,片内有4KROM4KROM三、并行三总线的构成三、并行三总线的构成 控制总线控制总线CBCB(Control BusControl Bus) 8 8位数据总线位数据总线DBDB(Data Bus)Data Bus)1616位地址总线位地址总线ABAB(Address BusAddress Bus) 数据总线,由数据总线,由P0P0口提供(口提供(D0D0D7D7) 地址总线,由地址总线,由P0P0口提供低口提供低8 8位地址(位地址(A0 A0 A7A7) 由由P2P2口提供高口提供高8 8位地址(位地址(A8 A8 A15A15) 控制总线,