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

下载本文档

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

文档简介

1、累加器A程序计数器PC 数据指针DPTR通用寄存器B程序状态寄存器PSWCYACF0RS1RS0OVPPSW.7PSW.0必须掌握每个特殊功能寄存器的用途及设置16位 用于存放下一条所要执行的指令的地址16位 可以岔开为DPH 和DPL 每一位的用途如何切换工作寄存器组?OV和CY在什么情况下备置位?代表什么含义中断允许控制寄存器IE 中断优先级控制寄存器IP中断标志位是如何被置位的?如何被清零的?IT0 / IT1 用于设置 两种出发方式GATE 门控位一般情况下设置为0定时器计数器的相同处和不同处定时器计数器的四种工作方式定时器计数器的初始值的计算TH1 TL1 TH0 TL0串行口控制寄

2、存器SCON(98H)SM0SM1SM2RENTB8RB8 TI RI 9FH9EH9DH9CH9BH9AH99H98HSBUF 发送及接收缓冲区 ,如何接收和发送数据串口的四种工作方式串行通信的帧格式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.1001B= 2+2+2=137 无符号10001001B- 1 1110111 B= -

3、119 有符号10001001B- 89 BCD7 3 0知识点:计算机里有符号数的表示方法,即一个有符号数在计算里是如何表示,同时计算机锁表示的一个数其真值为多少第二章 知识点:所有内容 ,包括单片机的内部结构,引脚,存储器的划分,复位,时钟,并行I/O的使用特点8位CPU片内128/256B的 RAM 64KB外部数据存储器/外部程序存储器地址空间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各中断的入口地

4、址RAM的结构00H1FH20H2FH30H7FH工作寄存器区位寻址区用户自定义区R7R5R6R4R3R2R1R000H05H06H07H01H03H02H04H工作寄存器区008H工作寄存器区1工作寄存器区20FH10H17HR7R5R6R4R3R2R1R01FH18H19H1AH1BH1CH1DH1EH工作寄存器区3 程序状态字PSW 程序状态字是一个8位的寄存器,用来表示算术逻辑单元操作的结果状态和CPU的工作状态,供程序查询和判别使用。CYACF0RS1RS0OVPPSW.7PSW.0RS1RS0寄存器组片内PAM地址通用寄存器名称000组00H07HR0R7011组08H0FHR0R

5、7102组10H17HR0R7113组18H1FHR0R7RS1、 RS0与片内工作寄存器组的对应关系 RS1(PSW.4)、 RS0(PSW.3)工作寄存器组选择位。 单片机系统开机或复位后的RS1和RS0为00,故R0R7的物理地址为00H07H,即R0的地址为00H,R1的为01H,R7的为07H。图43 MCS51系列单片机引脚及总线结构 (a) 管脚图; (b) 引脚功能分类 (1) RST: RST即为RESET,引脚为单片机的上电复位端。 当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。寄存器功能复位状态寄存器功能复位状态PC

6、程序计数器 0000HTCON定时器控制寄存器 00HACC累加器 00HTH0T0计数器高8位 00HB通用寄存器 00HTL0T0计数器低8位 00HPSW状态条件寄存器00HTH1T1计数器高8位 00HSP堆栈指针 07HTL1T1计数器低8位 00HDPTR数据指针 0000HSCON串行口控制寄存器 00HP0P3P0P3口数据寄存器 FFHSBUF串行口发送/接收缓冲器 XXHIP中断优先级控制寄存器 XX000000BPCON电源控制寄存器 0XXX0000BIE中断允许控制寄存器 0X000000BTMOD定时器/计数器方式控制00H (2) (30脚):地址锁存有效信号输出

7、端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间, ALE(允许地址锁存信号)以每机器周期两次的信号输出下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。 (4) /EA : 为访问外部程序存储器控制信号, 低电平有效。当EA=1时,可以访问内部程序存储器。当PC超出片内存储器范围时,将自动执行片外程序存储器的程序。当EA=0时,只访问片外程序存储器。存储器程序存储器 数据存储器 片内程序存储器(00H-0FFFH) 4KB 片外程序存储

8、器(0000H0FFFFH) 片内数据存储器(00H-7FH 00H-0FFH) 片外数据存储器(0000H0FFFFH) 地址重叠: 数据存储器空间与 程序存储器空间地址重叠 指令不同 访问程序存储器只有 MOVC 程序存储器片内、片外存储器空间重叠 /EA 数据存储器片内、片外存储器空间重叠 指令不同 MOVX访问外部数据存储器 数据存储器内部存储器空间重叠 寻址方式不同CPU 时序 时钟周期、机器周期和指令周期。时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(如12M的晶振,它的时间周期就是1/12 us)。8051单片机的时钟范围是1.2MHz-12MHz。机器周期 完成一个基

9、本操作所需要的时间称为机器周期。一个机器周期=12个时钟周期。 指令周期 指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。图 MCS-51外部程序存储器读时序 80C51单片机引脚ALE的作用是什么?当80C51不外接存储器时,ALE上的输出的脉冲频率是多少?答:80C51单片机引脚ALE的作用是对外部存储寻址时锁存P0口输出的低8位地址,当80C51不外接存储器时,每个机器周期ALE两次有效,ALE上的输出的脉冲频率是fosc/6。第3章知识点:掌握各汇编语言指令 (会阅读程序)2MCS-51单片机的PSW程序状态字中无ZERO(零)标志位,怎样判断某内部数据单元的内容是否为零

10、?答:判断某单元的内容是否为零是能通过取数到A累加器,利用 JZ 再判断A中的每一位是否为零来确定其值是否为零。3编程将内部RAM的20H-30H单元内容清零。MOVR0,#20H;设地址指针初值CLRA CONT:MOVR0,A ;置0指针所指单元INCR0 ;地址指针加1CJNER0,#31H,CONT;指针未超过终点则继续SJMP$4编程查找内部RAM的32H41H单元中是否有0AAH这个数据,若有这一数据,则将50H单元置为0FFH,否则将50H单元清零。 MOVR7,#16MOVR0,#32HCONT:CJNER0,#0AAH,NEXTMOVA,#0FFHSJMPDOWNNEXT:I

11、NCR0DJNZR7,CONTMOVA,#00HDOWN:MOV50H,ASJMP$5查找20H4FH单元中出现00H的次数,并将结果存入50H单元。解:从20H到4FH共48个字节MOVR7,#48 MOVR0,#20H CONT:CJNER0,#00H,NEXTINCR6 NEXT:INCR0DJNZR7,CONTMOV50H,R6SJMP$END6已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行之后的A中的内容。 ANL A, #17H ORL 17H, A XRL A, R0 CPL AA=03H(17H)=0011 0100 0000 0011=0011 0111

12、A= 0000 0011 异或0011 0111 =0011 0100 A=1100 10118内部RAM从20H单元开始处有一数据块,以ODH为结束标志,试统计该数据块的长度,将该数据块送到外部数据存储器7E01H开始的单元,并将长度存入7E00H单元。MOVR7, #0MOVR0, #20HMOVDPTR, #7E01H CONT:MOVA, R0MOVX DPTR, AINCR7INCR0 INCDPTRCJNEA,#0DH, CONTMOVA, R7 MOVD DPTR, #7E00HMOVX DPTR,A第四章 知识点:C51的数据结构,程序结构 #include main( ) a

13、=C; /a和C必须先定义才可使用 int a=7, C/缺分号,应该提在使用前说明 delay(10)/子程序必须先定义,或先有函数说明 void delay( );/作为函数定义,不能在一个函数内定义另一个函数,而且“”前不应有分号;作为函数原型说明,应该放在函数调用之前,且其后不应该接函数体 cgar i;/字符型应该是unsigned char for(i=0; i=255; ”+”);/ ”+”应改成i+, /主函数没有结束,缺”2C51语言的变量定义包含哪些关键因素?为何这样考虑?答:变量定义如下:存储种类数据类型存储类型变量名其中:存储种类包括:自动型(auto)、外部型(ext

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

15、接寻址、页面寻址、位寻址)所致,所以在定义变量时,要根据其所在位置和寻址方式明确指定存储类型。5定义变量a,b,c,其中a为内部RAM的可位寻址区的字符变量,b为外部数据存储区浮点型变量,c为指向 int 型 xdata 区的指针。答:char bdata a;float xdata b;int xdata *c;9内部RAM 20H、21H和22H、23H单元分别存放着两个无符号的16位数,将其中的大数置于24H和25H单元。#includeunsigned int x _at_ 0 x20;unsigned int y _at_ 0 x22;unsigned int z _at_ 0 x2

16、4;void main( ) z=(xy)?x:y;第五、六章 知识点:中断和定时器的所有相关内容,中断源,中断的入口地址及中断类型号,外中断的触发方式,中断优先级,中断标志位,中断开关,定时器的四种工作方式的各自特点,定时器的初始值的计算,定时器的编程初始化及使用;中断源、中断优先级、中断类型号、中断向量引发中断的事件称为中断源。有5个中断源,它们是外部中断0,定时器T0,外部中断1,定时器T1,串行口。外部中断源是由引脚的触发信号引起的中断,定时器中断源是由于定时器计数器的溢出引发的中断,串行口是由于串行通信的发送或接收引发的中断。将中断事件按轻重缓急分若干级别叫中断优先级,允许中断优先级

17、高的中断源中断正在执行的低优先级的中断服务程序叫中断嵌套。外部中断0,定时器T0,外部中断1,定时器T1,串行口五个中断源的中断向量地址依次为:0003H,000BH,0013H,001BH,0023H。5编写出外部中断1为下跳沿触发的中断初始化程序。解: void Int1_init( ) IT1=1; EA=1; EX1=1;6.有一外部中断源,接入 端,当其中有中断请求时,要求CPU把一个从内部RAM 30H单元开始的50个字节的数据块传送到外部RAM从1000H开始的连续存储区。请编写对应的程序。#includevoid main()IT0=1; EA=1;EX0=1;while(1)

18、;void intx0( ) interrupt 0 using 1 char * ptr1=0 x30; char xdata * ptr2=0 x1000; for(i=0;i50;i+) *ptr2+=*ptr1+;8采用定时/计数器TO对外部脉冲进行计数,每计数10O个脉冲,TO切换为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-5l单片机的晶体振荡器的频率为6MHz,要求T0工作在方式1状态,请编写出相应程序。解:机器周期为121/(6*106)= 2us, 要定时1ms,需计脉冲为 1000/2=500次#includesbit P1_0=P10;void main()while(1

温馨提示

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

评论

0/150

提交评论