2013浙大远程微机原理与接口技术离线作业(2013)_第1页
2013浙大远程微机原理与接口技术离线作业(2013)_第2页
2013浙大远程微机原理与接口技术离线作业(2013)_第3页
2013浙大远程微机原理与接口技术离线作业(2013)_第4页
2013浙大远程微机原理与接口技术离线作业(2013)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江大学远程教育学院微机原理与接口技术课程作业姓名:学 号:年级:学习中心:第二章P472. 80C51单片微机芯片引脚第二功能有哪些?答:80C51单片机的P0、P2和P3引脚都具有第二功能。第一功能第二变异功能P0 口地址总线A0A7/数据总线D0D7P2 口地址总线A8A15P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2INT0 (外部中断0)P3.3INT1 (外部中断1)P3.4T0 (定时器/计数器0的外部输入)P3.5T1 (定时器/计数器0的外部输出)P3.6WR (外部读写存储器或I/O的写选通)P3.7RD (外部读写存储器或I/O的读选通)4. 80

2、C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内数据存储器和片外数据存储器的指令格式有何区别?答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分 别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达 64KB。L在物理上设有4个存储器空间片内程序存储器;片外程序存储器;片内数据存储器; 片外数据存储器。2.在逻辑上设有3个存储器地址空间片内、片外统一的 64 KB程序存储器地址空间。片内256B (80C52为384

3、B)数据存储器地址空间。片内数据存储器空间,在物理上又包含两部分:对于80C51型单片机,从0127字节为片内数据存储器空间;从128255字节为特殊功能寄存器(SFR)空间(实际仅占用了 20多个字节)。片外64 KB的数据存储器地址空间。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM采用MOV指令,访问片外RAM则一定要采用 MOVX指令,因为MOVX 指令会产生控制信号 RD或WR ,用来访问片外RAM。访问程序存储器地址空间, 则应采用 MOVC指令。6. 80C51片内数据存储器低128个存储单元划分为哪4个主要部分?各部分主要功能是什

4、么?答:80C51片内RAM的低128个存储单元划分为 4个主要部分:寄存器区:共4组寄存器,每组8个存储单元,各组以 R0R7作为单元编号。常用于保存操作数及中间结果等等。R0R7也称为通用寄存器,占用 00H1FH共32个单元地址。位寻址区:20H2FH,既可作为一般 RAM单元使用,按字节进行操作,也可以对单元中的每一位进行位操作,称为位寻址区。寻址区共有 16个RAM单元,共计128位,位地址为 00H7FH。堆栈区:设置在用户 RAM区内。用户RAM区:在内部RAM低128单元中,除去前面 3个区,剩下的所有单元。第三章P879. MOV、MOVC、MOVX 指令有什么区别,分别用于

5、那些场合,为什么?答:MOV指令用于对内部 RAM的访问。MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX指令采用间接寻址方式访问外部数据存储器,有 Ri和DPTR两种间接寻址方式。MOVX指令执行时,在 P3.7引脚上输出RD有效信号或在 P3.6引脚上输出WR有效信号,可以用作外部数据存储器或 I/O的读或写选通信号,与单片机扩展电路有关。15.已知(R1)=20H, (20H尸AAH ,请写出执行完下列程序段后 A的内容。MOV A, #55HANLA, #0FFHORL20H , AXRLA, R1CPL A答:各指令执行结果如下:;(A)=55H

6、MOV A , #55H执行完程序段后,16 阅读下列程序,说明其功能。ANL A ,ORL 20HXRL A ,CPL AMOV MOV RL A MOV RL ARL AADDMOV#0FFHR1A 的内容为55H 。说明其功能R0 , #30HA , R0R1, AA , R1R0,(A)=55H(20H)=FFH(A)=AAH(A) =55H答:对程序注释如下:MOVR0 , #30H; (R0)=30HMOVA , R0;取数RL A;(A)X2MOVR1 , ARL A;(A)X4RL A;(A)X8ADDA , R1;(A)X10MOVR0 , A;存数功能:将 30H 中的数乘

7、以10 以后再存回 30H 中。条件:30H中的数不能大于25, 25X10=250仍为一个字节。若 30H中的数大于25,则应考虑进位。17. 已知两个十进制数分别从内部数据存储器中的 40H 单元和 50H 单元开始存放(低位在前) ,其字节长度存放在内部数据存储器的 30H 单元中。编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H 开始的单元中。【答】程序如下:ORG 0000HSJMP MAINORG 0030HMAIN :MOVR0 ,#40H;被加数首址又作两个十进制数和的首址MOVR1 ,#50H;加数首址MOVR2 ,30H;字节长度CLRCPP :MOVA ,

8、R1 ;取加数ADDCA ,R0;带进位加DA A;二一十进制数调整叶进制数调整MOVR0,A;存和INCR0;修正地址INCR1DJNZR2, PP;多字节循环加AJMP$END21 .读程序,请画出P1.0P1.3引脚上的波形图,并标出电压 V 时间T坐标;加以注释。ORG 0000HSTART: MOV SP, #20HMOV 30H, #01HMOV P1, #01MLP0 : ACALL D50ms软件延时 50mSMOV A, 30HCJNE A, #08H , MLP1MOV A, #01HMOV DPTR , #ITABMLP2 : MOV 30H, AMOVC A , A+D

9、PTRMOV P1, ASJMP MLP0MLP1 : INC ASJMP MLP2ITAB : DB 0, 1, 2, 4, 8延时50ms子程序(略)DB 8, 4, 2, 1D50ms:RET答: 程序功能:P1.0P1.3引脚上的波形图如图 3-2所示。图3-2P1.0P1.3引脚上的波形图注释见源程序右边所述。ORG 0000HSTART: MOV SP, #20HMOV 30H, #01H;P1.0P1.3引脚输出波形;软件延时50msMOVP1, #01HMLP0 : ACALL D50msMOV A, 30HCJNEA, #08H, MLP1;判表格中数据是否取完?MOV A,

10、 #01H;取完,从表头开始取A , A+DPTRP1, AMLP0AMLP21, 2, 4, 84, 2 , 1MOV DPTR , #ITABMLP2 : MOV 30H, AMOVCMOV SJMPMLP1 : INCSJMPITAB : DB 0,DB 8,D50ms:RET;表格首地址;取表格中数据;表格中数据未取完,准备取下一个;表50ms 子程序第四章 P1236 根据运算结果给出的数据到指定的数据表中查找对应的数据字。运算结果给出的数据在片内数据存储器的 40H 单元中,给出的数据大小在000FH之间,数据表存放在20H开始的片内程序存储器中。查表所得数据字 (为双字节、高位字

11、节在后)高位字节存于42H、低位字节存于41H单元。其对应关系为:给出数据;000102 0DH 0EH 0FH对应数据: 00A0H 7DC2H FF09H 3456H 89ABH 5678H 请编制查表程序段,加上必要的伪指令,并加以注释。【答】程序如下:ORG 0000HAJMP MAIN ,0RG 0020HTAB : DB OAOH,OOH,0C2H,7DH,09H,OFFH,.,56H, 34H,0 ABH,89H,DB 78H,56H; 数据字表ORG 0050HMAIN : MOV A , 40H ;运算结果给出的数据放在 40H 中MOV DPTR , #TAB ;指向数据字

12、表首地址RL A;由于是双字节,所以 A左移1位(乘2)MOV 40H, A ;结果放在 40HMOVC A , A+DPTR ;查表,找出对应的值MOV 41H, A ;查找出的数据值低字节放入 41HMOV A 40HADD A , #01H ;查找数据的高位字节MOV DPTR , #TABMOVC A , A+DPTRMOV 42H, A 。 ;查找出的数据值高字节放入 42HSJMP$注意:数据表存放在 20 H 开始的片内存储器中,该存储器应为内部程序存储器,因为 查表指令MOVC勺功能是从程序存储器中读数据。10. 把长度为 10H 的字符串从内部数据存储器的输入缓冲区 INBU

13、F 向设在外部数据存储器的输出缓冲区 OUTBUF 进行传送,一直进行到遇见回车字符“ CR”结束传送或整个字符串传送完毕。加上必要的伪指令,并对源程序加以注释。答:程序如下:ORG0000HAJMPMAINORG0030HMAIN: MOVR7, #10H;数据长度MOVR0 , #INBUF;源数据首地址MOVDPTR , #OUTBUF ;目的数据首地址目的数据首地址LOOP: MOVA , R0;把源数据的值赋给ACJNEA , #0DH , LOOP1;是“ CR”(ASCII 码值为 0DH) ?SJMPEND1;是“CR;则结束传送LOOP1 : MOVXDPTR , A;把 A

14、 的值赋给目的数据INCR0 ;源数据下一个地址值源数据卜一个地址值INCDPTR;目的数据下一个地址值DJNZR7 , LOOP;判数据传送是否完毕?END1 : SJMPEND112 比较两个 ASCII 码字符串是否相等。 字符串的长度在内部数据存储器的 20H单元,第一个字符串的首地址在内部数据存储器的 30H 中,第二个字符串的首地址在内部数据存储器的 50H 中。 如果两个字符串相等, 则置用户标志F0 为 0;否则置用户标志F0 为 1。 加上必要的伪指令,并加以注释。(注:每个ASCII码字符为一个字节,如 ASCII码“A”表示为41H)【答】 字符串中每一个字符都可以用一个

15、ASCII 码表示。 只要有一个字符不相同, 就可以判断字符串不相等。 ORG 0000HAJMP MAIN -ORG 0030HMAIN : MOV R0 , #30H 第一个字符串的首地址MOV R1 , #5 0H 第二个字符串的首地址LOOP : MOV A , R0 第一个字符串的字符值赋给AMOV B , R1 ;第二个字符串的字符值赋给BCJNE A , B, NEXT ;两个字符值比较INC R0字符值相等,则继续比较INC R1 DJNZ 20H, LOOP ; 判断字符串是否比较完CLR F0 字符串相等,则 F0 位清 0SJMP $NEXT : SETB F0字符串不等

16、,贝U F0位置1SJMP $ END例如:(2OH)=03H, (3OH)=41H, (31H)=42H , (32H)=43H , (5OH)=41H, (51H)=42H , (52H)=43H 。两个字符串均为“ABC。执行结果: F0=014. 80C51 单片机从内部数据存储器的 31H 单元开始存放一组8 位带符号数, 字节个数在 30H 中。请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入 20H 、 21H 和 22H 三个单元中。加上必要的伪指令,并对源程序加以注释。答:分析:带符号数以字节最高位D7 的值来区分是正数(包括零)和负数。D7=1 ,则该带符号数

17、为负数。程序如下:POS_NUMEQU20H ;正数个数ZERO_NUMEQU21H零个数NEG_NUM EQUORG0000HAJMPMAINORG0030HMAIN: MOVPOS_NUM,#0MOVZERO_NUM,#0MOV NEG_NUM , #0MOVR1 , 30HMOVR0, #31HLOOP: MOV A , R0JB ACC.7, INC_NEGCJNE A , #0 , INC_POSINC ZERO_NUMAJMPLOOP1INC_NEG: INC NEG_NUMAJMPLOOP1INC_POS: INCPOS_NUMLOOP1: INCR0DJNZ R1 , LOOP

18、END22H ;负数个数;计数单位初始化为 0;数据长度;数据首地址;符号位为1,该数为负数,跳转加;该数为 0 , 0 个数加 1;负数个数加1;该数为正数,正数个数加1;判断统计是否结束例如:已知(30H)=08H ,31H 单元起存放数据为:00H, 80H, 7EH , 6DH, 2FH, 34H,EDH , FFH。执行结果: (20H)=04H ,(21H)=01H , (22H)=03H 。16将外部数据存储器的2040H 单元中的一个字节拆成2 个 ASCII 码,分别存入内部数据存储器40H 和 41H 单元中 , 试编写以子程序形式给出的转换程序,说明调用该子程序的入口条件

19、和出口功能。加上必要的伪指令,并加以 注释。【答】子程序的入口条件、出口功能及源代码如下:子程序人口条件:准备拆为 2个ASCII码的数存入外部 RAM勺40 H单元中。子程序出口功能:完成外部RAM#元一个字节拆成 2个ASCII码,分别存入内部数据存 储器40 H和41 H单元中。ORG 1 000HB_TO_A : MOV DPTR#40H;外部 RAM40Hl元MOV R0 , #40HMOVX A , DPTR ;取数PUSH AANL A , #0FH ;低4位转换为 ASCII码LCALL . CHANGEMOV RO , AINC R0POP A SWAP AANL A , #

20、0FH ;高4位转换为 ASCII码LCALL CHANGEMOV R0 , ARETCHANGE : CJNE A , #0AH NEXT ;转换子程序NEXT : JNC NEXT2 ; 0AH 转移ADD A , #3 0H ; W9,数字 0-9 转化为 ASCII 码RETNEXT2 : ADD A , #37H;字母 AF转化为 ASCII 码RETEND设外部(40 H)=12 H 。执行程序 B_TO_A:内部(40 H)=31 H , (41 H)=32 H 。设外部RAM(40 H尸ABH执行程序 B_TO_斫,内部(40 H)=41 H , (41 H)=42 H 。17

21、.根据8100H单元中的值X,决定P1 口引脚输出为:- 2X X0YP1=80HX=0(-128DX63D)X变反X0【答】程序如下:ORG 0000HSJMP BEGINORG 0030HBEGIN : MOV DPTR ,#8100HMOVX A , DPTRMOV R2 , AJB ACC.7 , SMALLER 有符号数 0SJMP UNSIGNED ;无符号数A 0SMALLER : DEC A ; X0,输出-X(先减 1 ,再取反)CPL AMOV P1 , ASJMP OKUNSIGNED : CJNE A , #00H, BIGGER ;不等于 0 即大于 0MOV P1

22、, #80H; X 等于 0,输出 80HSJMP OKBIGGER : CLR C ; X大于 0,输出 AX 2RLC A; AX 2MOV P1 , AOK : SJMP $END例如:输入55 H, P1 口引脚输出 AAH输入00 H, P1 口引脚输出80 H;输入F1( 1 5 的补码 ) , P1 口引脚输出0FH。22. 编写求一组无符号数中最小值的子程序, 入口条件为: 内部数据存储器的 20H 和 21H 中存数据块的起始地址, 22H 中存数据块的长度, 求得的最小值存入30H中。【答】程序如下: CMPIORG 2000HCMPI : MOV DPL , 20HMOV

23、 DPH, 21HMOV 30H, #0FFH ;最小值单元初始值设为最大值DPTR, DPTR 3 0H , CHK ;比较两个数大小;两个数相等,不交换; A 较大,不交换LOOP : MOVX AMOVX ACJNE ASJMP LOOP1CHK : JNC LOOP1MOV 30H, A ; A 较小,交换LOOP1 : INC DPTRDJNZ 22H LOOPRET注意: 30 H 中始终存放两个数比较后的较小值,比较结束后存放的即是最小值。例如: (20 H)=00 H , (21 H)=80 H (22 H)=0 5 H 。从 8000 H 开始存放下列数: 02 H ,04

24、H , 01 H, FFH, 03 H。调用子程序 CMPl后的结果:(30 H)=01 H第五章 p1411 什么是中断?在单片微机中中断能实现哪些功能?【答】单片机在程序执行过程中,允许外部或内部“事件 通过硬件打断程序的执行 ,使其转向执行处理外部或内部“事件 的中断服务子程序;而在完成中断服务子程序以后,继续执行原来被打断的程序,这种情况称为“中断 ,这样的过程称为“中断响应过程 。7 80C51 共有哪些中断源?对其中断请求如何进行控制?【答】中断响应是有条件的,即: 中断源申请中断; 该中断源已被允许中断,且CPU也已允许中断; 没有同级或高优先级中断在执行中断服务程序。在接受中断

25、申请时,如遇下列情况之一,硬件生成的长调用指令LCALL将被封锁:CPU正在执行同级或高一级的中断服务程序。因为当一个中断被响应时,其对应的中断优先级触发器被置1,封锁了同级和低级中断。查询中断请求的机器周期不是执行当前指令的最后一个周期。目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。当前正在执行 RETI指令或执行对IE、IP的读/写操作指令。80C51.中断系统的特性规 定,在执行完这些指令之后,必须再继续执行一条指令,然后才能响应中断。12 80C51 的中断与子程序调用有哪些异同点,请各举两点加以说明。 相同点: 都是中断当前正在执行的程序,都要通过执行返回

26、指令,返回到原来的程序。 都是由硬件自动地把断点地址压入堆栈; 当执行到返回指令时, 自动弹出断点地址 以便返回原来的程序。都要通过软件完成现场保护和现场恢复。 都可以实现嵌套。 不同点: 中断请求信号可以由外部设备发出, 是随机的; 子程序调用子程序却是由软件编排 好的。 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。 中断响应是受控的,其响应时间会受一些因素影响素;子程序响应时间是固定的。第六章 P1611. 80C51 单片微机内部设有几个定时器计数器?简述各种工作方式的功能特点?答: 80C51 单片机内部设有2 个 16 位定时器计数器TO 和 T1 。 定时器

27、计数器有4 种工作方式,其特点如下:方式 O 是 13 位定时器计数器。由 THxT 高 8 位(作计数器 ) 和 TLx 的低 5 位(32 分频的定标器)构成。TLx的低5位溢出时,向THxT进位;THxT溢出时,硬件置位件TFx(可 用于软件查询 ) ,并可以申请定时器中断定时器。方式1是16位定时器/计数器。TLxT的低8位溢出时向THx进位(可用于软件 查询 ) ,并可以申请定时器中断。方式 2 是定时常数是定时自动重装载的 8 位定时器计数器。 TLx 作为 8 位计数寄存器, THx 作为 8 位计数常数寄存器数。当 TLx 计数溢出时,一方面将TFx 置位,并申请中断;另一方面

28、将THx 的内容的自动重新装入TLxT 中,继续计数。由于重新装重入不影响THx 的内容,所以可以多次连续再装入。方式2 对定时控制特别有用。方式3只适用于TO, T0被拆成两个独立的 8位计数器位计 TLO和THO。TLO做8 位计数器,它占用了 T0的GATE、INTO、启动/停止控制位TRO TO弓唧(P3.4 )以及计数溢出标志位TF0和TO的中断矢量(地址为000BH)等TH0只能做8位定时器用,因为此时 的外部引脚TO 已为定时器计数器TLO 所占用。 这时它占用了定时器计数器 T1 的启动停止控制位TRl 、计数溢出标志位TFl 及 T1 中断矢量 (地址为 001BH)。T0

29、设为方式 3 后,定时器计数器T1 只可选方式O、 1 或 2 。由于此时计数溢出标志位TFI .及T1中断矢量(地址为001BH)已被TH0T所占用,所以T1仅能作为波特率 发生器或其他不用中断的地方。5 .在 80C51 单片微机系统中, 已知时钟频率为 6MHz , 选用定时器T0 方式 3 ,请编程使P1 . 0和P1 . l引脚上分别输出周期为2ms和400明的方波。加上必要的伪指令,并对源程序加以注释。答:机器周期为2 s,定时分别为定时分2ms和 400 so计算:4004 s 定时,400d s=(2 8-TC)T X2科 s, TC=38 H。程序如下:ORG 0000H00

30、00 0130 AJMA MAINORG 000BH ;定时器 TO 中断矢量。000B2100 AJMP TIMEMAIN:00307805 MOV R0, #05H0032758903MOVTMOD, #03H0035758A38MOVTL0 , #38H0038D28CSETBTR0T003AC28ECLR,TR1003CD2A9SETB ET0E003ED2AFSETB EA004080FESJMP$ORG0100H0TIME:0100758A38MOVTL0 , #38H0103B29B 1CPLP1.10105D804 DJNZ R0 ,RETURN01077805 MOVR0 ,

31、 #05H0109B290 CP.P1.0;4004 科RETUR:NT0 方式 3 ,定时器中断;TLO定时400科s TL0TLO 中断;中断等待TL0T 定时 400s;4004 s 定时到,P1.1P1 输出变反s*5=2ms 到, P1.O 输出变反010B 32 RETIEND14. 监视定时器T3 功能是什么?它与定时器/ 计数器 T0 、 T1 有哪些区别?T3 俗称 “看门狗 , 它的作用是强迫单片机进入复位状态, 使之从硬件或软件故障中解脱出来。在实际应用中, 由于现场的各种的干扰或者程序设计程序错误, 可能使单片机的程序进入了“死循环或程序区 (如表格数据区)之后,在一段

32、设定的时间内的 , 假如用户程序没有重装监视重装定时器T3 ,则监视电路将产生一个电路将产生系统复位信号位, 强迫单片机单退出“死循环或“非程序区程”,重新进行“冷启动”或“热启动” 。在程序正常运行时,需要不断地对 T3 进行“喂狗” ,当由于干扰而没能及时能“喂狗 ,则强迫单片机进入复位状态,从而退出非正常运行状态。 “喂狗”的时间间隔就是允许的失控时间。 T3 的定时溢出表示出现非正常状态, 而 TO 和 T1 的定时溢出是正常状态。第七章 P1865.简述串行通信接口芯片UART的主要功能?答: 它是用于控制计算机与串行设备的芯片。将由计算机内部传送过传来的并行数据行转换为输出的串行数

33、据流。将计算机外部来的串行数据串转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据串流中加入奇偶校验位, 并对从外部接收的数据流进行奇偶校验奇偶。在输出数据流中加入启停标记,并从接收数据流中删除启停标记启停。处理由键盘或鼠标发鼠 出的中断信号(键盘和鼠标也是串行设备也是串行) 。可以处理计算机与外部串行设备的同步管理问题。7. 80C51单片微机串行口共有哪几种工作方式?各有什么特点和功能?答:80C51单片微机串彳T 口共有 4种工作方式: 移位寄存器方式,波特率为晶振的1/128位UART,波特率可变9位UART ,波特率为晶振的 1/32或1/649位UART ,波特率可变它们

34、都是串口通信。12. 80C51单片微机用行口共有4 种工作方式,它们的波特率分别为一振的1/12,波特率可变,波特率为晶振的1/32 或1/64,波特率可变。第八章P2591 .简述单片微机系统扩展的基本原则和实现方法。答:系统扩展是单片机应用系统硬件设计中最常遇到的问题。系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。80C51系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较为典型、规范。用户很容易通过标准扩展电路来构准扩展电路电构成较大规 模的应用系统。对于单片机系统扩展的基本方法有并行扩展法和串

35、行扩展法两种。并行扩展法是指利用单片机的三组总线(地址总线 AB、数据总线 DB和控制总线 CB)进行的系统扩展;串行 扩展法是指利用 SPIS三线总线和 12C线总线的串行系统扩展。外部并行扩展行单片机是通过芯片的引脚进行系统扩展的。为了满足系统扩展要统扩求,80C51系列单片机芯片引脚可以构成图 8-1所示的三总线结构,即地址总线 AB、数据总线 DB和 控制总线CB。单片机所有的外部芯片都通过这三组总线进行扩展。外部串行扩展80C51.系列单片机的串行扩展包括: SPI(Serial Peripheral Inteface)三线总线和 12C双 总线两种。在单片机内部不具有串行总线时,可

36、利用单片机的两根或三根I/O引脚甩软件来虚拟串行总线的功能 。12C总线系统示意图如图图 8-2所示。2 .如何构造80C51单片机并行扩展的系统总线?答:80C51并行扩展的系统总线有三组。地址总线(A0A15):由P0 口提供低8位地址A0A7,P0 口输出的低8位地址A0 A7必须用锁存器锁存,锁存器的锁存控制信号为单片机引脚ALE输出的控制信号。由 P2口提供高8位地址A8A15。数据总线(D0D7):由P0 口提供,其宽度为8位,数据总线要连到多个外围芯片上, 而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。控制总线(CB

37、):包括片外系统扩展用控制线和片外信号对单片机的控制线。系统扩 展用控制线有ALE、PSEN、EA、WR。14.已知可编程I/O接口芯片8255A的控制寄存器的地址为 BFFFH ,要求设定 A 口为基本输入,B 口为基本输出,C 口为输入方式。请编写从C 口读入数据后, 再从B 口输出的程序段。并根据要求画出 80C51与8255A连接的逻辑原理图。加上必要的伪指令,并对源程序加以注释答:已知8255A的控制寄存器地址为 BFFFH ,若地址线A0、A1被用做8255A端口选择信号,贝U 8255A的C 口地址为 BFFEH , B 口地址为 BFFDH , A 口地址为 BFFCH。可以选

38、用地址线P2.6(A14)作8255A的片选线。8255A 与80C51连接图如图 8-7所示。图8-7 8255A 与80C51连接图程序如下:ORG 0000HMOV DPTR, #0BFFFH ;MOV A, #99HMOVX DPTR, AMOV DPTR, #0BFFEH ;MOVX A, DPTRMOV DPTR, #0BFFDH ;MOVX DPTR, A8255A控制寄存器地址;控制字(PA输入、PB输出、PC输入)C 口地址;PC输入B 口地址;PB输出19.D/A 转换 器是将 转换为, DAC0832 具三种工作方式,其主要技术性能D/A转换器是将数字信号数字转换为模拟信

39、号,DAC0832具有直通方式,单缓冲方式,双缓冲方式三种工作方式,其主要技术性能有分辨率,转换精度,转换速率/建立时间。(8路输22.利用ADC0809芯片设计以80C51为控制器的巡回检测系统入的采样周期为1秒,)其它末列条件可自定。请画出电路连接图,并进行程序 设计。【答】巡回检测系统如图 8-11所示。二分频KTAL2aocs71LS373rz. 4k oXTA1J72 5AU打幻IT卯则呼cut 厮in【通 rro Dh LK 选 rn_ri 1S7On7图8-11巡回检测系统分析:8路模拟输入通道 IN0-IN7的地址为 DFF8HDFFFH(P2.5=0)。ORG 0000HAJ

40、MP MAINORG 0030HMAIN:MOV DPTR , #0DFF8H;通道 0 地址MOV R0, #40H;存储单元首址LOOP : MOVX DPTR , A ;启动 A/D 转换LCALLD128的;延时等待完成MOVXA, DPTR;读入转换值MOVR0, A;存入内存RETD128 ds;延时128科子程序END23. 请举例说明独立式按键的设计原理。答:独立式按键就是各按键相互独立,每个按键分别与单片微机的输入引脚或系统外扩I/O 芯片的一根输入线相连。每根输入线上的按键,它的工作状态不会影响其他输入线的工作状态。因此,通过检测输入线的电平状态,可以很容易地判断哪个按键被

41、按下了。独立式按键电路配置灵活,软件结构简单,但每个按键需占用一根输入引脚。例如, 单片微机的 P1.0 引脚上接一个按键, 无键按下时P1.0 由上拉电阻决定为高电平,当按键按下P1.0 通过按键与地线短路而为低电平。可见,查询 P1.0 引脚的电平即可判断该按键是否被按下。25. 如何用静态方式实现多位LED 显示, 请画出接口电路图, 并编写 LED 显示程序。答: 静态显示 LEDL 接口( 1) 连接方法 各数码管的公共极固定接有效电定接有平, 各数码管的字形控制的字形端分别由各自的控制信号控制信 。( 2) 点LEDL 显示亮度温度,容易调节,编程容编易,工作时占用作时CPU( 3

42、) 缺点 若直接用单片机输出各位数接用单片机输出各出码管的字形信号时, 占用单 片机的 I/O 口线较多。一般仅适用于显示位数示较少的应用的场合。26. 如何用动态方式实现多位LED 显示, 请画出接口电路图, 并编写 LED 显示程序。答:动态显示LEDL 接口 ( 1 )连接方法各位数各码管的字形控制端对应地并在一起,由一组由 I/O 端口进行控制,各位的公共极相互独 立,分别由不同的分别由不I/O控制信号控制。 ( 2)优点 节省 I/O 端口线 ( 3)缺点显示亮度不够稳定,影响因素较多;编程较复杂,占用 CPUC 时间较多。29 简述系统扩展时的可靠性设计。答: 应用系统扩展时, 可

43、靠性设计是单片微机应用系统软件、 硬件设计的重要组成部分,按照国家标准规定, 可靠性的定义是 “产品在规定条件下和规定时间内, 完成规定功能的能力” ,离开这个三个“规定” ,就失去了衡量可靠性高低的前提。可靠性设计贯彻在单片微机应用系统设计的全过程,硬件系统设计、 PCB 设计及电源系统设计主要是本质可靠性设计。 而在软件设计及总体设计中, 则除了本质可靠性外, 还必须考虑可靠性控制设计。30 简述系统扩展时的低功耗设计。答:应用系统扩展时,低能耗设计除了降低功效、 节省能源、 满足绿色电子的基本要求之外,还能提高系统的可靠性,满足便携式、电池供电等特殊场合产品的要求。应用系统低功耗设计的意义如下:实现 “绿色” 电子, 节省能源。 低功耗的实现, 能明显地降低应用系统所消耗的功率。消耗功率的降低,可以使温升降低,改善应用系统的工作环境。提高了电磁兼容性

温馨提示

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

评论

0/150

提交评论