单片机复习+课后习题_第1页
单片机复习+课后习题_第2页
单片机复习+课后习题_第3页
单片机复习+课后习题_第4页
单片机复习+课后习题_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、累加器累加器A A 程序计数器程序计数器PC PC 数据数据指针指针DPTRDPTR 通用寄存器通用寄存器B B 程序状态程序状态寄存器寄存器PSWPSW CYACF0RS1RS0OVP PSW.7PSW.0 必须掌握每个特殊功能寄存器的用途及设置必须掌握每个特殊功能寄存器的用途及设置 1616位位 用于存放下一条所要执行的指令的地址用于存放下一条所要执行的指令的地址 1616位位 可以岔开为可以岔开为DPH DPH 和和DPLDPL 每一位的用途每一位的用途 如何切换工作寄存器组?如何切换工作寄存器组? OV和和CY在什么情况下备置位?代表什么含义在什么情况下备置位?代表什么含义 中断允许控

2、制寄存器中断允许控制寄存器IE 中断优先级控制寄存器中断优先级控制寄存器IP TF1 8FH TR1 8EH TF0 8DH TR0 8CH IE1 8BH IT1 8AH IE0IT0 89H88H TCON字节地址88H 位地址 触发方式外中断 INT1 触发方式外中断 INT0 定时器T1中断标志 定时器T0中断标志 有效标志外中断 INT1 有效标志外中断 INT0 中断标志位是如何被置位的?如何被清零的?中断标志位是如何被置位的?如何被清零的? IT0 / IT1 用于设置用于设置 两种出发方式两种出发方式 GATEM1M0 b7b6b5b4 GATEM1M0 b3b2b1b0 字节

3、地址89HTMOD T / CT / C 定时/计数工作方式 启动方式 定时器T1工作方式字段 定时/计数工作方式 启动方式 定时器T0工作方式字段 GATE 门控位一般情况下设置为门控位一般情况下设置为0 定时器定时器计数器的相同处和不同处计数器的相同处和不同处 定时器定时器计数器的四种工作方式计数器的四种工作方式 定时器定时器计数器的初始值的计算计数器的初始值的计算 TH1 TL1 TH0 TL0 串行口串行口控制寄存器控制寄存器SCON(98H)SCON(98H) SBUF 发送及接收缓冲区发送及接收缓冲区 ,如何接收和发送数据,如何接收和发送数据 串口的四种工作方式串口的四种工作方式

4、串行通信的帧格式串行通信的帧格式 RI TI 什么时候被置位、清零什么时候被置位、清零 P0 P1 P2 P3 对应对应4个个8位的并行位的并行I/O口,各自的特点口,各自的特点 P0 数据数据/地址线地址线 ,分时复用,分时复用 P2 高高8位地址线位地址线 作为作为I/O口使用时口使用时 P0口漏极开路,作为口漏极开路,作为输出输出口要口要接上拉电阻接上拉电阻, P0-P3 作为作为输入口要先写一输入口要先写一 第一第一章章 36= 0010 0100 B -36= 1101 1100B 5. 6. 10001001B= 2+2+2=137 无符号无符号 10001001B- 1 1110

5、111 B= -119 有符号有符号 10001001B- 89 BCD 7 3 0 知识点:计算机里有符号数的表示方法,即一个有符号数在计算知识点:计算机里有符号数的表示方法,即一个有符号数在计算 里是如何表示,同时计算机锁表示的一个数其真值为多少里是如何表示,同时计算机锁表示的一个数其真值为多少 第二章第二章 知识点:所有内容知识点:所有内容 ,包括单片机的内部结构,引脚,存储器的,包括单片机的内部结构,引脚,存储器的 划分,复位,时钟,并行划分,复位,时钟,并行I/O的使用特点的使用特点 8 8位位CPU 片内片内128/256B的的 RAM 64KB外部外部数据存储器数据存储器/外部外

6、部程序存储器程序存储器地址空间地址空间 2个优先级的个优先级的5个中断源结构个中断源结构 4个个8位并行位并行I/O口(口(P0、P1、P2 、P3 ) 1个个全全双工双工异步异步串行口串行口(SIO/UART) 2个个16位定时位定时/计数器(计数器( TIMER/COUNTER ) ROM ROM (4K/8K) RAM (128/256) SFR 各中断的入口地址各中断的入口地址 RAM的结构的结构 00H 1FH 20H 2FH 30H 7FH 工作寄存器区工作寄存器区 位寻址区位寻址区 用户自定义区用户自定义区 R7 R5 R6 R4 R3 R2 R1 R0 工作寄存器区工作寄存器区

7、1 工作寄存器区工作寄存器区2 R7 R5 R6 R4 R3 R2 R1 R0 程序状态字程序状态字PSW 程序状态字是一个程序状态字是一个8位的寄存器,用来表示算术位的寄存器,用来表示算术 逻辑单元操作的结果状态和逻辑单元操作的结果状态和CPU的工作状态,供程的工作状态,供程 序查询和判别使用。序查询和判别使用。 CYACF0RS1RS0OVP PSW.7PSW.0 RS1RS0寄存器组寄存器组片内片内PAM地址地址通用寄存器名称通用寄存器名称 000组组00H07HR0R7 011组组08H0FHR0R7 102组组10H17HR0R7 113组组18H1FHR0R7 RS1、 RS0与片

8、内工作寄存器组的对应关系与片内工作寄存器组的对应关系 RS1(PSW.4)、)、 RS0(PSW.3)工作寄存器组选择位。工作寄存器组选择位。 00 R7 R6 R5 R4 R3 R2 R1 R0 工作寄存器0区 00H 01H 02H 03H 04H 05H 06H 07H R7 R6 R5 R4 R3 R2 R1 R0 工作寄存器1区 08H 09H 0AH 0BH 0CH 0DH 0EH 0FHR7 R6 R5 R4 R3 R2 R1 R0 工作寄存器2区 10H 11H 12H 13H 14H 15H 16H 17HR7 R6 R5 R4 R3 R2 R1 R0 工作寄存器3区 18H

9、 19H 1AH 1BH 1CH 1DH 1EH 1FH 图43 MCS51系列单片机引脚及总线结构 (a) 管脚图; (b) 引脚功能分类 (1) RST: RST即为即为RESET,引脚引脚为单片机的上电为单片机的上电复位端复位端。 当单片机振荡器工作时,该引脚上出现持续当单片机振荡器工作时,该引脚上出现持续两个机器两个机器 周期的高电平周期的高电平,就可实现复位操作,使单片机回复到初始,就可实现复位操作,使单片机回复到初始 状态状态。 寄存器寄存器功能功能复位状态复位状态寄存器寄存器功能功能复位状态复位状态 PC程序计数器程序计数器 0000HTCON定时器控制寄存器定时器控制寄存器 0

10、0H ACC累加器累加器 00HTH0T0计数器高计数器高8位位 00H B通用寄存器通用寄存器 00HTL0T0计数器低计数器低8位位 00H PSW状态条件寄存器状态条件寄存器00HTH1T1计数器高计数器高8位位 00H SP堆栈指针堆栈指针 07HTL1T1计数器低计数器低8位位 00H DPTR数据指针数据指针 0000HSCON串行口控制寄存器串行口控制寄存器 00H P0P3P0P3口数据寄存器口数据寄存器 FFHSBUF串行口发送串行口发送/接收缓冲器接收缓冲器 XXH IP中断优先级控制寄存器中断优先级控制寄存器 XX000000BPCON电源控制寄存器电源控制寄存器 0XX

11、X0000B IE中断允许控制寄存器中断允许控制寄存器 0X000000BTMOD定时器定时器/计数器方式控制计数器方式控制00H (2) (30脚脚):地址锁存有效信号输出端地址锁存有效信号输出端。 ALE在每个机器周期内输出两个脉冲。在访问片外程序存在每个机器周期内输出两个脉冲。在访问片外程序存 储器期间,储器期间, ALE(允许地址锁存信号)以每机器周期两次(允许地址锁存信号)以每机器周期两次 的信号输出的信号输出下降沿用于控制锁存下降沿用于控制锁存P0输出的低输出的低8位地址位地址;在;在 不访问片外程序存储器期间,可作为对外输出的时钟脉不访问片外程序存储器期间,可作为对外输出的时钟脉

12、 冲或用于定时目的。但要注意,在访问片外数据存储器冲或用于定时目的。但要注意,在访问片外数据存储器 期间,期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。脉冲会跳空一个,此时作为时钟输出就不妥了。 /ALE PROG (4) /EA : 为访问外部程序存储器控制信号为访问外部程序存储器控制信号, 低电平有效。低电平有效。 EA 当当EA=1时,可以访问内部程序存储器。当时,可以访问内部程序存储器。当PC超出片内存储器范超出片内存储器范 围时,将自动执行片外程序存储器的程序。围时,将自动执行片外程序存储器的程序。 当当EA=0时,只访问片外程序存储器。时,只访问片外程序存储器。 存储器存储

13、器 程序存储器程序存储器 数据存储器数据存储器 片内程序存储器(片内程序存储器(00H-0FFFH00H-0FFFH) 4KB4KB 片外程序存储器(片外程序存储器(0000H0000H0FFFFH0FFFFH) 片内数据存储器片内数据存储器(00H-7FH (00H-7FH 00H-0FFH) 00H-0FFH) 片外数据存储器(片外数据存储器(0000H0000H0FFFFH0FFFFH) 地址重叠地址重叠: 数据存储器空间与数据存储器空间与 程序存储器空间地址重叠程序存储器空间地址重叠 指令不同指令不同 访问程序存储器只有访问程序存储器只有 MOVC 程序存储器片内、片外存储器空间重叠程

14、序存储器片内、片外存储器空间重叠 /EA 数据存储器片内、片外存储器空间重叠数据存储器片内、片外存储器空间重叠 指令不同指令不同 MOVX访问外部数据存储器访问外部数据存储器 数据存储器内部存储器空间重叠数据存储器内部存储器空间重叠 寻址方式寻址方式不同不同 CPU 时序时序 时钟时钟周期周期、机器周期机器周期和指令周期指令周期。 时钟周期时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数时钟周期也称为振荡周期,定义为时钟脉冲的倒数(如12M 的晶振,它的时间周期就是1/12 us)。8051单片机的时钟范围单片机的时钟范围 是是1.2MHz-12MHz。 机器周期机器周期 完成一个基本操

15、作所需要的时间称为机器周期。一一个机器周个机器周 期期=12个时钟周期个时钟周期。 指令周期指令周期 指令周期是执行一条指令所需要的时间,一般由若干个机指令周期是执行一条指令所需要的时间,一般由若干个机 器周期组成器周期组成。 时钟周期P1P2P1P2P1P2P1P2P1P2P1P2P1P2 S1S2S3S4S5S6S1 一个机器周期 ALE TLHLL PSEN TPLIV P2A15-A8A15-A8 P0 TAVIV 指令A7-A0指令A7-A0指令 图 MCS-51外部程序存储器读时序 80C5180C51单片机引脚单片机引脚ALEALE的作用是什么?当的作用是什么?当80C5180C

16、51不外接存储器时,不外接存储器时, ALEALE上的输出的脉冲频率是多少?上的输出的脉冲频率是多少? 答:答:80C5180C51单片机引脚单片机引脚ALEALE的作用是对外部存储寻址时锁存的作用是对外部存储寻址时锁存P0P0口口输输 出的低出的低8位地址,位地址,当当80C5180C51不外接存储器时,每个机器周期不外接存储器时,每个机器周期ALEALE两两 次有效,次有效,ALEALE上的输出的脉冲频率是上的输出的脉冲频率是foscfosc/6/6。 第第3章章 知识点:掌握各汇编语言指令知识点:掌握各汇编语言指令 (会阅读程序)(会阅读程序) 2MCS-51单片机的单片机的PSW程序状

17、态字中无程序状态字中无ZERO(零零)标志位,怎样标志位,怎样 判断某内部数据单元的内容是否为零?判断某内部数据单元的内容是否为零? 答答:判断某单元的:判断某单元的内容是否为零是能通过取数到内容是否为零是能通过取数到A累加器累加器,利用利用 JZ 再再判断判断A中的每一位是否为零来确定其值是否为零。中的每一位是否为零来确定其值是否为零。 3编程将内部编程将内部RAM的的20H-30H单元内容清零。单元内容清零。 MOVR0,#20H;设地址指针初值设地址指针初值 CLRA CONT:MOVR0,A ;置置0指针所指单元指针所指单元 INCR0 ;地址指针加地址指针加1 CJNER0,#31H

18、,CONT;指针未超过终点则继续指针未超过终点则继续 SJMP $ 4编程查找内部编程查找内部RAM的的32H41H单元中是否有单元中是否有0AAH这个数据,这个数据, 若有这一数据,则将若有这一数据,则将50H单元置为单元置为0FFH,否则将,否则将50H单元清零。单元清零。 MOVR7,#16 MOVR0,#32H CONT: CJNER0,#0AAH,NEXT MOVA,#0FFH SJMP DOWN NEXT: INCR0 DJNZR7,CONT MOVA,#00H DOWN:MOV 50H,A SJMP $ 5查找查找20H4FH单元中出现单元中出现00H的次数,并的次数,并将结果将

19、结果存入存入50H单元。单元。 解:从解:从20H到到4FH共共48个字节个字节 MOVR7,#48 MOVR0,#20H CONT:CJNER0,#00H,NEXT INCR6 NEXT:INCR0 DJNZR7,CONT MOV50H,R6 SJMP $ END 6已知已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行之后,写出下列程序段执行之后 的的A中的内容中的内容。 ANL A, #17H ORL 17H, A XRL A, R0 CPL A A=03H (17H)=0011 0100 0000 0011=0011 0111 A= 0000 0011 异或异或001

20、1 0111 =0011 0100 A=1100 1011 8内部内部RAM从从20H单元开始处有一数据块,以单元开始处有一数据块,以ODH为结束标志,为结束标志, 试统计该数据块的长度,将该数据块送到外部数据存储器试统计该数据块的长度,将该数据块送到外部数据存储器7E01H 开始的单元,并将长度存入开始的单元,并将长度存入7E00H单元。单元。 MOVR7, #0 MOVR0, #20H MOVDPTR, #7E01H CONT:MOVA, R0 MOVX DPTR, A INCR7 INCR0 INCDPTR CJNEA,#0DH, CONT MOVA, R7 MOVD DPTR, #7E

21、00H MOVX DPTR,A 第四章第四章 知识点:知识点:C51的数据结构,程序结构的数据结构,程序结构 #include main( ) a=C; /a和和C必须先定义才可使用必须先定义才可使用 int a=7, C/缺分号,应该提在使用前说明缺分号,应该提在使用前说明 delay(10)/子程序子程序必须先定义,或先有必须先定义,或先有函数说明函数说明 void delay( ); /作为函数定义作为函数定义,不能,不能在一个函数内定义另一个函数,而且在一个函数内定义另一个函数,而且 “”前不应有前不应有分号分号;作为作为函数原型说明,应该放在函数调函数原型说明,应该放在函数调 用之前

22、用之前,且其后不应该接函数体且其后不应该接函数体 cgar i;/字符型应该是字符型应该是unsigned char for(i=0; i=255; ”+”);/ ”+”应改成应改成i+, /主函数没有结束,缺主函数没有结束,缺” 2C51语言的变量定义包含哪些关键因素?为何这样考虑?语言的变量定义包含哪些关键因素?为何这样考虑? 答答:变量定义如下:变量定义如下:存储种类存储种类数据类型数据类型存储类型存储类型变量变量名名 其中其中:存储种类包括:存储种类包括:自动型:自动型(auto)、外部型、外部型(extern)、静态型、静态型 (static)、寄存器型、寄存器型(register)

23、。 数据类型字符型数据类型字符型(char),整型,整型(int),浮点,浮点型型(float)等等,还有,还有二进制位二进制位 型型(bit),特殊功能寄存器型,特殊功能寄存器型(sfr),SFR可位寻址的位类型可位寻址的位类型(sbit)。 存储类型包括:存储类型包括:片内片内RAM区区(data)、片内可位寻址区、片内可位寻址区(bdata),片内,片内 RAM间接寻址区间接寻址区(idata),片,片外外RAM区区(xdata)、ROM区区(code)。 只所以比标准只所以比标准C语言多了存储类型,就是因为语言多了存储类型,就是因为MCS51单片机的存单片机的存 储结构中有四个物理存储

24、空间储结构中有四个物理存储空间(片内片内RAM、片内、片内ROM,片外,片外RAM, 片外片外ROM),三个逻辑地址空间,三个逻辑地址空间(片内片内RAM,片外,片外RAM,ROM),而,而 且有多种寻址方式(直接寻址、间接寻址、页面寻址、位寻址)所且有多种寻址方式(直接寻址、间接寻址、页面寻址、位寻址)所 致,所以在定义变量时,要根据其所在位置和寻址方式明确指定存致,所以在定义变量时,要根据其所在位置和寻址方式明确指定存 储类型。储类型。 5定义变量定义变量a,b,c,其中,其中a为内部为内部RAM的可位寻址区的字符变的可位寻址区的字符变 量,量,b为外部数据存储区浮点型变量,为外部数据存储

25、区浮点型变量,c为指向为指向 int 型型 xdata 区的区的 指针。指针。 答:答:char bdata a; float xdata b; int xdata *c; 9内部内部RAM 20H、21H和和22H、23H单元分别存放着两个无符号单元分别存放着两个无符号 的的16位数,将其中的大数置于位数,将其中的大数置于24H和和25H单元。单元。 #include unsigned int x _at_ 0 x20; unsigned int y _at_ 0 x22; unsigned int z _at_ 0 x24; void main( ) z=(xy)?x:y; 第五、六章第五

26、、六章 知识点:知识点:中断和定时器的所有相关内容,中断和定时器的所有相关内容, 中断源,中断的入口地址及中断类型号,外中断的触中断源,中断的入口地址及中断类型号,外中断的触 发方式,中断优先级,中断标志位,中断开关,发方式,中断优先级,中断标志位,中断开关, 定时器的四种工作方式的各自特点,定时器的初始值定时器的四种工作方式的各自特点,定时器的初始值 的计算,定时器的编程初始化及使用;的计算,定时器的编程初始化及使用; 中断中断源、中断优先级、中断类型号、中断源、中断优先级、中断类型号、中断向量向量 引发中断的事件称为中断源。有引发中断的事件称为中断源。有5个中断源,它们是外部中断个中断源,

27、它们是外部中断0, 定时器定时器T0,外部中断,外部中断1,定时器,定时器T1,串行口。外部中断源是由引,串行口。外部中断源是由引 脚的触发信号引起的中断,定时器中断源是由于定时器计数器脚的触发信号引起的中断,定时器中断源是由于定时器计数器 的溢出引发的中断,串行口是由于串行通信的发送或接收引发的溢出引发的中断,串行口是由于串行通信的发送或接收引发 的中断。的中断。 将中断事件按轻重缓急分若干级别叫将中断事件按轻重缓急分若干级别叫中断优先级中断优先级,允许中断允许中断优优 先级高的中断源中断正在执行的低优先级的中断服务程序叫中先级高的中断源中断正在执行的低优先级的中断服务程序叫中 断嵌套。断嵌

28、套。 外部中断外部中断0,定时器,定时器T0,外部中断,外部中断1,定时器,定时器T1,串行口五个中,串行口五个中 断源的中断向量地址依次为:断源的中断向量地址依次为:0003H,000BH,0013H,001BH, 0023H。 5编写出外部中断编写出外部中断1为下跳沿触发的中断初始化程序。为下跳沿触发的中断初始化程序。 解:解: void Int1_init( ) IT1=1; EA=1; EX1=1; 0INT 6.6.有一外部中断源,接入有一外部中断源,接入 端,当其中有中断请求时,要求端,当其中有中断请求时,要求CPUCPU 把一个从内部把一个从内部RAM 30HRAM 30H单元开始的单元开始的5050个字节的数据块传送到外部个字节的数据块传送到外部RAMRAM 从从1000H10

温馨提示

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

评论

0/150

提交评论