单片机复习【基础教学】

上传人:M****1 文档编号:567602094 上传时间:2024-07-21 格式:PPT 页数:96 大小:2.76MB
返回 下载 相关 举报
单片机复习【基础教学】_第1页
第1页 / 共96页
单片机复习【基础教学】_第2页
第2页 / 共96页
单片机复习【基础教学】_第3页
第3页 / 共96页
单片机复习【基础教学】_第4页
第4页 / 共96页
单片机复习【基础教学】_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《单片机复习【基础教学】》由会员分享,可在线阅读,更多相关《单片机复习【基础教学】(96页珍藏版)》请在金锄头文库上搜索。

1、单片机总复习聊城大学理工学院专业课专业课MCS-51单片机基本特性8 8 位的位的 CPU CPU, 片内有振荡器和时钟电路片内有振荡器和时钟电路, ,工作频率为工作频率为 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx为为0 024MHz24MHz)片内有片内有 128/256128/256字节字节 RAMRAM片内有片内有 0K/4K/8K0K/4K/8K字节字节 程序存储器程序存储器ROMROM可寻址片外可寻址片外 64K64K字节字节 数据存储器数据存储器RAMRAM可寻址片外可寻址片外 64K64K字节字节 程序存储器程序存储器ROMROM片内片内 21/2

2、621/26个个 特殊功能寄存器特殊功能寄存器(SFRSFR)4 4个个8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1个个 全双工串行口全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位位 定时器定时器/ /计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器布尔处理器和和1 1个个布尔累加器布尔累加器(CyCy)MCS-51MCS-51指令集含指令集含 111111条指令条指令专业课专业课MCS-51系列单片机配置一览表系列片内存储器(

3、字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/ 2051(2K)/ 4051(4K)(20条引脚DIP封装)1282151589C51(4K)/ 89C52(8K)(40条引脚DIP封装)128/2562/33215/6专业课专业课MCS-

4、51单片机基本结构示意图时钟电路SFR和RAM ROMCPU定时/计数器并行端口中断系统串行端口系 统 总 线时钟源T0 T1P0 P1 P2 P3TXD RXD INT0 INT14 4专业课专业课二、单片机的引脚及功能MCS-51MCS-51单片机单片机4040脚脚VccVcc, , GNDGND 2 2XTAL1XTAL1, , XTAL2XTAL2 2 2RESETRESET/V/VPDPD 1 1EAEA/Vpp /Vpp 1 1ALEALE/PROG /PROG 1 1PSENPSEN 1 1P0.0P0.0P0.7 P0.7 8 8 P1.0P1.0P1.7 P1.7 8 8 P

5、2.0P2.0P2.7 P2.7 8 8 P3.0P3.0P3.7 P3.7 8 8专业课专业课单片机的引脚lVcc, GNDVcc, GND: : 正电源端与接地端正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同的单片机可以允许不同不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不的工作电压,不同的单片机表现出的功耗也不同。同。lALE/PROGALE/PROG:当访问外部存储器时当访问外部存储器时, ALE, ALE(允许地(允许地址锁存信号)以每机器周期两次的信号输出址锁存信号)以每机器周期两次的信号输出, , 用于锁存出现在用于锁存出现在P0

6、P0口的低口的低8 8位地址。对于位地址。对于EPROMEPROM型单片机,此引脚在编程期间输入编程脉冲。型单片机,此引脚在编程期间输入编程脉冲。lEA/Vpp: EA/Vpp: 寻址外部寻址外部ROMROM控制端控制端/ /编程电源输入端。编程电源输入端。 低有效低有效,片内,片内无无ROMROM时时必须必须接地接地; 使用片内使用片内ROMROM时时应当应当接高电平接高电平; 对片内对片内ROMROM编程时编程正电源编程时编程正电源21V21V加到此端。加到此端。专业课专业课单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0

7、-A7D0-D7GEAOECEEPROM单片机的引脚lPSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROM的的 读控制端读控制端(OEOE)低有效。低有效。专业课专业课三、单片机的时钟电路(晶振端)lXTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入片内振荡电路输入/ /输出端输出端151545pf45pfx2x21 112MHz12MHz(MCS-51MCS-51) 0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1XTAL1XTAL2XTAL2通常外接通常外接一个晶振一个晶振两个电容两个电容时钟电路是

8、计算时钟电路是计算机的心脏,它控机的心脏,它控制着计算机的工制着计算机的工作节奏。作节奏。MCS-51MCS-51单片机所允许的单片机所允许的时钟频率因型号时钟频率因型号不同而异,典型不同而异,典型值为值为12MHz12MHz。专业课专业课P1P2S1振荡周期时钟周期机器周期机器周期指令周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2牢牢记住牢牢记住: 振荡周期振荡周期 = = 晶振频率晶振频率foscfosc的倒数;的倒数; 1 1个机器周期个机器周期 = 12 = 12个振荡周期个振荡周期 1 1个指令

9、周期个指令周期 = 1 = 1、2 2、4 4个机器周期个机器周期单片机的时钟电路(晶振端)9 9专业课专业课5151单片机状态时序单片机状态时序1010专业课专业课复位后: PC PC值归零(值归零(0000H0000H);); 各个各个SFRSFR被赋予初始值被赋予初始值, ,RAMRAM不变不变: P0 P0P3 = 0FFHP3 = 0FFH,Acc = 0Acc = 0,B = 0B = 0,TH0=0TH0=0,TL0=0TL0=0,TH1=0TH1=0,TL0=0TL0=0,SP=7SP=7,PSW=0 PSW=0 退出处于节电工作方式的停顿状态、退出一切程序进程、退出处于节电工

10、作方式的停顿状态、退出一切程序进程、退出程序的死循环,退出程序的死循环,从头开始从头开始。四、单片机的复位l通过某种方式通过某种方式, , 使单片机内各寄存器的值变为初始使单片机内各寄存器的值变为初始状态的操作称为复位。状态的操作称为复位。lRESET: RESET: 复位端(正脉冲有效。高电平持续时间应包复位端(正脉冲有效。高电平持续时间应包括括VCCVCC的上升时间和振荡器起振的时间,一般宽度的上升时间和振荡器起振的时间,一般宽度 10mS10mS)l5151系列单片机是高电平复位,而其他系列一般都为系列单片机是高电平复位,而其他系列一般都为低电平复位低电平复位专业课专业课PC与SFR复位

11、状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H专业课专业课单片机的复位电路+5V10uF10KVccRSTGND上电复位上电复位10uF10KVccRSTGND手动手动&上电复位上电复位1K+5VlRSTRST引脚内部有一个史密特触发器以对信号进行引脚内部有一个史密特触发器以对信号进行整形,所以外部输入信号不一定要求是数字信号。整形,所

12、以外部输入信号不一定要求是数字信号。有些情况下应考虑系统复位。有些情况下应考虑系统复位。专业课专业课8051单片机存储器配置 MCS-51 MCS-51的程序存储器和数据存储器是分开的,属的程序存储器和数据存储器是分开的,属于哈佛存储结构。于哈佛存储结构。l片内片内RAMRAM 128 128字节(字节(00H00H7FH7FH)l可寻址片外可寻址片外RAMRAM 64K 64K字节字节 (0000H0000HFFFFHFFFFH)l片内片内 Flash Flash ROMROM 4K 4K字节字节 (000H000HFFFHFFFH)l可寻址片外可寻址片外ROMROM 64K 64K字节字节

13、 (0000H0000HFFFFHFFFFH)l片内片内2121个特殊功能寄存器个特殊功能寄存器( (SFRSFR) )专业课专业课FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内掩膜掩膜 ROMROM4K 字节字节805180517FH00H片内片内 RAM RAM 128字节字节FFH80H存储器配置SFR专业课专业课程序存储器程序存储器外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH161

14、6专业课专业课 0000H0000H地地址址是是单单片片机机复复位位时时的的PCPC值值,从从0000H0000H开开始始执执行行程程序序。其其它它6 6个个地地址址是是单单片片机机响响应应不不同同的的中中断断时时,所所跳跳向向对对应应的的入入口口地地址址。该该表表也也叫叫中中断断向向量量表表或或称称中中断断向向量量。由由于于这这6 6个个中中断断向向量量地地址址的的存存在在,所所以以在在写写程程序序时时,这这些些地地址址不不要要占占用用。一一般般在在0000H0000H地地址址只只写写一一条条跳跳转指令,从转指令,从0030H0030H开始写主程序,如:开始写主程序,如:ORGORG0000

15、H0000HLJMPLJMPMAINMAINORGORG0030H0030HMAINMAIN:;开始写主程序;开始写主程序1717专业课专业课PCPC功能功能0000H0000H复位时复位时ROMROM的地址的地址0003H0003H外部中断外部中断0 0入口地址入口地址000BH000BH定时器计数器定时器计数器0 0溢出中断入口地址溢出中断入口地址0013H0013H外部中断外部中断1 1 入口地址入口地址001BH001BH定时器定时器/ /计数器计数器1 1溢出中断入口地址溢出中断入口地址0023H0023H串行口中断入口地址串行口中断入口地址002BH002BH定时器定时器/ /计数

16、器计数器2 2溢出中断入口地址溢出中断入口地址中断向量表中断向量表1818专业课专业课数据存储器配置(片内RAM)l片内片内RAMRAM 128128字节字节(00H00H7FH7FH)所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位

17、个位可位寻址可位寻址80H80HFFHFFH8051 128128字节字节专业课专业课00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工工作作寄寄存存器器区区00FH10H17H18Hl片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00H(00H1FH)1

18、FH)存储器配置(片内RAM)专业课专业课工作寄存器和工作寄存器和RAM地址对照表地址对照表 2121专业课专业课工作寄存器组的选择表工作寄存器组的选择表CYCY ACAC F0F0RSRS1 1RSRS0 0OVOV P PPSW.7PSW.02222专业课专业课00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区l片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00H00H7FH 7FH 分布在分布在:

19、:20H20H2FH2FH单元单元专业课专业课00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36

20、 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位l片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00H00H7FH 7FH 分布在分布在: :20H20H2FH2FH单元单元存储器配置(片内RAM)专业课专业课存储器配置(片内RAM)数据缓冲区 l 30H30H7FH7FH是是数数据据缓缓冲冲区区, , 也也即即用用户户RAMRAM区区, , 共共8080个个单单

21、元元。 MCSMCS5252子子系系列列片片内内RAMRAM有有256256个个单单元元, , 前前两两个个的的单单元元数数与与地地址址都都和和MCSMCS5151子子系系列列一一致致。 用用户户RAMRAM区区从从30H30HFFH, FFH, 共共208208个单元。个单元。 2525专业课专业课堆栈: 在在片内片内RAMRAM中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来存放某些存放某些特别的特别的数据数据, ,它遵循它遵循先进后出先进后出和和后进后进先出先出(LIFO/FILO(LIFO/FILO)的原则的原则, ,这个这个RAMRAM区区叫叫堆栈堆栈。 MCS MCS5

22、151单片机的堆栈属向上生长型。单片机的堆栈属向上生长型。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输专业课专业课8051特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)(专用寄存器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各部分单片机内部各部分的工作的工作方式、条件、状态、结果方式、条件、状态、结果的寄存器的寄存器。不同的不同的SF

23、RSFR管理不同的硬件模块,负责不同的功能管理不同的硬件模块,负责不同的功能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。专业课专业课8051特殊功能寄存器一览表符号(符号(21个)个)地址地址注释注释功能单元功能单元*ACCE0H累加器累加器cpu*BF0H乘法寄存器乘法寄存器*PSWD0H程序状态字程序状态字*SP81H堆栈指针堆栈指针DPL82H数据存储器指针(低数据存储器指针(低8位)位)DPH83H

24、数据存储器指针(高数据存储器指针(高8位)位)*IEA8H中断允许控制器中断允许控制器中断系统中断系统*IPD8H中断优先级控制器中断优先级控制器*P080H通道通道0并行口并行口2828专业课专业课*P190H通道通道1并行口并行口*P2A0H通道通道2*P3B0H通道通道3PCON87H电源控制和波特率选择电源控制和波特率选择串行口串行口*SCON98H串行口控制器串行口控制器SBUF99H串行数据缓冲器串行数据缓冲器*TCON88H定时器控制定时器控制定时定时/计数计数器器TMOD89H定时方式选择定时方式选择TL08AH定时器定时器0低低8位位TL18BH定时器定时器0高高8位位TH0

25、8CH定时器定时器1低低8位位TH18DH定时器定时器1高高8位位2929专业课专业课程序计数器程序计数器PCPC(Program CounterProgram Counter)PCPC 不是不是一个特殊功能寄存器一个特殊功能寄存器SFRSFR,但其作,但其作 用又用又十分重要和特殊十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等操作的本质本质就是就是: :改变改变 PC PC 值值编程不能对它进行访问。编程不能对它进行访问。总指向下一条指令所在首地址总指向

26、下一条指令所在首地址( (当前当前PCPC值值) )程序计数器 (PC)专业课专业课程序状态字寄存器程序状态字寄存器 PSWPSW:CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)进位进位/ /借位标志位借位标志位。若。若ACCACC在运算过程在运算过程中发生了进位或借位,则中发生了进位或借位,则CY=1CY=1;否则;否则=0=0。它也是。它也是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6)(PSW.6)半进位半进位/ /借位标志位。借位标志位。若若ACCACC在运算过在运算过程中,程中,D3D3位向位

27、向D4D4位发生了进位或借位,则位发生了进位或借位,则AC=1,AC=1,否则否则=0=0。机器在执行。机器在执行“DA ADA A”指令时指令时自动自动要判要判断这一位,我们可以暂时不关心它。断这一位,我们可以暂时不关心它。F0 F0 (PSW.5)(PSW.5)可由用户定义的标志位。可由用户定义的标志位。PSW.6 PSW.5特殊功能寄存器(PSW)专业课专业课 程序状态字寄存器程序状态字寄存器 PSWPSW(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0OV OV (PSW.2)(PSW.2)溢出标志位。溢出标志位。 OV=1OV=1时特指累加器在进行带符号数时特指累加器

28、在进行带符号数(-128(-128+127)+127)运算时出错(超出范围);运算时出错(超出范围);OV=0OV=0时未出错。时未出错。F1 F1 同同F0F0。P P (PSW.0)(PSW.0)奇偶标志位。奇偶标志位。 P=1P=1表示累加器中表示累加器中“1 1”的个数的个数为奇数为奇数 P=0P=0表示累加器中表示累加器中“1 1”的个数的个数为偶数为偶数 CPU CPU随时监视着随时监视着ACCACC中的中的“1 1”的个数的个数, ,并反映在并反映在PSWPSW中中PSW.2PSW.1专业课专业课特殊功能寄存器的位地址有一定规律:特殊功能寄存器的位地址有一定规律: 在位寻址时,某

29、特殊功能寄存器的字节地址,在位寻址时,某特殊功能寄存器的字节地址,就是该特殊功能寄存器最低位(就是该特殊功能寄存器最低位(D0D0)的位地址,)的位地址,其它位地址依次递增。其它位地址依次递增。 对于对于5252系列来说,系列来说,80H80HFFHFFH内有两部分内容。内有两部分内容。一一是通用数据是通用数据RAMRAM区,二是特殊功能寄存器区。它们区,二是特殊功能寄存器区。它们占用相同逻辑地址,但物理地址是分开的。区别占用相同逻辑地址,但物理地址是分开的。区别的方法是:访问通用数据的方法是:访问通用数据RAMRAM区,使用寄存器间接区,使用寄存器间接寻址方式。访问特殊功能寄存器,使用直接寻

30、址寻址方式。访问特殊功能寄存器,使用直接寻址方式,二者不可混用。方式,二者不可混用。 另外,特殊功能寄存器空间中有的单元是空着的,另外,特殊功能寄存器空间中有的单元是空着的,这些单元是为这些单元是为MCS-51MCS-51的新型单片机保留的。的新型单片机保留的。专业课专业课51单片机的4个8位的I/O口P0.0P0.0P0.7: P0.7: (双向口)(双向口) 8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口P1.0P1.0P1.7: P1.7: (准双向口)通用(准双向口)通用I/OI/O口口P2.0P2.0P2.7:P2.7: (准双向口)输出高(准双向口)输出高8

31、8位地址位地址P3.0P3.0P3.7: P3.7: (准双向口)具有特定的第二功能(准双向口)具有特定的第二功能注意:注意:1 1、并行口输出高电平时驱动能力强,输出低电平时驱动能并行口输出高电平时驱动能力强,输出低电平时驱动能力弱。力弱。2 2、P0P0口可驱动口可驱动8 8个标准个标准TTLTTL电路,电路,P1P1、P2P2、P3P3口可驱动口可驱动8 8个标个标准准TTLTTL电路电路 。专业课专业课P3口第二功能表 (P107 表5-1)引引 脚脚第第 二二 功功 能能 P3.0P3.0RxD: RxD: 串行口接收数据输入端串行口接收数据输入端P3.1P3.1TxD:TxD: 串

32、行口发送数据输出端串行口发送数据输出端P3.2P3.2INT0:INT0: 外部中断申请输入端外部中断申请输入端 0 0P3.3P3.3INT1:INT1: 外部中断申请输入端外部中断申请输入端 1 1P3.4P3.4T0:T0: 外部计数脉冲输入端外部计数脉冲输入端 0 0P3.5P3.5T1:T1: 外部计数脉冲输入端外部计数脉冲输入端 1 1P3.6P3.6WR:WR: 写外设控制信号输出端写外设控制信号输出端P3.7P3.7RD:RD: 读外设控制信号输出端读外设控制信号输出端专业课专业课MCS-51指令集(五大类功能)数据数据传送传送类指令类指令 (2929条条)算术算术运算类指令运

33、算类指令 (2424条条)逻辑逻辑运算及移位类指令运算及移位类指令 (2424条条)控制控制转移转移类指令类指令 (1717条条)位位操作操作( (布尔操作布尔操作) )类指令类指令 (1717条条)专业课专业课51单片机指令的寻址方式立即寻址立即寻址直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址( (基址寄存器基址寄存器+ +变址寄存器间接寻址变址寄存器间接寻址) )相对寻址相对寻址位寻址位寻址寻址方式:寻址方式:指令按地址获得操作数的方式指令按地址获得操作数的方式七种寻址方式七种寻址方式, ,一条指令可能含多种寻址方式一条指令可能含多种寻址方式专业课专业课

34、内部存储器间传送:内部存储器间传送: (MOVMOV1616条)条)外部数据存储器外部数据存储器RAMRAM与累加器间传送与累加器间传送: : (MOVMOVX X4 4条)条)程序存储器程序存储器ROMROM向累加器传送:向累加器传送: (MOVMOVC C2 2条)条)数据交换:(数据交换:(XCHXCH,XCHDXCHD,SWAPSWAP5 5条)条)堆栈操作:堆栈操作: (PUSHPUSH,POPPOP2 2条)条)(一)数据传送类指令(5种/29条)专业课专业课(二)算术运算类指令(6种/24条)加法运算加法运算 ( (ADDADD4 4条条) )带进位加法运算带进位加法运算 ( (

35、ADDCADDC4 4条条) )带借位减法运算带借位减法运算 ( (SUBBSUBB4 4条条) )加加1/1/减减1 1操作操作 ( (INC,DECINC,DEC9 9条条) )单字节乘单字节乘/ /除法运算除法运算( (MUL,DIVMUL,DIV2 2条条) )十进制调整十进制调整 ( (DA ADA A1 1条条) )专业课专业课(三)逻辑运算及移位指令(5种/24条)逻辑与运算:逻辑与运算: (ANLANL6 6条)条)逻辑或运算:逻辑或运算: (ORLORL6 6条)条)逻辑异或运算:逻辑异或运算: (XRLXRL6 6条)条)累加器清零累加器清零/ /取反:取反: (CLRCL

36、R,CPLCPL2 2条)条)累加器移位操作累加器移位操作: :(RL,RLC,RR,RRCRL,RLC,RR,RRC4 4条)条)专业课专业课(四)控制转移类指令(4种/17条)无条件转移无条件转移: (LJMP,AJMP,SJMP,JMPLJMP,AJMP,SJMP,JMP4 4条)条)条件转移(判断跳转):条件转移(判断跳转): (JZ,JNZ,CJNE,DJNZJZ,JNZ,CJNE,DJNZ8 8条)条)子程序调用及返回:子程序调用及返回: (LCALL,ACALL,RET,RETILCALL,ACALL,RET,RETI4 4条)条)空操作空操作: : (NOPNOP1 1条)条)

37、 专业课专业课(五)位操作类指令(4种17条)位传送:位传送: (MOVMOV2 2条)条)位清零位清零/ /置位:置位: (CLR,SETBCLR,SETB4 4条)条)位逻辑与位逻辑与/ /或或/ /非运算:非运算: (ANL,ORL,CPLANL,ORL,CPL6 6条)条)位条件转移位条件转移: : (JC,JNC,JB,JNB,JC,JNC,JB,JNB,JBCJBC5 5条)条)专业课专业课单片机的中断矢量与优先级 中断矢量中断矢量: MCS-51 MCS-51单片机的单片机的 5 5 个中断源分别对个中断源分别对应有各自的应有各自的中断服务程序入口地址中断服务程序入口地址中断矢量

38、中断矢量000BH000BHTF0TF0定时定时/ /计数器计数器0(T0)0(T0)002BH002BHTF2TF2定时定时/ /计数器计数器2(T2)2(T2)0023H0023HRI/TIRI/TI串行口接收串行口接收/ /发送发送001BH001BHTF1TF1定时定时/ /计数器计数器1(T1)1(T1)0013H0013HIE1IE1外部中断外部中断1( INT1)1( INT1)0003H0003HIE0IE0外部中断外部中断0( INT0)0( INT0)中断优先级中断优先级中断矢量中断矢量申请标志申请标志中中 断断 源源最高优先级最高优先级最低优先级最低优先级专业课专业课定时

39、器控制寄存器TCON (88H)TF1TF1 TR1TR1 TF0TF0 TR0TR0 IE1IE1 IT1IT1 IE0IE0 IT0IT0TCONTCONTF0/TF1TF0/TF1:定时器溢出中断申请标志位:定时器溢出中断申请标志位: =0 =0:定时器未溢出;:定时器未溢出; =1 =1:定时器溢出申请中断,进中断后自动清零。定时器溢出申请中断,进中断后自动清零。TR0/TR1TR0/TR1:定时器运行启停控制位:定时器运行启停控制位: =0 =0:定时器停止运行;:定时器停止运行; =1 =1:定时器启动运行。定时器启动运行。TCONTCON:TimerTimer控制寄存器控制寄存器

40、,是管理定时器工作的,是管理定时器工作的SFRSFR(其中低(其中低4 4位管外部中断)位管外部中断)专业课专业课定时器控制寄存器TCON (88H)TF1TF1 TR1TR1 TF0TF0 TR0TR0 IE1IE1 IT1IT1 IE0IE0 IT0IT0TCONTCONIE0/IE1IE0/IE1:外部中断申请标志位:外部中断申请标志位: =0 =0:没有外部中断申请;:没有外部中断申请; =1 =1:有外部中断申请。有外部中断申请。IT0/IT1IT0/IT1:外部中断请求的触发方式选择位:外部中断请求的触发方式选择位: =0=0:在:在INT0/INT1INT0/INT1端申请中断的

41、信号端申请中断的信号低电平低电平有效有效; ; =1 =1:在在INT0/INT1INT0/INT1端申请中断的信号端申请中断的信号负跳变负跳变有效有效. .TCONTCON:TimerTimer控制寄存器控制寄存器,低低4 4位管理外部中断位管理外部中断专业课专业课SCONSCON为串行口控制寄存器为串行口控制寄存器, ,字节地址为字节地址为98H98H。 SCONSCON的的低低2 2位位锁锁存存串串行行口口的的接接收收中中断断和和发发送送中断标志中断标志, ,其格式如表所示。其格式如表所示。SCONSCON锁存的中断源锁存的中断源 4646专业课专业课 EAEA ET2 ES ET1 E

42、X1 ET0 EX0 ET2 ES ET1 EX1 ET0 EX0IEIE中断允许寄存器中断允许寄存器IE IE (0A8H)(0A8H) EX0/EX1/ET1/ET0/ES EX0/EX1/ET1/ET0/ES 位位: 分别是分别是INT0/1INT0/1,Timer0/1Timer0/1,串行口,串行口的中断允的中断允 许控制位许控制位: : =0 =0 时禁止中断;时禁止中断; =1=1 时时允许允许中断。中断。ET2ET2:T2T2中断允许控制位(仅中断允许控制位(仅5252子系列子系列有)有) =0 =0 时禁止中断;时禁止中断; =1=1 时时允许允许中断。中断。EAEA:总的中

43、断允许控制位(总开关):总的中断允许控制位(总开关): =0 =0 时禁止全部中断;时禁止全部中断;=1=1 时时允许允许中断。中断。专业课专业课 PT2 PS PT1PT2 PS PT1 PX1 PX1 PT0 PX0PT0 PX0IPIPPX0/PX1PX0/PX1:INTINT0/10/1优先级控制位:优先级控制位: =0=0 时属时属低低优先级;优先级; =1=1 时属时属高高优先级。优先级。PT0/PT1/PT2PT0/PT1/PT2:T0/1/2T0/1/2中断优先级控制位:中断优先级控制位: =0 =0 时属低优先级;时属低优先级; =1=1 时属时属高高优先级。优先级。PS1P

44、S1:串行口中断优先级控制位:串行口中断优先级控制位: =0 =0 时属时属低低优先级;优先级; =1=1 时属时属高高优先级。优先级。中断优先级控制寄存器中断优先级控制寄存器IP IP (0B8H)(0B8H)专业课专业课中断系统硬件结构注注: :各中断允许控制位各中断允许控制位=0,=0,开关断开开关断开; =1,=1,开关接通开关接通IE0IE0EX0EX0TF0TF0IE1IE1TF1TF1TITIESESET1ET1EX1EX1ET0ET0外部中断外部中断 请求请求0 0外部中断外部中断 请求请求1 1内部内部 定时器定时器0 0内部内部 定时器定时器1 1内部内部 串行口串行口T

45、TR RRIRIIEIE寄存器寄存器 EA EA位位IPIP寄存器寄存器各单路开关各单路开关 总开关总开关中断源标志中断源标志位查询机构位查询机构高中断级高中断级中断请求中断请求低中断级低中断级中断请求中断请求中断入口中断入口中断源中断源标志位标志位INT0INT0INT1INT1中断入口中断入口中断源中断源标志位标志位专业课专业课Timer的2个特殊功能寄存器(TCON,TMOD)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0定时器定时器控制控制寄存器寄存器TCON TCON (88H)(88H)TFxTFx: Timer0/1: Timer0/1计数溢出标志位。计数溢出标志

46、位。 =1 =1 计数溢出;计数溢出; =0 =0 计数未满计数未满 TFxTFx标志位标志位可用于可用于申请中断申请中断或或供供CPUCPU查询查询。 在进入中断服务程序时会自动清零;但在在进入中断服务程序时会自动清零;但在 查询方式时必须软件清零。查询方式时必须软件清零。TRxTRx: Timer0/1: Timer0/1运行控制位。运行控制位。 =1 =1 启动计数;启动计数; =0 =0 停止计数停止计数专业课专业课GATE C / T M1 M0 GATE C / T M1 M0定时器定时器方式方式寄存器寄存器TMOD TMOD (89H)(89H)T1T1T0T0M1,M0M1,M

47、0:工作方式定义位工作方式定义位 ( ( 定义定义4 4 种方式种方式 ): ):C/T C/T :计数器计数器/ /定时器选择位定时器选择位 = 1 = 1 外部事件外部事件计数器计数器。对。对TxTx引脚的引脚的负脉冲负脉冲计数;计数; = 0 = 0 片内时钟片内时钟定时器定时器。对。对机器周期脉冲机器周期脉冲计数定时计数定时0 00 0:1313位位 Timer Timer用它无益用它无益, ,不要记它!不要记它!0 10 1:1616位位 Timer Timer经常用到经常用到1 01 0:可自动重装的:可自动重装的 8 8位位 Timer Timer经常用到经常用到1 11 1:T

48、0 T0 分为分为2 2个个8 8位位 Timer Timer;T1 T1 此时不工作此时不工作 因为没有带来甚麽好处,因为没有带来甚麽好处,几乎无用几乎无用专业课专业课GATE C / T M1 M0 GATE C / T M1 M0T1T0GATEGATE门控位门控位: : TimerTimer可由软件与硬件两者控制可由软件与硬件两者控制 GATE = 0 GATE = 0 普通用法普通用法 Timer Timer的的启启/ /停停由由软件软件对对TRxTRx位写位写“1 1”/ /“0 0”控制控制定时器定时器方式方式寄存器寄存器TMODTMOD(续)(续)(89H)(89H) GATE

49、 = 1 GATE = 1 门控用法门控用法 Timer Timer的的启启/ /停停由由软件软件对对TRxTRx位写位写“1 1”/ /“0 0” 和和在在INTxINTx引脚引脚上出现的信号的上出现的信号的高高/ /低低共同控制共同控制专业课专业课定时器结构与工作方式工作方式工作方式1 1:1616位的定时位的定时/ /计数器计数器振荡器振荡器 12TLx THx (8位位) (8位位)TFx申请申请中断中断TxTx端端TRxTRx位位GATEGATE位位INTxINTx端端11& &C/T=0C/T=1控制控制 =1开关接通开关接通或门或门与门与门专业课专业课工作方式工作方式2 2:8

50、8 位自动重装的定时位自动重装的定时/ /计数器计数器振荡器振荡器 12TLx (8位位)TFx申请申请中断中断TxTx端端TRxTRx位位GATEGATE位位INTxINTx端端11& &C/T=0C/T=1控制控制 =1开关接通开关接通或门或门与门与门THx (8位位)溢溢出出位位门开门开专业课专业课串行口的结构两个同名的两个同名的接收接收/ /发送缓冲寄存器发送缓冲寄存器SBUFSBUF 指令指令 MOV SBUFMOV SBUF,A A 启动一次数据发送启动一次数据发送, ,可向可向SBUFSBUF 再发送下一个数再发送下一个数 指令指令 MOV AMOV A,SBUFSBUF 完成一

51、次数据接收完成一次数据接收,SBUF,SBUF可再可再 接收下一个数接收下一个数接收接收/ /发送数据发送数据, ,无论是否采用中断方式无论是否采用中断方式 工作工作, ,每接收每接收/ /发送一个数据都必须用指发送一个数据都必须用指 令对令对 RI/TIRI/TI 清清0 0,以备下一次收,以备下一次收/ /发。发。串行口相关的串行口相关的SFRSFR(SCON,PCON)(SCON,PCON)专业课专业课 SM0 SM1 SM2 REN TB8 RB8 TI R1SCONSCON SM0 SM0,SM1SM1:串行口串行口4 4种工作方式的选择位。种工作方式的选择位。 0 0 0 0 方式

52、方式0 0:8 8位移位寄存器位移位寄存器I/O,I/O,波特率波特率固定固定为为 f foscosc/12/12 0 1 0 1 方式方式1 1:8 8位位UARTUART(1 1+8+8+1 1位)位), 波特率波特率可变可变, ,按公式计算按公式计算 1 0 1 0 方式方式2 2:9 9位位UARTUART(1 1+8+1+8+1+1 1位)位), 波特率波特率固定固定= =f fosc osc x1/32x1/32或或1/641/64 1 1 1 1 方式方式3 3:9 9位位UARTUART(1 1+8+1+8+1+1 1位)位), 波特率波特率可变可变,按公式计算,按公式计算 S

53、M2SM2:串行口串行口多机通信多机通信控制位控制位 (作为方式(作为方式2 2、方式、方式3 3的的附加控制位附加控制位)串行口控制寄存器SCON(98H)专业课专业课 RI,TIRI,TI:串行口收串行口收/ /发数据申请中断标志位发数据申请中断标志位 1 1 申请中断;申请中断; 0 0 不申请中断不申请中断 TB8TB8:方式方式2 2、3 3中,是要发送的第中,是要发送的第9 9位数据。位数据。 多机通信中多机通信中,TB8=0 ,TB8=0 表示发送的是数据;表示发送的是数据; TB8=1 TB8=1 表示发送的是地址。(奇偶校验)表示发送的是地址。(奇偶校验) RB8RB8:在方

54、式在方式2 2、3 3中,是收到的第中,是收到的第9 9位数据。位数据。 在多机通信中在多机通信中, ,用作区别地址帧用作区别地址帧/ /数据帧的数据帧的 标志。(奇偶校验)标志。(奇偶校验) SM0 SM1 SM2 REN TB8 RB8 TI R1 RENREN:串行口接收允许控制位串行口接收允许控制位 = 1 = 1 表示允许接收;表示允许接收; = 0 = 0 禁止接收。禁止接收。SCONSCON专业课专业课SMOD GF1 GF0 PD 1DL电源控制寄存器 PCON PCON(97H97H)特殊功能寄存器特殊功能寄存器PCONPCON不能按位寻址不能按位寻址 SMODSMOD:在串

55、行口工作方式在串行口工作方式 1 1、2 2、3 3 中,中, 是是波特率加倍位波特率加倍位 =1 =1 时,波特率加倍时,波特率加倍 =0 =0 时,波特率不加倍。时,波特率不加倍。 ( (在在PCONPCON中只有这一个位与串口有关中只有这一个位与串口有关) ) GF1,GF0GF1,GF0:用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位PCONPCON PDPD:掉电方式控制位:掉电方式控制位 IDL IDL:待机方式:待机方式( (空闲方式空闲方式) )控制位控制位专业课专业课串行口工作方式 0工作方式工作方式0 0:8 8位移位寄存器位移位寄存器I/OI/O方式方式发送

56、:发送:SBUFSBUF中的串行中的串行数据数据由由RxDRxD逐位移出;逐位移出; TxDTxD输出输出移位时钟移位时钟,频率,频率=fosc1/12=fosc1/12; 每送出每送出8 8位数据位数据 TITI就自动置就自动置1 1; 需要用需要用软件清零软件清零 TITI。 接收:串行接收:串行数据数据由由RxDRxD逐位移入逐位移入SBUFSBUF中;中; TxDTxD输出输出移位时钟移位时钟,频率,频率=fosc1/12=fosc1/12; 每接收每接收 8 8位数据位数据RIRI就自动置就自动置1 1; 需要用需要用软件清零软件清零 RIRI。专业课专业课常用于串行通讯。除发常用于

57、串行通讯。除发/ /收收8 8位数据外,还位数据外,还 在在D0D0位前有一个位前有一个起始位起始位“0 0”; 在在D7D7位后有一个位后有一个停止位停止位“1 1”。方式方式1 1工作时:工作时: 发送端发送端自动添加自动添加一个起始位和一个停止位;一个起始位和一个停止位; 接收端接收端自动去掉自动去掉一个起始位和一个停止位。一个起始位和一个停止位。工作方式工作方式1 1: :8 8位位UARTUART( (1 1+8+8+1 1位位) )波特率波特率可变可变 波特率可变波特率可变 用定时器用定时器T1T1作波特率发生器:作波特率发生器: 公式:公式:波特率波特率 = =(2 2SMODS

58、MOD/32/32) T1T1的溢出率的溢出率专业课专业课波特率波特率= =(2(2SMODSMOD/32)/32) T1T1的溢出率的溢出率 溢出率:溢出率:T1T1溢出的频繁程度溢出的频繁程度 即:即:T1T1溢出一次所需时间的倒数。溢出一次所需时间的倒数。 初值初值 X = 2 2n n - - 2 2SMODSMOD fosc fosc3232 波特率波特率 1212 波特率波特率 = =2 2SMODSMOD fosc fosc3232 12(2 12(2n n - - X X) )其中:其中:X X 是定时器初值是定时器初值专业课专业课电路结构车位信息用拨码开关表示,车位空闲显示用

59、车位信息用拨码开关表示,车位空闲显示用LEDLED发光二极管表示发光二极管表示专业课专业课 ORG ORG 0000H 0000H LJMP MAIN LJMP MAIN ORG ORG 0023H 0023H LJMP SEND LJMP SEND ORG 0030H ORG 0030HMAINMAIN: MOV SP,#70H MOV SP,#70H MOV P1,#0FFH MOV P1,#0FFH MOV TMODMOV TMOD,#20H#20H MOV TL1MOV TL1,#0FDH#0FDH MOV TH1MOV TH1,#0FDH#0FDH车位显示设计中,采用串行通信方式车位

60、显示设计中,采用串行通信方式1 1程序:程序: T1 T1工作于方式工作于方式2 2,产生波特率,产生波特率96009600bps,bps,中断方式中断方式. .1 1号单片机程序如下:号单片机程序如下: SETB TR1 SETB TR1 MOV SCON, MOV SCON, #40H#40H SETB EA SETB EA SETB ES SETB ES MOV MOV A,P1 A,P1 MOV SBUF,A MOV SBUF,A SJMP $ SJMP $SEND:SEND: CLR TI CLR TI MOV A,P1 MOV A,P1 MOV SBUF,A MOV SBUF,A

61、RETI RETI 专业课专业课 ORG ORG 0000H 0000H LJMP MAIN LJMP MAIN ORG ORG 0023H 0023H LJMP RECEIVE LJMP RECEIVE ORG 0030H ORG 0030HMAINMAIN: MOV SP,#70H MOV SP,#70H MOV P1,#00H MOV P1,#00H MOV TMODMOV TMOD,#20H#20H MOV TL1MOV TL1,#0FDH#0FDH MOV TH1MOV TH1,#0FDH#0FDH2 2号单片机程序如下:号单片机程序如下: SETB TR1 SETB TR1 MOV

62、 SCON, MOV SCON, #50H#50H SETB EA SETB EA SETB ES SETB ES SJMP $ SJMP $RECEIVE:RECEIVE: CLR RI CLR RI MOV A,SBUF MOV A,SBUF MOV P1,A MOV P1,A RETI RETI 专业课专业课采用中断方式设计结果:采用中断方式设计结果: 6565专业课专业课由于波特率固定由于波特率固定, ,常用于常用于单片机间单片机间通讯。通讯。 数据由数据由8+8+1 1位组成,通常附加的一位位组成,通常附加的一位 (TB8/RB8)(TB8/RB8)用于用于“奇偶校验奇偶校验”。 工

63、作方式工作方式2 2: : 9 9位位UARTUART( (1 1+8+1+8+1+1 1位位) )两种两种波特率波特率 方式方式2 2的波特率的波特率 = fosc = fosc 2 2SMODSMOD/64/64 即即: : f fosc osc 1/32 1/32 或或 f fosc osc 1/64 1/64 两种两种专业课专业课工作方式工作方式3 3: :当当SM0,SM1SM0,SM1为为1111时时, ,串行口工作于方式串行口工作于方式3 3 9 9位位UARTUART( (1 1+8+1+8+1+1 1位位) ) 波特率可变波特率可变 串口方式串口方式3 3和方式和方式2 2唯

64、一的区别是波特率机制不同。唯一的区别是波特率机制不同。方式方式2 2的波特率固定为时钟周期的的波特率固定为时钟周期的3232或或6464分频,分频,不可变。此工作方式与其他串行通讯设备连接困难,不可变。此工作方式与其他串行通讯设备连接困难,因此不常用。因此不常用。方式方式3 3的波特率可变,按前面的公式计算:的波特率可变,按前面的公式计算: 波特率波特率= =(2(2SMODSMOD/32)/32) T1T1的溢出率的溢出率 波特率波特率 = =2 2SMODSMOD fosc fosc3232 12(2 12(2n n - - X X) )其中:其中:X X 是定时器初值是定时器初值专业课专

65、业课SM0SM1SM2RENTB8RB8TIRISCONSMODGF1GF0PDIDLPCON GATEC/TM1M0GATEC/TM1M0TMOD TF1TR1TF0TR0IE1IT1IE0IT0TCONEAESET1EX1ET0EX0IE PSPT1PX1PT0PX0IP 除此之外,还要用到除此之外,还要用到TH1、TL1、SBUF特殊功能寄存器。特殊功能寄存器。编程时经常用到的特殊功能寄存器:编程时经常用到的特殊功能寄存器:6868专业课专业课问题1: 对于存贮器芯片,不论是ROM还是RAM,都有独立的数据线、地址线、和若干条控制线。而8051芯片则没有独立的并行数据总线,地址总线和控制

66、总线,如何实现对接呢?3、MCS-51并行扩展总线并行扩展总线6969专业课专业课 问题2: 对外扩展ROM和RAM时,地址线和数据线都借用了P0和P2。因此,MCS-51的RAM和ROM的地址是重叠的。如何区分是对外部的RAM还是ROM操作呢?7070专业课专业课 问题3: 单片机是如何区分CPU是对片内ROM还是对片外ROM操作呢? 单片机又是如何区分一条数据操作指令是对片内RAM还是对片外RAM操作呢? 7171专业课专业课二、扩展存贮器的编址方法所谓编址,就是给扩展的存贮单元分配地址。 MCS-51单片机中的CPU是根据地址来访问外部存贮器的,即由地址线上送出的地址信息选中某一芯片的某

67、个单元进行读写。 对存贮器的编址分为两个层次: 即存贮器芯片的选择和存贮器芯片内部存贮单元的选择。7272专业课专业课1.线选法线选法 所谓线选法, 就是直接以系统的剩余高位地址线连接存贮器芯片的片选信号。 线选法的优点是线路连接简单,不需外加其他器件,缺点是可接的芯片少,占用地址资源多。7373专业课专业课线选法举例A0A1A12A0A1A12A0A1A12A15A14A13CS0#芯片芯片(6000H7FFFH)CS1#芯片芯片(A000HBFFFH)CS2#芯片芯片(C000HDFFFH)7474专业课专业课2.译码法译码法 所谓译码法所谓译码法, ,就是把单片机剩余高位地址就是把单片机

68、剩余高位地址总线通过地址译码器输出片选信号。总线通过地址译码器输出片选信号。多片存多片存贮器芯片组成大容量存贮器连接时常用译码贮器芯片组成大容量存贮器连接时常用译码法。法。常用的地址译码器有:常用的地址译码器有:2-4译码器:译码器:74LS1393-8译码器:译码器:74LS1387575专业课专业课 译译码码法法又又分分为为全全地地址址译译码码和和部部分分地地址址译译码码两种。两种。l(1) 全地址译码。全地址译码。 片片内内寻寻址址未未用用的的全全部部高高位位地地址址线线都都参参加加译译码码,译码输出作为片选信号。译码输出作为片选信号。 全全译译码码的的优优点点是是每每个个芯芯片片的的地

69、地址址范范围围是是唯唯一一确确定定,而而且且各各片片之之间间是是连连续续的的。缺缺点点是是译译码码电路比较复杂电路比较复杂。7676专业课专业课全地址译码法举例CS1#芯片(2000H3FFFH)A0A1A12A13A14A15地地+5VABCG2AG2BG1Y0Y1Y7CS(0000H1FFFH)A0A1A120#芯片CS7#芯片(E000HFFFFH)A0A1A123/8译码器译码器7777专业课专业课l (2) 部分地址译码。部分地址译码。 用片内寻址之外的高位地址线的一用片内寻址之外的高位地址线的一部分译码产生片选信号。部分译码产生片选信号。 部分译码电路较全译码简单,但存部分译码电路

70、较全译码简单,但存在地址重叠区。在地址重叠区。7878专业课专业课部分地址译码法举例CS1#芯片(4000H5FFFH)A0A1A12A14A15GNDABGY0Y1Y3CS(0000H1FFFH)A0A1A120#芯片CS3#芯片(C000HDFFFH)A0A1A12CS2#芯片(8000H9FFFH)A0A1A12Y22/4译码器译码器7979专业课专业课程序存贮器程序存贮器 2764 2764 的扩展:的扩展:单片机单片机EPROM 2764EPROM 2764锁存器锁存器74LS37374LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0

71、-D7GEAOECE需要注意外部扩展程序存贮器时,需要注意外部扩展程序存贮器时,ROM的地址分的地址分配应当覆盖配应当覆盖0000H。8080专业课专业课数据存贮器数据存贮器 6264 6264 的扩展:的扩展:8051单片机单片机SRAM6264锁存器锁存器74LS373P0.0-P0.7ALEP2.7P2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECE2RDWRWECE1+5V8181专业课专业课简单简单I/OI/O扩展:扩展:(MCS-51(MCS-51和和377377、245245的一种接口方法的一种接口方法) )输出指令:输出指令: MOV DPTRMOV D

72、PTR,0#BFFFH0#BFFFH MOVX DPTR MOVX DPTR,A A输入指令:输入指令: MOV DPTR MOV DPTR,#0BFFFH#0BFFFH MOVX A MOVX A ,DPTRDPTR输出设备输出设备74LS377Q0Q7D0D7输入设备输入设备74LS245B1B8A1A8E CLKG DIRD0D7A14WRRD8282专业课专业课可编程可编程RAM/IO/CTCRAM/IO/CTC接口芯片接口芯片81558155引脚:引脚:PC3 PC3 VCCVCCPC4 PC2PC4 PC2TIMERINTIMERIN PC1 PC1RESETRESET PC0 P

73、C0PC5 PC5 PB7PB7IO/MIO/M PB5PB5RDRD PB3 PB3WRWR PB2PB2ALEALE PB1 PB1AD0AD0 PB0 PB0AD1AD1 PA7PA7AD2AD2 PA6PA6AD3AD3 PA5PA58155AD5AD5 PA3PA3AD6AD6 PA2PA2AD7AD7 PA1PA1CE/CECE/CE PB4PB4GNDGND PA0PA0TIMEROUTTIMEROUT PB6PB6AD4AD4 PA4PA4 PA,PBPA,PB两个两个8 8位和一个位和一个6 6位位PCPC口。口。 AD0AD0AD7AD7, ,地址地址/ /数据复用线。数据

74、复用线。 ALEALE,地址锁存使能,控制地,地址锁存使能,控制地 址址/ /数据复用。数据复用。 /CE/CE是是81558155的的片选端片选端, ,低有效低有效; ; 81568156的片选端是的片选端是CECE,高有效。,高有效。 IO/MIO/M,I/OI/O口或口或RAMRAM选择线。选择线。 /RD/RD是读信号;是读信号;/WR/WR是写信号;是写信号; RESETRESET是复位信号,高有效。是复位信号,高有效。 片内片内1 1个个1414位减法位减法TimerTimer,计数,计数 脉冲由脉冲由TIMERINTIMERIN输入输入, ,分频后由分频后由 TIMEROUTTI

75、MEROUT 输出输出。 VCC,GNDVCC,GND是电源端。是电源端。40 PIN8383专业课专业课81558155的的 6 6个寄存器个寄存器 8155 8155有有2 2种工作方式种工作方式( (基本基本I/OI/O和选通和选通I/O)I/O)。 内部有内部有6 6个个寄存器寄存器, , 由由AD2, AD1,AD0,ALEAD2, AD1,AD0,ALE与与RD,WR,RD,WR, IO/MIO/M信号线选择。信号线选择。RESETRESET高有效高有效; ; /CE/CE低有效。低有效。AD7AD7AD7AD7AD0AD0AD0AD0选中的寄存器选中的寄存器选中的寄存器选中的寄存

76、器功功功功 能能能能X X X X X X X X X X X X X X X X X X X X 0 0 00 0 00 0 00 0 0命令命令命令命令/ / / /状态字寄存器状态字寄存器状态字寄存器状态字寄存器对它只能写命令对它只能写命令对它只能写命令对它只能写命令从它只能读状态从它只能读状态从它只能读状态从它只能读状态X X X X X X X X X X X X X X X X X X X X 0 0 10 0 10 0 10 0 1A A A A口寄存器口寄存器口寄存器口寄存器(PA7(PA7(PA7(PA7PA0)PA0)PA0)PA0)对应对应对应对应A A A A口的各个引

77、脚口的各个引脚口的各个引脚口的各个引脚X X X X X X X X X X X X X X X X X X X X 0 1 00 1 00 1 00 1 0B B B B口寄存器口寄存器口寄存器口寄存器(PB7(PB7(PB7(PB7PB0)PB0)PB0)PB0)对应对应对应对应B B B B口的各个引脚口的各个引脚口的各个引脚口的各个引脚X X X X X X X X X X X X X X X X X X X X 0 1 10 1 10 1 10 1 1C C C C口寄存器口寄存器口寄存器口寄存器(PC7(PC7(PC7(PC7PC0)PC0)PC0)PC0)对应对应对应对应C C

78、C C口的各个引脚口的各个引脚口的各个引脚口的各个引脚X X X X X X X X X X X X X X X X X X X X 1 0 01 0 01 0 01 0 0定时器低定时器低定时器低定时器低8 8 8 8位寄存器位寄存器位寄存器位寄存器单纯存放低单纯存放低单纯存放低单纯存放低8 8 8 8位初值位初值位初值位初值X X X X X X X X X X X X X X X X X X X X 1 0 11 0 11 0 11 0 1定时器高定时器高定时器高定时器高6 6 6 6位和位和位和位和输出方式寄存器输出方式寄存器输出方式寄存器输出方式寄存器高两位控制高两位控制高两位控制高

79、两位控制输出信号形式输出信号形式输出信号形式输出信号形式8484专业课专业课 TM2 TM1 IEB IEA PC2 PC1 PB PA A口中断口中断B 口口A 口口C 口方式选择口方式选择=1,允允许许=0,禁禁止止=1,输输出出=0,输输入入=1,输输出出=0,输输入入81558155命令命令/ /状态字寄存器状态字寄存器 是两个地址相同的寄存器是两个地址相同的寄存器, ,命令字寄存器命令字寄存器接受控制命令接受控制命令( (只写只写) )。地址:地址:A2,A1,A0=000 A2,A1,A0=000 命令字格式如下命令字格式如下(P)(P):C C口方式:口方式:ALT1ALT1C

80、C口为口为输入输入口口(A(A、B B为基本为基本I/O)I/O)。 ALT2ALT2C C口为口为输出输出口口(A(A、B B为基本为基本I/O)I/O)。 ALT3ALT3C C口低口低3 3位为位为A A口选通口选通I/OI/O提供应答信号;提供应答信号; B B口为基本口为基本I/OI/O,C C口高口高3 3位为输出口。位为输出口。 ALT4ALT4C C口的低、高口的低、高3 3位分别为位分别为A A口、口、B B口的选口的选 通通I/OI/O提供应答信号。提供应答信号。B口中断口中断=1,允允许许=0,禁禁止止0 0 = ALT1 1 1 = ALT2 0 1 = ALT3 1

81、0 = ALT4起起/停与运行控制位:停与运行控制位:0 0 = 无操作无操作=NOP 0 1 = 立即停计数;立即停计数; 若未计数若未计数=NOP1 0 = 减到减到 0 停止;停止; 若未计数若未计数=NOP1 1 = 立即开始计数;立即开始计数; 若正在计数则减若正在计数则减 到到 0 0后按新的方后按新的方 式和初值计数。式和初值计数。8585专业课专业课 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 81558155定时定时/ /计数器计数器 输出信号的形式输出信号的形式M2M2,M1M1 定义定时定义定时/ /计数器从计数器从TI

82、MEROUTTIMEROUT输出信号的形式:输出信号的形式: D5 D4 D3 D2 D1 D0D5 D4 D3 D2 D1 D0 TIMERTIMER低低8 8位位TIMERTIMER高高6 6位位 M2 M1M2 M1(100)(101)M2M2,M1M1=00 =00 输出单个方波输出单个方波M2M2,M1M1=01 =01 输出连续方波输出连续方波M2M2,M1M1=10 =10 输出单个脉冲输出单个脉冲M2M2,M1M1=11 =11 输出连续脉冲输出连续脉冲计数开始计数开始计数结束计数结束常常用作分频器常常用作分频器(自动重装初值自动重装初值)常常用作分频器常常用作分频器(自动重装

83、初值自动重装初值)负脉冲宽度约等于负脉冲宽度约等于TIMERIN的的Tin单方波宽度约等单方波宽度约等于初值的一半于初值的一半8686专业课专业课81558155与单片机的连接与单片机的连接: AT89C51AT89C5181558155P0.0-P0.7P0.0-P0.7ALEALEP2.1P2.1CECERESETRESETAD0-AD7AD0-AD7EAEARESETRESETRDRDWRWRWRWRRDRD+5VPAPBPC8位位6位位8位位P2.2P2.2IO/MIO/MALEALETinTinToutTout 81558155内部有一个内部有一个锁存器锁存器,故不必再需要外加,故不

84、必再需要外加74LS37374LS373 由于用了由于用了P2.2P2.2接接/CE/CE;P2.1P2.1接接IO/MIO/M,它的,它的一组一组地址是:地址是: XXXX X XXXX X0101X XXXX XX XXXX X000 000 命令命令/ /状态字寄存器状态字寄存器 XXXX XXXXX X0101X XXXX XX XXXX X001001011 011 A A,B B,C C口寄存器口寄存器 XXXX X XXXX X0101X XXXX XX XXXX X100100101 101 定时器低定时器低/ /高位寄存器高位寄存器 对对81558155的片内的片内RAMRA

85、M寻址,必须寻址,必须P2.1P2.1为低,故为低,故RAMRAM地址为:地址为: XXXX X XXXX X0000X X 0000 00000000 00001111 11111111 1111等等256256个单元。个单元。8787专业课专业课81558155的编程应用的编程应用 例例1 1:初始化初始化A A口口,C,C口口为为输入输入口口, ,B B口为口为输出输出口口( (均为均为 基本基本I/O)I/O)定时器为定时器为2424分频连续方波输出。分频连续方波输出。MOV DPTR,#MOV DPTR,#0204H0204H ; ;指向指向TimerTimer低低8 8位寄存器位寄

86、存器MOV A, #MOV A, #2424 ; ;初值即分频数,初值即分频数,24=18H24=18HMOVX DPTR, A ;MOVX DPTR, A ;装入装入根据连线应该知道它的根据连线应该知道它的一组一组地址是:地址是:020002000205H0205H命令命令/ /状态字寄存器的状态字寄存器的M2M2,M1M1=01 =01 输出连续方波输出连续方波常常用作分频常常用作分频器器( (自动重装初自动重装初值值) )8888专业课专业课INC DPTR ;INC DPTR ;波形选择位与波形选择位与TimerTimer高高6 6位位MOV A, #MOV A, #40H40H ;

87、;0101000000=000000=连续方波连续方波TH=0TH=0MOVX DPTR, A ;MOVX DPTR, A ;装入装入MOV DPTR,#MOV DPTR,#0200H0200H ; ;指向命令指向命令/ /状态字寄存器状态字寄存器81558155的编程应用的编程应用 例例1 1:初始化初始化A A口口,C,C口口为为输入输入口口, ,B B口为口为输出输出口口( (均为均为 基本基本I/O)I/O)定时器为定时器为2424分频连续方波输出。分频连续方波输出。MOV DPTR,#MOV DPTR,#0204H0204H ; ;指向指向TimerTimer低低8 8位寄存器位寄存

88、器MOV A, #MOV A, #2424 ; ;初值即分频数,初值即分频数,24=18H24=18HMOVX DPTR, A ;MOVX DPTR, A ;装入装入8989专业课专业课 TM2 TM1 IEB IEA PC2 PC1 PB PA A口中断口中断B 口口A 口口C 口方式选择口方式选择=1,允允许许=0,禁禁止止=1,输输出出=0,输输入入=1,输输出出=0,输输入入C C口方式:口方式:ALT1ALT1C C口为输入口口为输入口(A(A、B B为基本为基本I/O)I/O)。 ALT2 ALT2C C口为输出口口为输出口(A(A、B B为基本为基本I/O)I/O)。 ALT3

89、ALT3C C口低口低3 3位为位为A A口选通口选通I/OI/O提供应答信号;提供应答信号; B B口为基本口为基本I/OI/O,C C口高口高3 3位为输出口。位为输出口。 ALT4 ALT4C C口的低、高口的低、高3 3位分别为位分别为A A口、口、B B口的选口的选 通通I/OI/O提供应答信号。提供应答信号。B口中断口中断=1,允允许许=0,禁禁止止0 0 = ALT1 0 1 = ALT2 1 0 = ALT3 1 1 = ALT4起起/停与运行控制位:停与运行控制位:0 0 = 无操作无操作=NOP 0 1 = 立即停计数;立即停计数; 若未计数若未计数=NOP1 0 = 减到

90、减到 0 停止;停止; 若未计数若未计数=NOP1 1 = 立即开始计数;立即开始计数; 若正在计数则减若正在计数则减 到到 0 0后按新的方后按新的方 式和初值计数。式和初值计数。 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0题目要求题目要求初始化初始化A A口口,C,C口口为为输入输入口口, ,B B口为口为输出输出口口( (均为基本均为基本I/O)I/O)此例命令字寄存器地址是此例命令字寄存器地址是: :0200H0200H。9090专业课专业课MOV A, #MOV A, #0 0C2HC2H ; ;立即启动计数立即启动计数,A,A入入B B出出C C入入MOVX,D

91、PTR, A ;MOVX,DPTR, A ;装入装入MOV DPTR,#MOV DPTR,#0200H0200H ; ;指向命令指向命令/ /状态字寄存器状态字寄存器INC DPTR ;INC DPTR ;波形选择位与波形选择位与TimerTimer高高6 6位位MOV A, #MOV A, #40H40H ; ;0101000000=000000=连续方波连续方波TH=0TH=0MOVX DPTR, A ;MOVX DPTR, A ;装入装入81558155的编程应用的编程应用 例例1 1:初始化初始化A A口口,C,C口口为为输入输入口口, ,B B口为口为输出输出口口( (均为均为 基本

92、基本I/O)I/O)定时器为定时器为2424分频连续方波输出。分频连续方波输出。MOV DPTR,#MOV DPTR,#0204H0204H ; ;指向指向TimerTimer低低8 8位寄存器位寄存器MOV A, #MOV A, #2424 ; ;初值即分频数,初值即分频数,24=18H24=18HMOVX DPTR, A ;MOVX DPTR, A ;装入装入9191专业课专业课LEDLED数码管的软件译码数码管的软件译码八段八段LEDLED数码管数码管段代码编码表段代码编码表( (连线不同可有多种表连线不同可有多种表):):公共阳极公共阳极h g f e d c b ah g f e d

93、 c b aa ab bc cd dg ge ef fh h公共阴极公共阴极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地字形字形字形字形0 01 12 23 34 45 56 67 78 89 9黑黑黑黑共阳共阳共阳共阳0C00C00F90F90A40A40B00B09999929282820F80F8808090900FF0FF共阴共阴共阴共阴3F3F06065B5B4F4F66666D6D7D7D07077F7F6F6F00009292

94、专业课专业课三、三、LEDLED显示器的扩展显示器的扩展( (显示方式显示方式) )LEDLED数码管的数码管的显示方式显示方式:静态与动态静态与动态动态显示特点动态显示特点: : 有闪烁有闪烁,用,用元器件少元器件少,占占I/OI/O线少线少,必须扫描必须扫描,花费花费CPUCPU时间时间,编程复杂。编程复杂。( (有多个有多个LEDLED时尤为突出)时尤为突出)静态显示特点静态显示特点: : 无闪烁无闪烁,用,用元器件多元器件多,占占I/OI/O线多线多,无须扫描无须扫描,节省节省CPUCPU时间时间,编程简单。编程简单。静态显示静态显示: : 各数码管在显示过程中各数码管在显示过程中持续

95、持续得到送显信号,与各数码管接口得到送显信号,与各数码管接口的的I/OI/O口线口线是是专用专用的。的。动态显示动态显示: : 各数码管在显示过程中各数码管在显示过程中轮流轮流得到送显信号,与各数码管接口得到送显信号,与各数码管接口的的I/OI/O口线口线是是共用共用的。的。9393专业课专业课四、键盘接口键盘键盘 单片机系统中完成控制参数输入及修改的单片机系统中完成控制参数输入及修改的基本输基本输入设备入设备,是人工干预系统的重要手段。,是人工干预系统的重要手段。单片机与计算机在键盘规模单片机与计算机在键盘规模/ /键符设置等方面差别键符设置等方面差别很大。很大。键盘分类键盘分类 按键值按键

96、值编码方式编码方式分分 ( (硬件硬件) )编码键盘编码键盘与与非非( (硬件硬件) )编码键盘编码键盘。 按键组按键组连接方式连接方式分分 独立连接键盘独立连接键盘与与矩阵连接键盘矩阵连接键盘。9494专业课专业课编码键盘编码键盘: : 采用专用的编码采用专用的编码/ /译码译码器件器件, ,被按下的键被按下的键由该器件译码输出相应的由该器件译码输出相应的键码键码/ /键值键值。特点:特点:增加了硬件开销,编码因选用器件而异,编增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。码固定,但编程简单。适用于规模大的键盘。非编码键盘非编码键盘: : 单片机系统多采用此类

97、键盘单片机系统多采用此类键盘 采用采用软件软件编编/ /译码的方式译码的方式, ,通过扫描,对每个被按下通过扫描,对每个被按下的键判别输出相应的的键判别输出相应的键码键码/ /键值键值。特点:特点:不增加硬件开销,编码灵活,适用于小规模不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂的键盘,特别是单片机系统。但编程较复杂, ,占占CPUCPU时间,还须软件时间,还须软件“消颤消颤”。按键值编码方式:编码键盘与非编码键盘9595专业课专业课按键组连接方式:独立连接键盘与矩阵连接键盘独立连接键盘独立连接键盘: : 每键相互独立,各自与一条每键相互独立,各自与一条I/OI

98、/O线相线相连,连,CPUCPU可直接读取该可直接读取该I/OI/O线的高线的高/ /低电平状态。低电平状态。特点:特点:占占I/OI/O口线多,但判键速度快,多用于设置控口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。制键、功能键。适用于键数少的场合。矩阵连接键盘矩阵连接键盘: : 键按矩阵排列键按矩阵排列, ,各键处于矩阵行各键处于矩阵行/ /列列的的结点结点处处,CPU,CPU通过对连在通过对连在行行( (列列) )的的I/OI/O线送已知电平线送已知电平的信号的信号, ,然后读取然后读取列列( (行行) )线的状态信息。逐线扫描线的状态信息。逐线扫描, ,得出键码。得出键码。特点:特点:键多时键多时占用占用I/OI/O口线少口线少, ,但判键速度慢但判键速度慢, ,多用于多用于设置数字键。适用于键数多的场合。设置数字键。适用于键数多的场合。9696专业课专业课

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 农业工程

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号