单片机原理及应用课后习题答案解析

上传人:痛*** 文档编号:96904968 上传时间:2022-05-26 格式:DOC 页数:31 大小:293.50KB
收藏 版权申诉 举报 下载
单片机原理及应用课后习题答案解析_第1页
第1页 / 共31页
单片机原理及应用课后习题答案解析_第2页
第2页 / 共31页
单片机原理及应用课后习题答案解析_第3页
第3页 / 共31页
资源描述:

《单片机原理及应用课后习题答案解析》由会员分享,可在线阅读,更多相关《单片机原理及应用课后习题答案解析(31页珍藏版)》请在装配图网上搜索。

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

2、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 ,PSW= 00H A=

3、 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单元开始执行程序,那么引脚应接 低电平。二、选择题1.PC的值是 C

4、。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单片机的引脚有何功能?如果使用片内ROM,该引脚该如何处理?答: 为该引脚的第一功能

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

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

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

8、机的片内都包含了哪些功能部件?各个功能部件主要的功能是什么?答: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外部中断10013H定时/计数器1溢出中断001BH串行中断0023H10. AT89

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

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

11、ALE输出脉冲用于锁存低8位地址。:程序储存允许输出端,是外部程序存储器的读选通信号,低电平有效。当AT89S51 从外部程序存储器取指令时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,不会出现两次有效的信号。 : 为该引脚的第一功能,为访问程序存储器控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。四、 设计一个电路,使单片机的P0口能驱动8只发光二极管。思考题与习题3思考题与习题3一、 填空1.假定外部数据存储器3000H单元的内容为50H,执行下列指令后,累加器A 中的

12、内容为 50H 。 MOVDPTR,#3000H MOVXA,DPTR2.假定累加器A中的内容为30H,DPTR中的内容为2000H,执行指令: MOVC A,A+DPTR后,把程序存储器 2030H 单元的内容送入累加器A中。3.已知=21H,=04H,说明下列程序的功能,执行后= 04H ,= 21H 。PUSH 30H PUSH 31H POP 30H POP 31H 4.已知程序执行前,在AT89S51单片机片内RAM中,A=33H,R0=28H,28H=0BCH,写出执行如下程序后,A = 63H 。ANL A,#60HORL 28H,AXRL A,R0CPL A5.对程序存储器的读

13、操作使用的指令 MOVC指令 。6.对外部数据存储器的读操作使用的指令 MOVX指令 。7.执行如下三条指令后,20H单元的内容是 0FH MOVR0,20H MOV40H,0FH MOVR0,40H 二、判断判断以下指令的正误。 MOV R1,R2 MOV 20H,R3 DEC DPTR INC DPTR MOVX A,R1 MOVC A,DPTR PUSH DPTR CLR R1 MOV 20H,30H MOV F0,C CPL R7 RC A 三、简答1.MCS-51共有哪几种寻址方式?试举例说明。寄存器寻址方式 MOV A,R2 直接寻址方式 MOV A,30H寄存器间接寻址方式MOV

14、 A,R0 立即寻址MOV A,#20H 变址寻址 MOVC A,A+ DPTR相对寻址 SJMP rel位寻址 MOV C, 0D5H;2.MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?数据传送类指令28条;数据传送是指将源地址单元中的数据传送到目的地址单元中,且源地址单元中的数据保持不变,或者源地址单元中的数据与目的地址单元中的数据互换。算术运算类指令24条;这类指令中,大多数都要用累加器A来存放源操作数,另一个操作数是工作寄存器Rn、片内RAM单元或立即数。执行指令时,CPU总是将源操作数与累加器A中的操作数进行相应操作,然后将结果保留在累加器A中,同时会影响程序状态字PS

15、W中的溢出标志OV、进位标志CY、辅助进位标志AC和奇偶标志位P。逻辑运算及移位类指令25条;在这类指令中,仅当目的操作数为累加器A时对奇偶标志位P有影响,其余指令均不影响PSW的状态。控制转移类指令17条;位操作类指令17条。MCS-51系列单片机的硬件结构中有一个位处理器,对位地址空间具有丰富的位操作指令。由于位操作数是位,取值只能是0或1,故又称为布尔操作指令。3.访问SFR,可使用哪些寻址方式?寄存器寻址,直接寻址,位寻址4.执行指令:MOV A,R0 ;在程序状态字PSW中 RS1=0,RS0=0; RS1=1,RS0=0的两种情况下,上述指令执行结果有何不同?RS1=0,RS0=0

16、时,是将内部RAM 00H单元中的内容传送给累加器A, RS1=1,RS0=0时,是将内部RAM 10H单元中的内容传送给累加器A4. SJMP短转移指令和LJMP长对转移指令的目的地址的范围各是多少?SJMP指令的目的地址范围是-128B+127B;LJMP指令的目的地址范围是64KB。5. JB指令和JBC指令的区别是什么?6. 答:这类指令是判断直接寻址位是否为1或为0,当条件满足时转移,否则继续顺序执行。而JBC指令当条件满足时,指令执行后同时将该位清0。7.指出下列每条指令的寻址方式。1MOV A,40H ;直接寻址2MOV 30H,#00H ;立即寻址3SJMP LOOP ;相对寻

17、址4MOVC A,A+DPTR ;变址寻址5MOVX A,R0 ;寄存器寻址6MOV C,20H ;位寻址7MOV 20H,R3 ;寄存器寻址8MOV 31H,20H ;直接寻址8.已知程序执行前,在AT89S51单片机片内RAM =20H,=33H,=45H,=56H,P1=30H。分析下列程序按顺序执行每条指令后的结果。MOV A,33H ;A=45HMOV R1,A ;R1=45HMOV R1,#0FFH ;45H0FFHMOV 45H,33H ;45H=45HMOV R0,#10H ;R0=10HMOV A,R0 ;A=20HMOV P1,#0FFH ;P1=0FFHMOV A ,P1

18、; ;P1=30HMOV 20H,A ;20H=30H9.已知程序执行前,在AT89S51单片机片内RAM中,=85H,=20H,=0AFH,=1,=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=0A5

19、H,P=110.写出完成如下要求的指令,但是不能改变未涉及位的内容。1把ACC.3, ACC.4,ACC.5和 ACC.6置1。ORL A,#01111000B2把累加器A的中间4位清0。ANL A,#11000011B3将内部数据存储器10H单元中的数据的高2位,低3位清0。ANL 10H,#00111000B4将内部数据存储器50H单元中的数据所有位取反。XRL 50H,#11111111B5将内部数据存储器40H单元中的数据高4位取反。XRL 40H,#11110000B6将内部数据存储器10H单元中的数据低3位置1。ORL 10H,#00000111B11.分析执行下列指令序列所实现的

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

21、有控制汇编程序的输入输出、定义数据和符号、条件汇编、分配存储空间等功能。二、编程题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,#

22、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 CSUB

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

24、,A中的数小,跳转到LOOP1 MOVA,R1 ;C=1,则把小数送给A SJMPLOOP2LOOP1: MOVA,MINILOOP2: 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 22H ;为

25、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个无符号数,请使用冒泡法编写程序,使这组数据按照从小到大顺序排列。MAIN:

26、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单片机的五个中断

27、源的中断入口地址分别是: 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、TF0、IE1、TF1、

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

29、,属外部中断的有 AB 。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 设置中断响应方式B 设置外中断允许 C 设置中断总允许D 设置中断触发方式 6 在 AT89S51单片机中,需要软件实现中断撤销的是: A 定时中断B 脉冲触发的外部中断 C 电平触发的外部中断D 串行口中断7在下列寄存器中,与定时器 /计数器控

30、制无关的是: ATCONBSCON CIEDTMOD 8与定时工作方式 0 和1相比较,定时工作方式 2具备的特点是: A计数溢出后能自动恢复计数初值B增加计数器的位数 C提高了定时的精度D适于循环定时和循环计数 9对定时器 0进行关中断操作,需要复位中断允许控制寄存器的: AEA 和 ET0BEA 和 EX0CEA 和 ET1DEA 和 EX1三、判断题1中断响应最快响应时间为3个机器周期。对2AT89S51每个中断源相应地在芯片上都有其中断请求输入引脚。错 3AT89S51单片机对最高优先权的中断响应是无条件的。错 4中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节

31、操作指令。错 5外部中断入口地址为0013H。错四、简答题1. 什么叫中断?AT89S51单片机能提供几个中断源?几个优先级?各个中断源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?中断是指计算机暂时停止原程序执行转而为外部设备服务执行中断服务程序,并在服务完后自动返回原程序执行的过程。AT89S51单片机能提供5个中断源、T0、T1、RXD/TXDAT89S51单片机将5个中断源,分为两个优先级:高优先级和低优先级。对于同一优先级中所有中断源,按优先权先后排序。如表5-1所示。优先权最高,串行口优先权最低。若在同一时刻发出请求中断的两个中断源属于同一优先级,CPU先响应优先权排

32、在前面的中断源中断申请,后响应优先权排在后面的中断源中断申请。优先权由单片机决定,而非编程决定。2 写出AT89S51单片机5个中断源的入口地址、中断请求标志位名称、位地址及其所在的特殊功能寄存器。 表5-1 AT89S51中断入口地址及内部优先权中 断 源中断请求标志位中断入口地址优先权IE00003H T0TF0000BHIE10013HT1TF1001BH串行口RI、TI0023H3开AT89S51单片机外中断1,如何操作?写出操作指令。 SETB IT1SETB EA或者MOV IE,#84H4. AT89S51单片机有几个定时器/计数器?定时和计数有何异同?答:两个;定时器是由外部晶

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

34、行及溢出标志等。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;最大定时范围如下:方式0为8192us,方式1为65536us,方式2或方式3均为256us。7. 设单片机的12MHz,要求用T0定时150m

35、s,分别计算采用定时方式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.0 CLR EASETBTR0LOOP:JNBTF0 , LOOPCLRTF0 ;清除标志MOVTH0 , #3CH ;重置初值

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

37、,#0D8H ;设置初值MOVTL1,#0F0H SETBP1.2 ;输出正脉冲LOOP1:JNBTF1,LOOP1 CLRTF1LJMPMAIN ENDC语言方式:#include sbit P1_0=P12; /已仿真调试成功int i;void mainwhile TMOD=0x05;/T0计数,方式一 TH0=/256;/计数 TL0=%256;TR0=1;P1_0=0;while;/等待计数溢出TF0=0;/溢出标志复位P1_0=1; TMOD=0x01;/T0定时,方式一 TH0=/256;/定时10ms TL0=%256;TR0=1; /启动T0while;/等待定时时间溢出TF

38、0=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 ,

39、A ; 送P0显示MOVP1 , #20H ; 位选LCALLDELAY20MSMOVA , 40HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #10H ; 位选LCALLDELAY20MSADDA , R3DAAMOV30H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #08H ; 位选LCALLDELAY20MSMOVA , 30HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #04H ; 位选LCALLDELAY20MSADDA

40、 , R4DAAMOV20H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #02H ; 位选LCALLDELAY20MSMOVA , 20HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #01H ; 位选LCALLDELAY20MSJNBTF0 , LOOP; 定时到MOVTH0 , #3CHMOVTL0 , #0B0HCLRTF0DJNZR1 , LOOPMOVR1 , #20INCR2CJNER2 , #60 , LOOPMOVR2 , #00HINCR3CJNER3 , #60

41、, LOOPMOVR3 , #00HINCR4CJNER4 , #24 , LOOPMOVR4 , #00HLJMPLOOPDELAY20MS:MOV R7,#5D0: MOV R6,#200D1: NOP NOP NOP DJNZ R6,D1 DJNZ R7,D0 RETORG 0300HTAB2: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H; 共阴 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND思考题与习题6一、填空1. LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为 5V,额定电流为 5 m A,最大电流为 20 m

42、 A。2.在单片机系统中,常用的显示器有 LED发光管、LED数码管和LED液晶屏 等显示方式。3.键盘扫描控制方式可分为随机方式 控制、中断扫描控制和 定时扫描控制方式。4.LED显示器的静态驱动显示的优点是: 显示稳定,在LED导通、电流已定的情况下数码管的亮度高。控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率 ;缺点是: 位数较多时,所需的I/O接口较多,硬件开销太大 。动态驱动显示的优点是: 节省硬件资源,成本较低 ;缺点是: 在控制运行过程中,为了保证显示器正常显示,CPU必须每隔一段时间执行一次显示

43、子程序 。5.矩阵键盘的识别有 扫描法和 线反转法 两种方式。二、判断题1.为了消除按键的抖动,常用的方法有硬件和软件两种方法。2.LED显示器有两种显示方式:静态方式和动态方式。 3.LED数码管显示器有共阴极和共阳极两种。三、简答题1.为什么要消除按键的机械抖动?消除按键抖动的方法有几种?答:抖动现象会引起单片机对一次按键操作进行多次处理。 去抖动的方法有硬件和软件两种方法。2. 说明矩阵式键盘按键按下的识别原理。 答: 判别键盘上有无按键闭合。由AT89S51单片机向所有行线发出低电平信号,如果该行线所连接的键没有按下,则连线所连接的输出端口得到的是全1信号;如果有键按下,则得到的是非全

44、1信号。 判别键号。方法是先扫描第0行,即输出0111,然后读入列信号,判断是否为全1。若是全1,则表明当前行没有键按下,行输出值右移,即输出1011,再次读入列信号,判断是否为全1。如此逐行扫描下去,直到读入的列信号不为全1为止。根据此时的行号和列号即可计算出当前闭合的键号。 键码计算 如图6-12所示,键号是按从左到右从上到下的顺序编排的,各行的首号依次是00H、08H、10H、18H,如列号按07顺序排列,则键码的计算公式为:键值=为低电平行的首键号为低电平的列号3.键盘有哪三种工作方式,他们各自的工作原理及特点是什么?答:随机方式、中断扫描方式和定时扫描方式三种 1随机方式 是利用CP

45、U的空闲时间,调用键盘扫描子程序,响应键盘的输入请求。 2中断扫描方式 在图6-10中,当按键按下时,列线中必有一个为低电平,经与门输出低电平,向单片机引脚发出中断请求,CPU执行中断服务程序,判断闭合的键号,并进行相应的处理,这种方式可大大提高CPU的效率。 3定时扫描方式 利用单片机内部定时器,每隔一定时间CPU执行一次键盘扫描程序,并在有键闭合时转入该键的功能处理程序。定时扫描方式要求扫描间隔时间不能太长,否则有可能漏掉按键输入,一般取几十毫秒。4. 说明LCD显示器的工作原理,画出AT89S51单片机与LCD1602的接口电路连接图。LCD显示器的工作原理:字符型LCD液晶显示器是专用

46、于显示字母、数字、符号等的点阵式LCD。它们多与HD44780控制驱动器集成在一起,构成字符型LCD液晶显示模块,用LCM表示,有161、162、202、402等产品。AT89S51单片机与LCD1602的接口电路如图6-6所示。四、设计题1.设计将字符AB通过液晶模块LCD1602显示在屏幕的左边。org 0000h ljmp Start org 000bh ljmp L1 org 0100hStart: MOV TMOD,#00H MOV TH0,#00H MOV TL0,#00H MOV IE,#82H SETB TR0 MOV R5,#50H MOV SP,#60H LCALL NEX

47、T MOV A,#80H ACALL WHITE MOV A,#41H LCALL WDR MOV A,#81H ACALL WHITE MOV A,#42H LCALL WDR SJMP $L1: MOV TH0,#00H MOV TL0,#00H DJNZ R5,L2 MOV R5,#50HL2: RETINEXT: MOV A,#38H LCALL WHITEMOV A,#0EH LCALL WHITEMOV A,#06H LCALL WHITERETWHITE:LCALL L3 CLR P3.5 CLR P3.0 CLR P3.1 SETB P3.5 MOV P1,A CLR P3.5

48、 RETWDR: LCALL L3 CLR P3.5 SETB P3.0 CLR P3.1 SETB P3.5MOV P1,A CLR P3.5 RET L3: PUSH ACC Loop: CLR P3.0 SETB P3.1 CLR P3.5 SETB P3.5 MOV A,P1 CLR P3.5 JB ACC.7,LOOP POP ACC ACALL DELAY RETDELAY:MOV R6,#255 D1:MOV R7,#255 D2:DJNZ R7,D2 DJNZ R6,D1 RET END2.设计一个AT89S51外扩键盘和显示电路,要求扩展8个键,4位LED显示器。思考题与习题

49、7一、填空1.单片机程序存储器的主要功能是存储 程序 和_常数_。2.AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51的PC是_16位_的,因此其寻址空间为_64KB_,地址范围是从0000H到_FFFFH_3.13根地址线可选_8KB_个存储单元,64KB存储单元需要_16_根地址线。4.在AT89S51单片机中,使用P2、P0口传送_地址_信号,且使用P0口传送_数据_信号,这里采用的是_分时复用_技术。5. 8255A能为数据I/O操作提供A、B、C 3个8位口,其中A口和B口能作为数据口使用,而C口则既可作为_数据线_使用,又可作为_信号线_

50、使用。二、判断题1.AT89S51单片机片的数据存储器与扩展I/O口是分别独立编址。 错 2.单片机系统扩展时使用锁存器是用于锁存低8位地址。 对 3.使用8255可以扩展的I/O口线是32根。 错4.使用线选法扩展存储器不会使地址空间造成不连续的现象。 错 三、简答题1.为什么扩展外部程序存储器时,低8位的地址需要锁存?由于P0口在扩展存储器时既做地址总线的低8位,又做数据总线,为了将他们分离出来,需要在单片机外部增加地址锁存器,以存低8位地址一般可采用74LS373。2.访问外部RAM和内部RAM时,所用指令有什么不同?分别写出读片内RAM30H单元和写片外RAM30H单元的程序。访问内部

51、RAM时用MOV,访问外部RAM时用MOVX;读片内RAM30H单元:MOVA,30H写片外RAM30H单元:MOVR0,#30HMOVXR0,A3.为什么要进行地址空间的分配?何谓线选法和译码法?各有何优、缺点? 为了使一个存储单元唯一的对应一个地址;线选法:线选法是将高位地址线直接连到存储器芯片的片选端,根据高位地址的高低电平来进行存储器芯片的选择,芯片低电平有效,为了不出现寻址错误,要求在同一时刻,只允许一根为低电平,其余均为高电平;优缺点:线选法的优点是连接简单,缺点是芯片的地址空间相互之间可能不连续,致使存储空间的不到充分利用,扩充储容量受限,因此线选法适用于扩展存储容量较小的场合。译码法:所谓译码法就是使用译码器对系统的高位地址进行译码,以其译码输出作为存储器的片选信号,能有效利用存储空间,适用于大容量、多芯片存储器扩展;优缺点:硬件电路稍复杂,需使用译码器,但可充分利用存储空间,全译码时还可避免地址重叠现象,译码法的另一个优点是,若译码器输出端还留有剩余端线未使用时,便于继续扩展存储器或I/O接口电路。4.什么是8255A的控制字?控制字的主要内容是什么?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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