单片机原理及指导应用课后习题问题详解解析汇报

上传人:无*** 文档编号:99743495 上传时间:2022-06-01 格式:DOC 页数:50 大小:329KB
收藏 版权申诉 举报 下载
单片机原理及指导应用课后习题问题详解解析汇报_第1页
第1页 / 共50页
单片机原理及指导应用课后习题问题详解解析汇报_第2页
第2页 / 共50页
单片机原理及指导应用课后习题问题详解解析汇报_第3页
第3页 / 共50页
资源描述:

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

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

2、要区别。 部程序存储区容量不同,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= 00H 。 PC 决定的,由于AT89S5

3、1单片机的PC是 16 位的,所以最大寻址围为 64KB 。5.写出位地址为20H所在的位,字节地址 24H.0 。 07H ,最低位的位地址为 00H 。,如此一个时钟周期为,一个机器周期为2us。8. AT89S51单片机共有26个特殊功能存放器。9. AT89S51单片机片外数据存储器最多可以扩展64KB。10.如果CPU从片外ROM的0000H单元开始执行程序,那么引脚应接 低电平。二、选择题1.PC的值是 C 。2.对程序计数器PC的操作是 A 。“1“1指令进展3.在AT89S51单片机中P0口作为 D 。4. 在AT89S51单片机中 C 。三、简答题引脚有何功能?如果使用片RO

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

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

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

7、栈设在用户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外部中断10013H定时/计数器1溢出中断

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

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

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

11、数据存储器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=33H,R0=28H,28H=0BCH,写出执行如下程序后,A = 63

12、H 。ANL A,#60HORL 28H,AXRL A,R0CPL A MOVC指令 。 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)CLR R1 (9)MOV 20H,30H (10)MOV F0,C (11) CPL R7 (12)RC A 三、简答共有哪几种寻址方式?试举例说明。(1)存

13、放器寻址方式 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;指令按功能可以分为哪几类?每类指令的作用是什么?数据传送类指令28条;数据传送是指将源地址单元中的数据传送到目的地址单元中,且源地址单元中的数据保持不变,或者源地址单元中的数据与目的地址单元中的数据互换。算术运算类指令24条;这类指令中,大多数都要用累加器A来存放源操作数,另一个操作数是工作存放器Rn、片RAM单元或立即数。执行指令时,

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

15、S1=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指令的目的地址围是64KB。5. 指令和C指令的区别是什么?6. 答:这类指令是判断直接寻址位是否为“1或为“0,当条件满足时转移,否如此继续顺序执行。而C指令当条件满足时,指令执行后同时将该位清“0。7.指出如下每条指令的寻址方式。1MOV

16、A,40H ;直接寻址2MOV 30H,#00H ;立即寻址3SJMP LOOP ;相对寻址4MOVC A,A+DPTR ;变址寻址5MOVX A,R0 ;存放器寻址6MOV C,20H ;位寻址7MOV 20H,R3 ;存放器寻址8MOV 31H,20H ;直接寻址8.程序执行前,在AT89S51单片机片RAM (10H)=20H,(20H)=33H,(33H)=45H,(45H)=56H,P1=30H。分析如下程序按顺序执行每条指令后的结果。MOV A,33H ;A=45HMOV R1,A ;R1=45HMOV R1,#0FFH ;45H0FFHMOV 45H,33H ;45H=45HMO

17、V 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,(20H)=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

18、=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把和置“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将部数

19、据存储器10H单元中的数据低3位置“1。ORL 10H,#00000111B所实现的逻辑运算式 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 /P1.1)P1.1)思考题与习题4一、简答题1.什么是汇编语言源程序、汇编、汇编程序?(1) 使用汇编语言编写的程序称为汇编语言源程序。(2) 汇编语言程序不能直接在计算机上运行,需要将它翻译成机器语言程序,也就是目标代码程序,这个翻译过程称为汇编。(3) 完成汇编任务的程序成为汇编程序。2.什么叫伪指令,有什么作用?所谓伪指令是 告诉汇编

20、程序应该如何完成汇编工作,只有在汇编前的源程序中才有伪指令,而在汇编后没有机器代码产生。伪指令具有控制汇编程序的输入输出、定义数据和符号、条件汇编、分配存储空间等功能。二、编程题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 ENDDEL

21、AY1S:MOVR7,#250 DEL1:MOVR6,#200 DEL2: MOV R5,#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单元

22、中;当xy时,yz的结果存放入43H、44H单元中。MOV A,40HCLR CSUBB 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,A5. 在部RAM的BLOCK开始的单元中有一无符号数据块,数据块长度存人LEN单元。试编程求其中的最小的数并存入MINI单元。 MOVR2, #11H ;要比拟的数据字节数 MOVR1 , #BLOCK;置数据块的首地址 DECLEN MOVA , R1 LOOP:MOVMINI

23、,A INC R1 CLR C SUBBA,R1;两个数比拟 JC LOOP1;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

24、 24H,#0L2:MOVX A,DPTR;取数据JNZ L1INC 22H ;为0SJMP NEXTL1: 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个

25、无符号数,请使用冒泡法编写程序,使这组数据按照从小到大顺序排列。MAIN: MOV R0,#30H ;数据存储区首单元地址 MOV R7#04H ;各次冒泡比拟次数 CLR F0 ;互换标志清“0LOOP: 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 ;进展下一次比拟 F0,MAIN ;进展下一轮冒泡SJMP

26、$ ;排序完毕思考题与习题5一、填空1. AT89S51单片机的五个中断源的中断入口地址分别是: 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 。

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

28、式C定时/计数器T0/T1中断 D串行口中断TI/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

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

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

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

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

33、个。 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=256AT89S51单片机的晶振频率为12MHz,问定时器处于不同的工作方式时,最大定时围分别是多少?机器周期为1us;最大定时围如下:方式0为8192us,方式

34、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次,定时1S CLR EASETBTR0LOOP:J

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

36、TF1MOVTMOD,#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);/等待计数溢出TF0=0;/溢出标志复位P1_0=1; TMOD=0x01;/T

37、0定时,方式一 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

38、 ; 时MOVA , #00HLOOP:MOVDPTR,#0300H;查7段码ADDA , R4DAAMOV40H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #20H ; 位选LCALLDELAY20MSMOVA , 40HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #10H ; 位选LCALLDELAY20MSADDA , R3DAAMOV30H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #08H ; 位选LCALLD

39、ELAY20MSMOVA , 30HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #04H ; 位选LCALLDELAY20MSADDA , R4DAAMOV20H , AANLA , #0F0HMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #02H ; 位选LCALLDELAY20MSMOVA , 20HANLA , #0FHMOVCA,A+DPTRMOVP0 , A ; 送P0显示MOVP1 , #01H ; 位选LCALLDELAY20MSJNBTF0 , LOOP; 定时到MOVTH0 , #3CHMOVTL

40、0 , #0B0HCLRTF0DJNZR1 , LOOPMOVR1 , #20INCR2CJNER2 , #60 , LOOPMOVR2 , #00HINCR3CJNER3 , #60 , 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,7

41、CH,39H,5EH,79H,71HEND思考题与习题6一、填空1. LED数码管的使用与发光二极管一样,根据其材料不同正向压降一般为 5V,额定电流为 5 m A,最大电流为 20 m A。2.在单片机系统中,常用的显示器有 LED发光管、LED数码管和LED液晶屏 等显示方式。随机方式 控制、中断扫描控制和 定时扫描控制方式。4.LED显示器的静态驱动显示的优点是: 显示稳定,在LED导通、电流已定的情况下数码管的亮度高。控制系统在运行过程中,仅仅在需要更新显示容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率 ;缺点是: 位数较多时,所需的I/O接口

42、较多,硬件开销太大 。动态驱动显示的优点是: 节省硬件资源,本钱较低 ;缺点是: 在控制运行过程中,为了保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序 。 扫描法和 线反转法 两种方式。二、判断题1.为了消除按键的抖动,常用的方法有硬件和软件两种方法。( 对 )2.LED显示器有两种显示方式:静态方式和动态方式。( 对 ) 3.LED数码管显示器有共阴极和共阳极两种。( 对 )三、简答题1.为什么要消除按键的机械抖动?消除按键抖动的方法有几种?答:抖动现象会引起单片机对一次按键操作进展屡次处理。 去抖动的方法有硬件和软件两种方法。2. 说明矩阵式键盘按键按下的识别原理。 答: 判

43、别键盘上有无按键闭合。由AT89S51单片机向所有行线发出低电平信号,如果该行线所连接的键没有按下,如此连线所连接的输出端口得到的是全1信号;如果有键按下,如此得到的是非全1信号。 判别键号。方法是先扫描第0行,即输出0111(第0行为0,其余3行为1),然后读入列信号,判断是否为全1。假如是全1,如此明确当前行没有键按下,行输出值右移,即输出1011(第1行为0,其余3行为1),再次读入列信号,判断是否为全1。如此逐行扫描下去,直到读入的列信号不为全1为止。根据此时的行号和列号即可计算出当前闭合的键号。 键码计算 如图6-12所示,键号是按从左到右从上到下的顺序编排的,各行的首号依次是00H

44、、08H、10H、18H,如列号按07顺序排列,如此键码的计算公式为:键值=为低电平行的首键号为低电平的列号3.键盘有哪三种工作方式,他们各自的工作原理与特点是什么?答:随机方式、中断扫描方式和定时扫描方式三种 1随机方式 是利用CPU的空闲时间,调用键盘扫描子程序,响应键盘的输入请求。 2中断扫描方式 在图6-10中,当按键按下时,列线中必有一个为低电平,经与门输出低电平,向单片机引脚发出中断请求,CPU执行中断服务程序,判断闭合的键号,并进展相应的处理,这种方式可大大提高CPU的效率。 3定时扫描方式 利用单片机部定时器,每隔一定时间CPU执行一次键盘扫描程序,并在有键闭合时转入该键的功能

45、处理程序。定时扫描方式要求扫描间隔时间不能太长,否如此有可能漏掉按键输入,一般取几十毫秒。4. 说明LCD显示器的工作原理,画出AT89S51单片机与LCD1602的接口电路连接图。LCD显示器的工作原理:字符型LCD液晶显示器是专用于显示字母、数字、符号等的点阵式LCD。它们多与HD44780控制驱动器集成在一起,构成字符型LCD液晶显示模块,用LCM表示,有161、162、202、402等产品。AT89S51单片机与LCD1602的接口电路如图6-6所示。四、设计题1.设计将字符“AB通过液晶模块LCD1602显示在屏幕的左边。org 0000h ljmp Start org 000bh

46、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 NEXT 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 WHI

47、TEMOV A,#0EH LCALL WHITEMOV A,#06H LCALL WHITERETWHITE:LCALL L3 CLR P3.5 CLR P3.0 CLR P3.1 MOV P1,A RETWDR: LCALL L3 CLR P3.5 SETB P3.0 CLR P3.1 MOV P1,A RET L3: PUSH ACC Loop: SETB P3.1 MOV A,P1 ACC.7,LOOP POP ACC ACALL DELAY RETDELAY:MOV R6,#255 D1:MOV R7,#255 D2:DJNZ R7,D2 DJNZ R6,D1 RET END2.设计一

48、个AT89S51外扩键盘和显示电路,要求扩展8个键,4位LED显示器。思考题与习题7一、填空 程序 和_常数_。2.AT89S51单片机程序存储器的寻址围是由程序计数器PC的位数所决定的,因为AT89S51的PC是_16位_的,因此其寻址空间为_64KB_,地址围是从0000H到_FFFFH_8KB_个存储单元,64KB存储单元需要_16_根地址线。4.在AT89S51单片机中,使用P2、P0口传送_地址_信号,且使用P0口传送_数据_信号,这里采用的是_分时复用_技术。5. 8255A能为数据I/O操作提供A、B、C 3个8位口,其中A口和B口能作为数据口使用,而C口如此既可作为_数据线_使

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

50、单元的程序。访问部RAM时用MOV,访问外部RAM时用MOVX;读片RAM30H单元:MOVA,30H写片外RAM30H单元:MOVR0,#30HMOVXR0,A3.为什么要进展地址空间的分配?何谓线选法和译码法?各有何优、缺点? 为了使一个存储单元唯一的对应一个地址;线选法:线选法是将高位地址线直接连到存储器芯片的片选端,根据高位地址的上下电平来进展存储器芯片的选择,芯片低电平有效,为了不出现寻址错误,要求在同一时刻,只允许一根为低电平,其余均为高电平;优缺点:线选法的优点是连接简单,缺点是芯片的地址空间相互之间可能不连续,致使存储空间的不到充分利用,扩大储容量受限,因此线选法适用于扩展存储

51、容量较小的场合。译码法:所谓译码法就是使用译码器对系统的高位地址进展译码,以其译码输出作为存储器的片选信号,能有效利用存储空间,适用于大容量、多芯片存储器扩展;优缺点:硬件电路稍复杂,需使用译码器,但可充分利用存储空间,全译码时还可防止地址重叠现象,译码法的另一个优点是,假如译码器输出端还留有剩余端线未使用时,便于继续扩展存储器或I/O接口电路。4.什么是8255A的控制字?控制字的主要容是什么? 8255A是可编程芯片接口,以控制字形式对其工作方式以与C口各位状态进展设置,为此,共有两种控制字,即工作方式控制字和C口位置/复位控制字。1工作方式控制字:工作方式控制字用与确定各口的的工作方式与

52、数据传送方向,D7位为工作方式控制字标志位,1有效;D6D3为A组包括A口和C口高4位工作方式;D2D0为B组包括B口和C口低4位工作方式2C口位置/复位控制字:8255A的C口具有位控功能,即允许CPU用输出指令单独对C口的某一位写“1或“0,C口的位控字的格式。这是通过向8255A的控制存放器写入一个位控字来实现的。最高位 D7是 C口置位/复位控制字的特征位,必须为“0;D0位决 定了是置“1还是置“0操作;D3D1位决定了 对C口中的哪一位进展操作。5.8255A的“方式控制字和“C口按位置复位控制字都可以写入8255A的同一控制存放器,8255A是如何来区分这两个控制字的?根据控制字的最高位D7位来区分,假如D7位为

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