单片机原理及应用课后习题答案(36页).doc

上传人:1595****071 文档编号:35599358 上传时间:2022-08-22 格式:DOC 页数:36 大小:365.50KB
返回 下载 相关 举报
单片机原理及应用课后习题答案(36页).doc_第1页
第1页 / 共36页
单片机原理及应用课后习题答案(36页).doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《单片机原理及应用课后习题答案(36页).doc》由会员分享,可在线阅读,更多相关《单片机原理及应用课后习题答案(36页).doc(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-课后思考题级习题答案思考题与习题1一、填空1.单片机按照用途通常分为 通用型 和 专用型 。2.单片机也称为 微控制器 和 单片微型计算机 。二、简答1.什么是单片机?答:单片机也称微控制器,它是将中央处理器、程序处理器、数据处理器、输入/输出接口、定时/计数器串行口、系统总线等集成在一个半导体芯片上的微计算机,因此又称为单片微型计算机,简称为单片机。2. 简述单片机的特点和应用领域。 答:(1)单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。 (2)单片机的可靠性高。 (3)单片机的指令系统简单,易学易用。 (4)单片机的发展迅速,特别是最近几年,单片机的内部结构越来越

2、完善。3. 写出AT89S51与AT89S52芯片的主要区别。 内部程序存储区容量不同,52的程序存储空间为8K,内部数据存储空间为256B,中断源8个,定时器计数器有3个,而51的程序存储空间为4K,内部数据存储空间为128B,中断源5个,定时器计数器有2个。思考题与习题2一、填空题1.如果(PSW)=10H, 则内部RAM工作寄存器区的当前寄存器是第二 组寄存器,8个寄存器的单元地址为 10H 17H 。2.为寻址程序状态字F0位,可使用的地址和符号有 PSW.5 、 0D0H.5 、 F0 和 0D5H 。3.单片机复位后,(SP)= 07H ,P0P3= FFH ,PC= 0000H

3、,PSW= 00H A= 00H 。4.AT89S51单片机的程序存储器的寻址范围是由 PC 决定的,由于AT89S51单片机的PC是 16 位的,所以最大寻址范围为 64KB 。5.写出位地址为20H所在的位,字节地址 24H.0 。6.写出字节地址为20H的单元最高位的位地址为 07H ,最低位的位地址为 00H 。7.如果晶振频率,则一个时钟周期为1.66667E-7,一个机器周期为2us。8. AT89S51单片机共有26个特殊功能寄存器。9. AT89S51单片机片外数据存储器最多可以扩展64KB。10.如果CPU从片外ROM的0000H单元开始执行程序,那么引脚应接 低电平。二、选

4、择题1.PC的值是( C )。A.当前指令前一条指令的地址 B.当前正在执行指令的地址C.下一条指令的地址 D.控制器中指令寄存器的地址2.对程序计数器PC的操作是( A )。A.自动进行的 B.通过传送进行C.通过加“1”指令进行的 D.通过减“1”指令进行3.在AT89S51单片机中P0口作为( D )。A.数据总线 B.地址总线C.控制总线 D.数据总线和地址总线4. 在AT89S51单片机中( C )。A.具有独立的专用的地址总线 B.P0口和P1口作为地址总线C.P0口和P2口作为地址总线 D.P2口和P1口作为地址总线三、简答题1.AT89S51单片机的引脚有何功能?如果使用片内R

5、OM,该引脚该如何处理?答: 为该引脚的第一功能,为访问程序存储器控制信号。如果使用片内ROM,则信号为高电平。2.什么是指令周期,机器周期和时钟周期?答:指令周期是CPU每取出并执行一条指令所需的全部时间;机器周期是CPU完成一个基本操作所需要的时间。时钟周期是指计算机主时钟的周期时间。3.堆栈的作用是什么?在程序设计时,为什么要对堆栈指针SP重新赋值?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场;堆栈指针SP复位后指向07H单元,00H-1FH为工作寄存器区,20H-2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。4.单片机复

6、位有几种方法?答:1、上电复位 2、按键复位 3、看门狗复位 4、软件复位5. AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境? 可以采用复位键进行复位,使单片机初始化,也可以在软件中使用看门狗。6. AT89S51单片机P0P3口的驱动能力如何?如果想获得较大的驱动能力,采用低电平输出还是高电平输出?答:P0口每位可驱动8个LSTTL输入,而P1.P2.P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400A的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动

7、能力,只能用低电平输出。7. AT89S51单片机内部RAM低128单元划分为几个部分?每部分有什么特点? 答:工作寄存器区、位寻址区、用户RAM区。每部分特点如下:00H-1FH为工作寄存器区,共32个单元,被分为4组,每组有八个寄存器(R0-R7)。任意时刻,CPU只能使用一组寄存器,当前正在使用的寄存器组被称为当前寄存器。在程序运行过程中如果不使用的寄存器也可以作为RAM使用。20H-2FH为位寻址区,共16个单元。这16个单元可以作为字节单元使用,同时这16个单元的每一位也可以单独使用,即位寻址。30H-7FH为用户RAM区,用于存放各种数据、中间结果,起到数据缓冲的作用。在实际使用中

8、,常需要把堆栈设在用户RAM中。8. AT89S51单片机的片内都包含了哪些功能部件?各个功能部件主要的功能是什么?答: 1个微处理器(CPU);128个数据存储器(RAM)单元;4KB Flash程序存储器;4个8位可编程并行I/O口;1个全双工串行口;2个16位定时器/计数器;1个看门狗定时器;1个中断系统,5个中断源,2个优先级;26个特殊功能寄存器(SFR);1个看门狗定时器。9. 程序存储器的空间中,有5个特殊单元,分别对应AT89S51单片机5个中断源的入口地址,写出这些单元的地址及对应的中断源。 中断源中断入口地址外部中断00003H定时/计数器0溢出中断000BH外部中断100

9、13H定时/计数器1溢出中断001BH串行中断0023H10. AT89S51单片机有几个存储器空间?画出它的存储器结构图。AT89S51单片机的有3个存储器空间,即片内片外统一编制的程序存储器,片内数据存储器和片外数据存储器。11.什么是空闲方式?怎样进入和退出空闲方式?答:空闲方式:CPU处于休眠的状态,而片内所有其他外围设备保持工作状态,即振荡器保持工作,时钟脉冲继续输出到中断、串行口、定时器等功能部件,使它们继续工作,但时钟脉冲不再送到CPU,因而CPU停止工作。进入:每当CPU执行一条将IDL位置1 的指令,就使它进入空闲方式,CPU即停止工作,进入空闲方式。退出:两种:一是被允许的

10、中断源请求中断时,由内部的硬件电路清0 IDL位,终止空闲方式;另一种方式是硬件复位。RST引脚上的复位信号直接将IDL为清0,从而使单片机退出空闲方式。12.什么是掉电方式?怎样进入和退出掉电方式? 答:掉电:振荡器停止工作,单片机内部所有的功能部件全部停止工作。 进入:CPU执行一条将PD位置1的指令,就使单片机进入掉电方式。 退出:唯一的方法是硬件复位,复位后单片机内部特殊功能寄存器的内容被初始化,PCON=0,从而退出掉电方式。13.AT89S51单片机的控制信号引脚有哪些?说出其功能。答: RST(9脚):复位信号输入端,高电平有效。当振荡器工作时,RST引脚出现两个机器周期以上高电

11、平将使单片机复位。ALE (30脚):地址锁存控制信号。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存低8位地址。(29脚):程序储存允许输出端,是外部程序存储器的读选通信号,低电平有效。当AT89S51 从外部程序存储器取指令时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,不会出现两次有效的信号。 (31脚): 为该引脚的第一功能,为访问程序存储器控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。四、 设计一个电路,使单片机的P0口能驱动8只发光二极管。 思考题

12、与习题3思考题与习题3一、 填空1.假定外部数据存储器3000H单元的内容为50H,执行下列指令后,累加器A 中的内容为 50H 。 MOVDPTR,#3000H MOVXA,DPTR2.假定累加器A中的内容为30H,DPTR中的内容为2000H,执行指令: MOVC A,A+DPTR后,把程序存储器 2030H 单元的内容送入累加器A中。3.已知(30H)=21H,(31H)=04H,说明下列程序的功能,执行后(30H)= 04H ,(31H)= 21H 。 PUSH 30H PUSH 31H POP 30H POP 31H 4.已知程序执行前,在AT89S51单片机片内RAM中,(A)=3

13、3H,(R0)=28H,(28H)=0BCH,写出执行如下程序后,(A) = 63H 。ANL A,#60HORL 28H,AXRL A,R0CPL A5.对程序存储器的读操作使用的指令 MOVC指令 。6.对外部数据存储器的读操作使用的指令 MOVX指令 。7.执行如下三条指令后,20H单元的内容是 0FH MOVR0,20H MOV40H,0FH MOVR0,40H 二、判断判断以下指令的正误。 (1) MOV R1,R2 (2)MOV 20H,R3 (3)DEC DPTR (4)INC DPTR (5)MOVX A,R1 (6)MOVC A,DPTR (7)PUSH DPTR (8)CL

14、R R1 (9)MOV 20H,30H (10)MOV F0,C (11) CPL R7 (12)RC A 三、简答1.MCS-51共有哪几种寻址方式?试举例说明。(1)寄存器寻址方式 MOV A,R2 (2)直接寻址方式 MOV A,30H(3)寄存器间接寻址方式MOV A,R0 (4)立即寻址MOV A,#20H (5)变址寻址 MOVC A,A+ DPTR(6)相对寻址 SJMP rel(7)位寻址 MOV C, 0D5H;2.MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?数据传送类指令(28条);数据传送是指将源地址单元中的数据传送到目的地址单元中,且源地址单元中的数据保

15、持不变,或者源地址单元中的数据与目的地址单元中的数据互换。算术运算类指令(24条);这类指令中,大多数都要用累加器A来存放源操作数,另一个操作数是工作寄存器Rn、片内RAM单元或立即数。执行指令时,CPU总是将源操作数与累加器A中的操作数进行相应操作,然后将结果保留在累加器A中,同时会影响程序状态字PSW中的溢出标志OV、进位标志CY、辅助进位标志AC和奇偶标志位P。逻辑运算及移位类指令(25条);在这类指令中,仅当目的操作数为累加器A时对奇偶标志位P有影响,其余指令均不影响PSW的状态。控制转移类指令(17条);位操作类指令(17条)。MCS-51系列单片机的硬件结构中有一个位处理器,对位地

16、址空间具有丰富的位操作指令。由于位操作数是“位”,取值只能是0或1,故又称为布尔操作指令。3.访问SFR,可使用哪些寻址方式?寄存器寻址,直接寻址,位寻址4.执行指令:MOV A,R0 ;在程序状态字PSW中 RS1=0,RS0=0; RS1=1,RS0=0的两种情况下,上述指令执行结果有何不同?RS1=0,RS0=0时,是将内部RAM 00H单元中的内容传送给累加器A, RS1=1,RS0=0时,是将内部RAM 10H单元中的内容传送给累加器A4. SJMP(短转移)指令和LJMP(长对转移)指令的目的地址的范围各是多少?SJMP指令的目的地址范围是-128B+127B;LJMP指令的目的地

17、址范围是64KB。5. JB指令和JBC指令的区别是什么?6. 答:这类指令是判断直接寻址位是否为“1”或为“0”,当条件满足时转移,否则继续顺序执行。而JBC指令当条件满足时,指令执行后同时将该位清“0”。7.指出下列每条指令的寻址方式。(1)MOV A,40H ;直接寻址(2)MOV 30H,#00H ;立即寻址(3)SJMP LOOP ;相对寻址(4)MOVC A,A+DPTR ;变址寻址(5)MOVX A,R0 ;寄存器寻址(6)MOV C,20H ;位寻址(7)MOV 20H,R3 ;寄存器寻址(8)MOV 31H,20H ;直接寻址8.已知程序执行前,在AT89S51单片机片内RA

18、M (10H)=20H,(20H)=33H,(33H)=45H,(45H)=56H,(P1)=30H。分析下列程序按顺序执行每条指令后的结果。MOV A,33H ;(A)=45HMOV R1,A ;(R1)=45HMOV R1,#0FFH ;(45H)0FFHMOV 45H,33H ;(45H)=45HMOV R0,#10H ;(R0)=10HMOV A,R0 ;(A)=20HMOV P1,#0FFH ;(P1)=0FFHMOV A ,P1; ;(P1)=30HMOV 20H,A ;(20H)=30H9.已知程序执行前,在AT89S51单片机片内RAM中,(A)=85H,(R0)=20H,(2

19、0H)=0AFH,(Cy)=1,(21H)=0FFH。写出下列指令独立执行后寄存器和存储单元的内容,若该指令影响标志位,写出CY、AC、OV和P的值。ADD A,R0 ;CY=1,AC=1,OV=1,P=1 ,(A)=34HADDC A, 21H ; CY=1,AC=1, P=1,OV=0 ,(A)=85HSWAP A ; (A)=58H ,P=1SUBB A,#50H ; CY=0,AC=0, P=1,OV=1 ,(A)=34HDEC R0 ;R0=1FHXCHD A,R0 ;(A)=8FH,(20H)=0A5H,P=110.写出完成如下要求的指令,但是不能改变未涉及位的内容。(1)把ACC

20、.3, ACC.4,ACC.5和 ACC.6置“1”。ORL A,#01111000B(2)把累加器A的中间4位清“0”。ANL A,#11000011B(3)将内部数据存储器10H单元中的数据的高2位,低3位清“0”。ANL 10H,#00111000B(4)将内部数据存储器50H单元中的数据所有位取反。XRL 50H,#11111111B(5)将内部数据存储器40H单元中的数据高4位取反。XRL 40H,#11110000B(6)将内部数据存储器10H单元中的数据低3位置“1”。ORL 10H,#00000111B11.分析执行下列指令序列所实现的逻辑运算式 MOV C,P1.0 ANL

21、C,/P1.1 MOV 20H, C MOV C,/P1.0 ANL C, P1.1 ORL C, 20H MOV P3.0,C P3.0=(P1.0/P1.1)(/P1.0P1.1)思考题与习题4一、简答题1.什么是汇编语言源程序、汇编、汇编程序?(1) 使用汇编语言编写的程序称为汇编语言源程序。(2) 汇编语言程序不能直接在计算机上运行,需要将它翻译成机器语言程序,也就是目标代码程序,这个翻译过程称为汇编。(3) 完成汇编任务的程序成为汇编程序。2.什么叫伪指令,有什么作用?所谓伪指令是 告诉汇编程序应该如何完成汇编工作,只有在汇编前的源程序中才有伪指令,而在汇编后没有机器代码产生。伪指令

22、具有控制汇编程序的输入输出、定义数据和符号、条件汇编、分配存储空间等功能。二、编程题1. 在外部RAM3000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送给外部RAM3001H单元中。MOVDPTR,#3000HMOVXA,DPTRANLA,#0F0HINC DPTRMOVXDPTR,A 2. 已知,试编写延时20ms和1s的程序DELAY20MS: MOVR6,#100 ;延时20ms D1: MOVR7,#98 nopD2: DJNZR7,D2 DJNZR6,D1 RET ENDDELAY1S:MOVR7,#250 DEL1:MOVR6,#200 DEL2: MOV R5,

23、#98 DEL3:DJNZR5,DEL3NOPDJNZR6,DEL2DJNZR7,DEL1RETEND3. 用查表的方法求06之间的整数的立方。已知整数存在内部RAM30H单元中,查表结果回存30H单元。MOVDPTR,#tabMOVA,30HMOVCA,A+DPTRMOV30H,ARetORG1000HTAB:DB00H,01H,08H,1BH,40H,7DH,0D8H4. 若有3个无符号数x、y、z分别在内部存储器40H、41H、42H单元中,试编写一个程序,实现x y时,xz的结果存放在43H、44H单元中;当xy时,yz的结果存放入43H、44H单元中。MOV A,40HCLR CSU

24、BB A,41H ;相减比较大小JC L1 MOV A,40H ;x=ySJMP L2L1:MOV A,41H ;xyL2:ADD A,42HMOV 43H,AMOV A,#0 ;保存进位到44H单元ADDC A,#0MOV 44H,A 5. 在内部RAM的BLOCK开始的单元中有一无符号数据块,数据块长度存人LEN单元。试编程求其中的最小的数并存入MINI单元。 MOVR2, #11H ;要比较的数据字节数 MOVR1 , #BLOCK;置数据块的首地址 DECLEN MOVA , R1 LOOP:MOVMINI,A INC R1 CLR C SUBBA,R1;两个数比较 JC LOOP1;

25、C=1,A中的数小,跳转到LOOP1 MOVA,R1 ;C=1,则把小数送给A SJMPLOOP2LOOP1: MOVA,MINI LOOP2: DJNZR2, LOOP;比较是否结束 MOV50H,A ;把大数存入50H单元 RET6. 在外部RAM3000H起始的单元中存放一组有符号数,字节个数存在内部RAM20H单元中。统计其中大于0、等于0和小于0的数的数目,并把统计结果存放在内部RAM21H、22H和23H单元中。MOV DPTR,#3000H ;设置首地址MOV 22H,#0 ;清零MOV 23H,#0MOV 24H,#0L2:MOVX A,DPTR;取数据JNZ L1INC 22

26、H ;为0SJMP NEXTL1:JB ACC.7,FUINC 21H ;正数SJMP NEXTFU:INC 23H ;负数NEXT:INC DPTRDJNZ 20H,L2 RET7. 查找内部RAM20H40H单元中是否有0FFH这一数据,如果有,将PSW中的F0位置1,没有则将其清零。MOV R0,#20HMOV R1,#21HCLR F0NEXT:MOV A,R0CJNE A,#0FFH,L1SETB F0SJMP L2L1:INC R0DJNZ R1,NEXTL2:RET8. 在片内RAM的30H单元开始,相继存放5个无符号数,请使用冒泡法编写程序,使这组数据按照从小到大顺序排列。 M

27、AIN: MOV R0,#30H ;数据存储区首单元地址 MOV R7#04H ;各次冒泡比较次数 CLR F0 ;互换标志清“0”LOOP: MOV A,R0 ;取前数 MOV R2,A ;存前数 INC R0 MOV A,R0 ;取后数 CLR C SUBB A,R2 ;比较大小 JNC LOOP1SETB F0 ;互换,置标志位MOV A,R2 ;互换数据XCH A,R0DEC R0XCH A,R0INC R0LOOP1: MOV A,R0DJNZ R7,LOOP ;进行下一次比较JB F0,MAIN ;进行下一轮冒泡SJMP $ ;排序结束思考题与习题5一、填空1. AT89S51单片

28、机的五个中断源的中断入口地址分别是: 0013H : 001BH T0: 0000BH T1: 000BH ;串行口: 0023H 。2. AT89S51单片机中断系统中共有 、 、T0 、T1、串行口 五个中断源,其中优先权最高的是 ,优先级最低的是 串行口。3. 在CPU未执行同级或更高优先级中断服务程序的条件下,中断响应等待时间最少需要 3个机器周期 。4. AT89S51单片机的堆栈区只可设置在内部RAM 30H-7FH,堆栈寄存器SP是 8 位寄存器。5. 若(IP)=00010100B,则中断优先级最高者为 ,最低者为T1 。 6.对中断进行查询时,查询的中断标志位共有 IE0、T

29、F0、IE1、TF1、RI 和TI 六个中断标志位。 7. AT89S51单片机内部有 16 位加1定时器/计数器,可通过编程决定它们的工作方式,其中可进行13位定时器/计数器的是方式是方式0 。8. 处理定时器/计数器的溢出请求有两种方法,分别是中断方式和查询方式。使用中断方式时,必须 _开中断_;使用查询方式时,必须 _关中断_。 9. 假定定时器1工作在方式 2,单片机的振荡频率为 6MHz ,则最大的定时时间为512us 。 二、选择题1CPU响应中断后,能自动清除中断请求“1”标志的有( C )。A/采用电平触发方式 B/采用两边触发方式C定时/计数器T0/T1中断 D串行口中断TI

30、/RI2AT89S51五个中断源中,属外部中断的有( A B )。A B CT0 DT1 ETI FRI3按下列中断优先顺序排列,有可能实现的有( B )。AT1、T0、串行口 B、T1、T0、串行口C、串行口、T0、T1 D、串行口、T0、T14各中断源发出的中断申请信号,都会标记在AT89S51系统中的(B )中。ATMOD BTCON/SCON CIE DIP5外中断初始化的内容不包括: (A) A 设置中断响应方式B 设置外中断允许 C 设置中断总允许 D 设置中断触发方式 6 在 AT89S51单片机中,需要软件实现中断撤销的是:(D) A 定时中断B 脉冲触发的外部中断 C 电平触

31、发的外部中断D 串行口中断7在下列寄存器中,与定时器 /计数器控制无关的是:(B) ATCONBSCON CIEDTMOD 8与定时工作方式 0 和1相比较,定时工作方式 2具备的特点是:(A) A计数溢出后能自动恢复计数初值B增加计数器的位数 C提高了定时的精度D适于循环定时和循环计数 9对定时器 0进行关中断操作,需要复位中断允许控制寄存器的: (A) AEA 和 ET0BEA 和 EX0 CEA 和 ET1DEA 和 EX1 三、判断题1中断响应最快响应时间为3个机器周期。(对)2AT89S51每个中断源相应地在芯片上都有其中断请求输入引脚。(错) 3AT89S51单片机对最高优先权的中

32、断响应是无条件的。(错) 4中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令。(错) 5外部中断入口地址为0013H。(错) 四、简答题1. 什么叫中断?AT89S51单片机能提供几个中断源?几个优先级?各个中断源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定? 中断是指计算机暂时停止原程序执行转而为外部设备服务(执行中断服务程序),并在服务完后自动返回原程序执行的过程。AT89S51单片机能提供5个中断源(、T0、T1、RXD/TXD)AT89S51单片机将5个中断源,分为两个优先级:高优先级和低优先级。对于同一优先级中所有中断源,按优先权先后排序

33、。如表5-1所示。优先权最高,串行口优先权最低。若在同一时刻发出请求中断的两个中断源属于同一优先级,CPU先响应优先权排在前面的中断源中断申请,后响应优先权排在后面的中断源中断申请。优先权由单片机决定,而非编程决定。2 写出AT89S51单片机5个中断源的入口地址、中断请求标志位名称、位地址及其所在的特殊功能寄存器。 表5-1 AT89S51中断入口地址及内部优先权中 断 源中断请求标志位中断入口地址优先权IE00003H T0TF0000BHIE10013HT1TF1001BH串行口RI、TI0023H3开AT89S51单片机外中断1,如何操作?写出操作指令。 SETB IT1 SETB E

34、A或者MOV IE,#84H4. AT89S51单片机有几个定时器/计数器?定时和计数有何异同?答:两个;定时器是由外部晶振振荡频率产生决定,计数方式是由内部定时器/计数器产生。作为定时器用时,加法计数器对内部机器周期脉冲计数。由于机器周期是定值,如机器周期=1s,计数值100,相当于定时100s。脉冲来自T0(P3.4)或者T1(P3.5)引脚时,可实现外部事件的计数功能。加法计数器的初值可以由程序设定,设置的初值不同,计数值或定时时间就不同。在定时器/计数器的工作过程中,加法计数器的内容可由程序读回CPU。5. AT89S51单片机内部的定时器/计数器控制寄存器有哪些?各有何作用? 答:有

35、TMOD和TCON两个。 TMOD是定时工作方式寄存器,用来控制T0、T1的工作方式。TCON定时器控制寄存器,用来控制定时器的运行及溢出标志等。6. 定时器T0和T1各有几种工作方式? 答:T0、T1的工作方式有四种,如下表M1 M0工作方式工 作 方 式容量0 0013位计数器,=13213=81920 1116位计数器,=16216=655361 02两个8位/计数器,初值自动装入,=828=2561 13两个8位/计数器,仅适用于T0,=828=2567.设AT89S51单片机的晶振频率为12MHz,问定时器处于不同的工作方式时,最大定时范围分别是多少?机器周期为1us;最大定时范围如

36、下:方式0为8192us,方式1为65536us,方式2或方式3均为256us。7. 设单片机的12MHz,要求用T0定时150ms,分别计算采用定时方式0、定时方式1和定时方式2的定时初值。方式0的初值1FCEH,方式1的初值FF6AH,方式2的初值6AH。五、编程题1.使用定时器从P1.0输出周期为1秒的方波,设系统时钟频率为12MHz。查询方式:ORG 0000HLJMPMAINORG0030HMAIN:MOVTMOD , #01H ;定时器0,方式1MOVTH0 , #3CH ;设置初值,定时100msMOVTL0 , #0B0HMOVR2 , #10 ;运行10次,定时1SCLRP1

37、.0 CLR EASETBTR0LOOP:JNBTF0 , LOOPCLRTF0 ;清除标志MOVTH0 , #3CH ;重置初值MOVTL0 , #0B0HDJNZR2 , LOOPMOVR2 , #10CPLP1.0AJMPLOOPEND2. 将定时器T1设置为外部事件计数器,要求每计500个脉冲,T1转为定时方式,在P1.2输出一个脉宽10ms的正脉冲。设系统时钟频率为12MHz。ORG0000HLJMPMAIN ORG0030HMAIN:MOVTMOD,#50H;T1方式1,计数MOVTH1,#01H ;设置初值MOVTL1,#0F4HSETBTR1 ;启动计数,使用查询方式CLRP1

38、.2 CLR EA ;查询方式LOOP:JNBTF1 , LOOPCLRTF1MOVTMOD,#10H;T1方式1,定时MOVTH1,#0D8H ;设置初值MOVTL1,#0F0H SETBP1.2 ;输出正脉冲LOOP1:JNBTF1,LOOP1 CLRTF1LJMPMAIN ENDC语言方式:#include sbit P1_0=P12; /已仿真调试成功int i;void main()while(1) TMOD=0x05;/T0计数,方式一 TH0=(65536-500)/256;/计数 TL0=(65536-500)%256;TR0=1;P1_0=0;while(!TF0);/等待计

39、数溢出TF0=0;/溢出标志复位P1_0=1; TMOD=0x01;/T0定时,方式一 TH0=(65536-10000)/256;/定时10ms TL0=(65536-10000)%256;TR0=1; /启动T0while(!TF0);/等待定时时间溢出TF0=0; /溢出标志复位P1_0=0;3. 已知12MHz,采用查询方式编写24小时制的模拟电子钟程序,秒、分钟、小时分别存放于R2、R3、R4中。ORG0000HLJMPMAINORG0030HMAIN:MOVTMOD , #01HMOVTH0 , #3CHMOVTL0 , #0B0HMOVR1 , #20 SETBTR0MOVR2 , #00H ; 秒MOVR3 , #00H ; 分MOVR4 , #00H ; 时MOVA , #00HLOOP:MOVDPTR,#0300H;查7段码ADDA , R4DAAMOV40H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #20H ; 位选LCALLDELAY20MSMOVA , 40HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #10H ; 位选LCALLDELAY20MSADD

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com