微机原理与接口技术离线作业答案(必做)

上传人:xt****7 文档编号:90255177 上传时间:2022-05-14 格式:DOC 页数:19 大小:113KB
返回 下载 相关 举报
微机原理与接口技术离线作业答案(必做)_第1页
第1页 / 共19页
微机原理与接口技术离线作业答案(必做)_第2页
第2页 / 共19页
微机原理与接口技术离线作业答案(必做)_第3页
第3页 / 共19页
点击查看更多>>
资源描述
浙江大学远程教育学院微机原理与接口技术课程作业姓名: 学 号:年级:学习中心:温州第二章 P47280C51单片微机芯片引脚第二功能有哪些?答:80C51单片机的P0、P2和P3引脚都具有第二功能。第一功能第二变异功能P0口地址总线A0A7/数据总线D0D7P2口地址总线A8A15P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0 (定时器/计数器0的外部输入)P3.5 T1 (定时器/计数器0的外部输出)P3.6 (外部读写存储器或I/O的写选通)P3.7 (外部读写存储器或I/O的读选通)480C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内数据存储器和片外数据存储器的指令格式有何区别?答:80C51单片机采用哈佛(Haryard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达64KB。在物理上设有4个存储器空间l 片内程序存储器;l 片外程序存储器;l 片内数据存储器;l 片外数据存储器。在逻辑上设有3个存储器地址空间l 片内、片外统一的 64 KB程序存储器地址空间。l 片内256B(80C52为384 B)数据存储器地址空间。 片内数据存储器空间,在物理上又包含两部分: 对于80C51型单片机,从0127 字节为片内数据存储器空间;从128255 字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。l 片外64 KB的数据存储器地址空间。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX指令会产生控制信号或,用来访问片外RAM。访问程序存储器地址空间,则应采用MOVC指令。680C51片内数据存储器低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?l 答:寄存器区:共4组寄存器,每组8个存储单元,各组以R0R7作为单元编号。常用于保存操作数及中间结果等等。R0R7也称为通用寄存器,占用00H1FH共32个单元地址。l 位寻址区:20H2FH,既可作为一般RAM单元使用,按字节进行操作,也可以对单元中的每一位进行位操作,称为位寻址区。寻址区共有16个RAM单元,共计128位,位地址为00H7FH。l 堆栈区:设置在用户RAM区内。l 用户RAM区:在内部RAM低128单元中,除去前面3个区,剩下的所有单元。第三章P879MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?答:MOV指令用于对内部RAM的访问。MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在P3.7引脚上输出有效信号或在P3.6引脚上输出有效信号,可以用作外部数据存储器或I/O的读或写选通信号,与单片机扩展电路有关。15已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。MOV A,#55HANL A,#0FFHORL20H,AXRL A,R1CPLA答:各指令执行结果如下:MOV A,#55H;(A)=55HANL A,#0FFH;(A)=55HXRL A,R1;(A)=AAHCPLA;(A) =55H执行完程序段后,A的内容为55H。16阅读下列程序,说明其功能。MOVR0,#30H MOVA,R0 RLA MOVR1,ARLARLAADDA,R1MOVR0,A 答:对程序注释如下:MOVR0,#30H ;(R0)=30HMOVA,R0 ;取数RLA ;(A)2MOVR1,ARLA;(A)4RLA;(A)8ADDA,R1;(A)10MOVR0,A ;存数 功能:将30H中的数乘以10以后再存回30H中。条件:30H中的数不能大于25,2510=250仍为一个字节。若30H中的数大于25,则应考虑进位。 17. 已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前),其字节长度存放在内部数据存储器的30H单元中。编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H开始的单元中。 【答】程序如下: ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV R0,#40H ;被加数首址又作两个十进制数和的首址 MOV R1,#50H ;加数首址 MOV R2,30H ;字节长度 CLR C PP: MOV A,R1 ;取加数 ADDC A,R0 ;带进位加 DA A ;二一十进制数调整 MOV R0,A ;存和 INC R0 ;修正地址 INC R1 DJNZ R2,PP ;多字节循环加 AJMP $ END21读程序,请画出P1.0P1.3引脚上的波形图,并标出电压V时间T坐标; 加以注释。 ORG0000HSTART:MOVSP,#20HMOV30H,#01HMOVP1,#01 MLP0:ACALLD50ms; 软件延时50mSMOVA,30HCJNEA,#08H,MLP1MOVA,#01H MOVDPTR,#ITABMLP2MOV30H,AMOVCA,A+DPTRMOVP1,ASJMPMLP0MLP1:INCASJMPMLP2ITAB:DB0,1,2,4,8 DB8,4,2,1D50ms:; 延时50ms子程序(略)RET 答: 序功能:P1.0P1.3引脚上的波形图如图3-2所示。注释见源程序右边所述。ORG0000HSTART:MOVSP,#20HMOV30H,#01HMOVP1,#01H ;P1.0P1.3引脚输出波形MLP0:ACALLD50ms;软件延时50msMOVA,30HCJNEA,#08H,MLP1;判表格中数据是否取完?MOVA,#01H ;取完,从表头开始取MOVDPTR,#ITAB;表格首地址MLP2MOV30H,AMOVCA,A+DPTR;取表格中数据MOVP1,ASJMPMLP0MLP1:INCA;表格中数据未取完,准备取下一个SJMPMLP2ITAB:DB0,1,2,4,8;表 DB8,4,2,1D50ms:;软件延时50ms子程序RET第四章P1236 根据运算结果给出的数据到指定的数据表中查找对应的数据字。 运算结果给出的数据在片内数据存储器的40H单元中,给出的数据大小在000FH之间,数据表存放在20H开始的片内程序存储器中。查表所得数据字(为双字节、高位字节在后)高位字节存于 42H、低位字节存于41H单元。其对应关系为: 给出数据;00 01 02 0DH 0EH 0FH 对应数据:00A0H 7DC2H FF09H 3456H 89ABH 5678H请编制查表程序段,加上必要的伪指令,并加以注释。答: 程序如下: ORG 0000H AJMP MAIN , 0RG 0020H TAB:DB OAOH,OOH,0C2H,7DH,09H,OFFH,.,56H,34H,0ABH,89H,DB 78H,56H; 数据字表 ORG 0050H MAIN: MOV A,40H ;运算结果给出的数据放在40H中 MOV DPTR,#TAB ;指向数据字表首地址 RL A ;由于是双字节,所以A左移1位(乘2) MOV 40H,A ;结果放在40H MOVC A,A+DPTR ;查表,找出对应的值 MOV 41H,A ;查找出的数据值低字节放入41H MOV A40H ADD A,#01H ;查找数据的高位字节 MOV DPTR,#TAB MOVC A,A+DPTR MOV 42H,A 。 ;查找出的数据值高字节放入42H SJMP$注意:数据表存放在20 H开始的片内存储器中,该存储器应为内部程序存储器,因为查表指令MOVC的功能是从程序存储器中读数据。10. 把长度为10H的字符串从内部数据存储器的输入缓冲区INBUF向设在外部数据存储器的输出缓冲区OUTBUF进行传送,一直进行到遇见回车字符“CR”结束传送或整个字符串传送完毕。加上必要的伪指令,并对源程序加以注释。 答:程序如下:ORG 0000HAJMP MAIN ORG 0030HMAIN:MOV R7,#10H ;数据长度 MOV R0,#INBUF ;源数据首地址 MOV DPTR,#OUTBUF;目的数据首地址LOOP: MOV A,R0 ;把源数据的值赋给ACJNEA,#0DH,LOOP1;是“CR”(ASCII码值为0DH) ?SJMPEND1;是“CR”,则结束传送LOOP1:MOVX DPTR,A ;把A的值赋给目的数据 INC R0 ;源数据下一个地址值 INC DPTR ;目的数据下一个地址值 DJNZ R7,LOOP ;判数据传送是否完毕?END1:SJMP END112比较两个ASCII码字符串是否相等。字符串的长度在内部数据存储器的20H单元,第一个字符串的首地址在内部数据存储器的30H中,第二个字符串的首地址在内部数据存储器的50H中。如果两个字符串相等,则置用户标志F0为0;否则置用户标志F0为1。 加上必要的伪指令,并加以注释。(注:每个ASCII码字符为一个字节,如ASCII码“A”表示为41H)答: 字符串中每一个字符都可以用一个ASCII码表示。只要有一个字符不相同,就可以判断字符串不相等。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#30H 第一个字符串的首地址 MOV R1,#5 0H 第二个字符串的首地址 LOOP: MOV A,R0 第一个字符串的字符值赋给A MOV B,R1 ;第二个字符串的字符值赋给B CJNE A,B,NEXT ;两个字符值比较 INC R0 字符值相等,则继续比较 DJNZ 20H,LOOP ;判断字符串是否比较完 CLR F0 字符串相等,则F0位清0 SJMP $ NEXT: SETB F0 字符串不等,则F0位置1 SJMP $ 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,则该带符号数为负数。程序如下: POS_NUM EQU 20H;正数个数 ZERO_NUM EQU 21H ;零个数 NEG_NUM EQU 22H ;负数个数MAIN: MOV POS_NUM,#0;计数单位初始化为0MOVZERO_NUM,#0MOVNEG_NUM,#0 MOVR1,30H ;数据长度MOVR0,#31H ;数据首地址LOOP: MOVA,R0 JBACC.7, INC_NEG;符号位为,该数为负数,跳转加1CJNEA,#0,INC_POS INCZERO_NUM ;该数为0,0个数加1AJMP LOOP1INC_NEG: INCNEG_NUM;负数个数加1AJMP LOOP1INC_POS: INCPOS_NUM;该数为正数,正数个数加1LOOP1: INCR0;判断统计是否结束DJNZR1,LOOP END 例如:已知(30H)=08H,31H单元起存放数据为:00H,80H,7EH,6DH,2FH,34H,EDH,FFH。执行结果:(20H)=04H,(21H)=01H,(22H)=03H。16将外部数据存储器的2040H单元中的一个字节拆成2个ASCII码,分别存入内部数据存储器40H和41H单元中,试编写以子程序形式给出的转换程序,说明调用该子程序的入口条件和出口功能。加上必要的伪指令,并加以注释。 答: 子程序的入口条件、出口功能及源代码如下: 子程序人口条件:准备拆为2个ASCII码的数存入外部RAM的40 H单元中。 子程序出口功能:完成外部RAM单元一个字节拆成2个ASCII码,分别存入内部数据存储器40 H和41 H单元中。 ORG 1 000H B_TO_A:MOV DPTR,#40H ;外部RAM40H单元 MOV R0,#40H MOVX A,DPTR ;取数 PUSH A ANL A,#0FH ;低4位转换为ASCII码 LCALL CHANGE MOV RO,A INC R0 POP A SWAP A ANL A,#0FH ;高4位转换为ASCII码 LCALL CHANGE MOV R0,A RET CHANGE:CJNE A,#0AH,NEXT ;转换子程序 NEXT: JNC NEXT2 ;0AH,转移 ADD A,#3 0H ;9,数字0-9转化为ASCII码 RET NEXT2: ADD A,#37H ;字母AF转化为ASCII码 RET END 设外部(40 H)=12 H。 执行程序B_TO_A后:内部(40 H)=31 H,(41 H)=32 H。 设外部RAM(40 H)=ABH。执行程序B_TO_A后,内部(40 H)=41 H,(41 H)=42 H。 17根据8100H单元中的值X,决定P1口引脚输出为:2X X0 P1= 80H X=0(128DX63D) X变反X0 答: 程序如下: ORG 0000H SJMP BEGIN ORG 0030H BEGIN: MOV DPTR,#8100H MOVX A,DPTR MOV R2,A JB ACC.7,SMALLER;有符号数0 SJMP UNSIGNED ;无符号数0 SMALLER:DEC A ;X0,输出-X(先减1,再取反) CPL A MOV P1,A SJMP OK UNSIGNED:CJNE A,#00H,BIGGER ;不等于0即大于0 MOV P1,#80H ;X等于0,输出80H SJMP OK BIGGER: CLR C ;X大于0,输出A2 RLC A ;A2 MOV P1,A OK: SJMP $ END例如:输入55 H,P1口引脚输出AAH;输入00 H,P1口引脚输出80 H;输入F1(一1 5的补码),P1口引脚输出0FH。22. 编写求一组无符号数中最小值的子程序,入口条件为:内部数据存储器的20H和21H中存数据块的起始地址,22H中存数据块的长度,求得的最小值存入30H中。 答: 程序如下: ;求无符号数最小值的子程序CMPI ORG 2000H CMPI: MOV DPL,20H MOV DPH,21H MOV 30H,#0FFH ;最小值单元初始值设为最大值 LOOP: MOVX A,DPTR MOVX A,DPTR CJNE A,3 0H,CHK ;比较两个数大小 SJMP LOOP1 ;两个数相等,不交换 CHK: JNC LOOP1 ;A较大,不交换 MOV 30H,A ;A较小,交换 LOOP1: INC DPTR DJNZ 22HLOOP RET 注意:30 H中始终存放两个数比较后的较小值,比较结束后存放的即是最小值。 例如:(20 H)=00 H,(21 H)=80 H(22 H)=0 5 H。从8000 H开始存放下列数:02 H,04 H,01 H,FFH,03 H。 调用子程序CMPl后的结果:(30 H)=01 H第五章 p1411什么是中断?在单片微机中中断能实现哪些功能?答: 单片机在程序执行过程中,允许外部或内部“事件通过硬件打断程序的执行,使其转向执行处理外部或内部“事件的中断服务子程序;而在完成中断服务子程序以后,继续执行原来被打断的程序,这种情况称为“中断,这样的过程称为“中断响应过程。780C51共有哪些中断源?对其中断请求如何进行控制? 答: 中断响应是有条件的,即:中断源申请中断;该中断源已被允许中断,且CPU也已允许中断;没有同级或高优先级中断在执行中断服务程序。 在接受中断申请时,如遇下列情况之一,硬件生成的长调用指令LCALL将被封锁:CPU正在执行同级或高一级的中断服务程序。因为当一个中断被响应时,其对应的中断优先级触发器被置1,封锁了同级和低级中断。查询中断请求的机器周期不是执行当前指令的最后一个周期。目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。当前正在执行RETI指令或执行对IE、IP的读写操作指令。80C51中断系统的特性规定,在执行完这些指令之后,必须再继续执行一条指令,然后才能响应中断。 1280C51的中断与子程序调用有哪些异同点,请各举两点加以说明。 相同点:都是中断当前正在执行的程序,都要通过执行返回指令,返回到原来的程序。都是由硬件自动地把断点地址压入堆栈;当执行到返回指令时,自动弹出断点地址以便返回原来的程序。都要通过软件完成现场保护和现场恢复。都可以实现嵌套。 不同点:中断请求信号可以由外部设备发出,是随机的;子程序调用子程序却是由软件编排好的。中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。中断响应是受控的,其响应时间会受一些因素影响素;子程序响应时间是固定的。第六章P1611. 80C51单片微机内部设有几个定时器计数器?简述各种工作方式的功能特点? 答:80C51 单片机内部设有2 个 16 位定时器计数器 TO 和 T1。定时器计数器有 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 置位,并申请中断;另一方面将 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 设为方式 3 后,定时器计数器 T1 只可选方式 O、1 或 2。由于此时计数溢出标志位 TFI及T1 中断矢量(地址为001BH)已被 TH0T 所占用,所以 T1 仅能作为波特率发生器或其他不用中断的地方。5 在80C51单片微机系统中,已知时钟频率为6MHz,选用定时器T0方式3,请编程使P10和 P1l引脚上分别输出周期为2ms和400s的方波。加上必要的伪指令,并对源程序加以注释。 答:机器周期为 2s,定时分别为定时分2ms和400 s。 计算:4004 s 定时,400s=(28-TC)T 2s,TC=38 H。 程序如下: ORG 0000H0000 0130 AJMA MAINORG 000BH;定时器 TO 中断矢量。 000B2100 AJMP TIMEMAIN: 00307805 MOV R0,#05H0032758903 MOV TMOD,#03H ;T0 方式 3,定时器中断0035758A38 MOV TL0,#38H ;TLO 定时 400s 0038 D28CSETB TR0T ;开启定时器定TL0003A C28E CLR,TR1003CD2A9 SETB ET0E ;开定时器 TLO中断003ED2AF SETB EA 004080FE SJMP$ ;中断等待ORG 0100H0 TIME: 0100 758A38MOV TL0,#38H ;TL0T 定时 400s0103 B29B 1 CPL P1.1 ;4004 s定时到,P1.1P1输出变反0105 D804DJNZ R0,RETURN0107 7805MOV R0,#05H0109 B290 CP. P1.0 ;4004 s*5=2ms到,P1.O输出变反RETURN: 010B 32 RETIEND14. 监视定时器T3功能是什么?它与定时器/计数器T0、T1有哪些区别? T3 俗称“看门狗,它的作用是强迫单片机进入复位状态,使之从硬件或软件故障中解脱出来。 在实际应用中,由于现场的各种的干扰或者程序设计程序错误,可能使单片机的程序进入了“死循环或程序区(如表格数据区)之后,在一段设定的时间内的,假如用户程序没有重装监视重装定时器 T3,则监视电路将产生一个电路将产生系统复位信号位,强迫单片机单退出“死循环或“非程序区程”,重新进行“冷启动”或“热启动”。在程序正常运行时,需要不断地对 T3 进行“喂狗”,当由于干扰而没能及时能“喂狗,则强迫单片机进入复位状态,从而退出非正常运行状态。“喂狗”的时间间隔就是允许的失控时间。T3 的定时溢出表示出现非正常状态,而 TO 和 T1 的定时溢出是正常状态。第七章P186 简述串行通信接口芯片UART的主要功能? 答: 它是用于控制计算机与串行设备的芯片。将由计算机内部传送过传来的并行数据行转换为输出的串行数据流。 将计算机外部来的串行数据串转换为字节,供计算机内部并行数据的器件使用。 在输出的串行数据串流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验奇偶。 在输出数据流中加入启停标记,并从接收数据流中删除启停标记启停。 处理由键盘或鼠标发鼠出的中断信号(键盘和鼠标也是串行设备也是串行)。 可以处理计算机与外部串行设备的同步管理问题。 80C51单片微机串行口共有哪几种工作方式?各有什么特点和功能? 答:80C51单片微机串行口共有4 种工作方式: 移位寄存器方式,波特率为晶振的 1/12 8 位 UART,波特率可变 9 位 UART,波特率为晶振的 1/32 或 1/64 9 位 UART,波特率可变它们都是串口通信。12. 80C51单片微机串行口共有 4 种工作方式,它们的波特率分别为 晶振的1/12 , 波特率可变 , 波特率为晶振的 1/32 或 1/64 , 波特率可变 。第八章P2591.简述单片微机系统扩展的基本原则和实现方法。答:系统扩展是单片机应用系统硬件设计中最常遇到的问题。系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。80C51系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较为典型、规范。用户很容易通过标准扩展电路来构准扩展电路电构成较大规模的应用系统。 对于单片机系统扩展的基本方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片机的三组总线 (地址总线 AB、数据总线 DB 和控制总线 CB)进行的系统扩展;串行扩展法是指利用 SPIS 三线总线和12C线总线的串行系统扩展。 外部并行扩展行单片机是通过芯片的引脚进行系统扩展的。为了满足系统扩展要统扩求,80C51系列单片机芯片引脚可以构成图 8-1 所示的三总线结构,即地址总线 AB、数据总线 DB 和控制总线 CB。单片机所有的外部芯片都通过这三组总线进行扩展。 外部串行扩展80C51系列单片机的串行扩展包括:SPI(Serial Peripheral Interface)三线总线和 12C双总线两种。在单片机内部不具有串行总线时,可利用单片机的两根或三根 IO 引脚甩软件来虚拟串行总线的功能。2. 如何构造80C51单片机并行扩展的系统总线?答:80C51并行扩展的系统总线有三组。地址总线(A0A15):由P0口提供低8位地址A0A7,P0口输出的低8位地址A0A7必须用锁存器锁存,锁存器的锁存控制信号为单片机引脚ALE输出的控制信号。由P2口提供高8位地址A8A15。数据总线(D0D7):由P0口提供,其宽度为8位,数据总线要连到多个外围芯片上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。控制总线(CB):包括片外系统扩展用控制线和片外信号对单片机的控制线。系统扩展用控制线有ALE、。14. 已知可编程I/O接口芯片8255A的控制寄存器的地址为BFFFH,要求设定A口为基本输入,B口为基本输出,C口为输入方式。请编写从C口读入数据后,再从B口输出的程序段。并根据要求画出80C51与8255A连接的逻辑原理图。加上必要的伪指令,并对源程序加以注释。答:已知8255A的控制寄存器地址为BFFFH,若地址线A0、A1被用做8255A端口选择信号,则8255A的 C口地址为BFFEH,B口地址为BFFDH,A口地址为BFFCH。可以选用地址线P2.6(A14)作8255A的片选线。8255A 与80C51连接图如图8-7所示。 程序如下:ORG0000HMOVDPTR,#0BFFFH;8255A控制寄存器地址MOVA,#99HMOVXDPTR,A;控制字(PA输入、PB输出、PC输入)MOVDPTR,#0BFFEH;C口地址MOVXA,DPTR;PC输入MOVDPTR,#0BFFDH;B口地址MOVXDPTR,A;PB输出 19.D/A转换器是将 数字信号数字 转换为 模拟信号 ,DAC0832具有 直通方式 , 单缓冲方式 , 双缓冲方式 三种工作方式,其主要技术性能有 分辨率 , 转换精度 , 转换速率/建立时间 。22. 利用ADC0809芯片设计以80C51为控制器的巡回检测系统。(8路输入的采样周期为1秒,)其它末列条件可自定。请画出电路连接图,并进行程序设计。【答】巡回检测系统如图8-11所示。 图8-11巡回检测系统分析:8路模拟输入通道IN0-IN7的地址为DFF8HDFFFH(P2.5=0)。ORG 0000HAJMP MAINORG 0030HMAIN: MOV DPTR,#0DFF8H ;通道0地址MOV R0,#40H ;存储单元首址 LOOP:MOVX DPTR,A ;启动A/D转换 LCALL D128s ;延时等待完成 MOVX A,DPTR ;读入转换值 MOV R0,A ;存入内存 D128s: ;延时128s子程序 RETEND23. 请举例说明独立式按键的设计原理。答:独立式按键就是各按键相互独立,每个按键分别与单片微机的输入引脚或系统外扩I/O芯片的一根输入线相连。每根输入线上的按键,它的工作状态不会影响其他输入线的工作状态。因此,通过检测输入线的电平状态,可以很容易地判断哪个按键被按下了。独立式按键电路配置灵活,软件结构简单,但每个按键需占用一根输入引脚。例如,单片微机的P1.0引脚上接一个按键,无键按下时P1.0由上拉电阻决定为高电平,当按键按下P1.0通过按键与地线短路而为低电平。可见,查询P1.0引脚的电平即可判断该按键是否被按下。25如何用静态方式实现多位LED显示,请画出接口电路图,并编写LED显示程序答: 静态显示 LEDL 接口 (1)连接方法 各数码管的公共极固定接有效电定接有平,各数码管的字形控制的字形端分别由各自的控制信号控制信。 (2)优点 LEDL 显示亮度温度,容易调节,编程容编易,工作时占用作时CPU(3)缺点 若直接用单片机输出各位数接用单片机输出各出码管的字形信号时,占用单片机的 I/O 口线较多。一般仅适用于 显示位数示较少的应用的场合。26如何用动态方式实现多位LED显示,请画出接口电路图,并编写LED显示程序。 答:动态显示 LEDL 接口 (1)连接方法 各位数各码管的字形控制端对应地并在一起,由一组由I/O 端口进行控制,各位的公共极相互独 立,分别由不同的分别由不I/O 控制信号控制。 (2)优点 节省 I/O 端口线 (3)缺点 显示亮度不够稳定,影响因素较多;编程较复杂,占用 CPUC 时间较多。29简述系统扩展时的可靠性设计。 答:应用系统扩展时,可靠性设计是单片微机应用系统软件、硬件设计的重要组成部分,按照国家标准规定,可靠性的定义是“产品在规定条件下和规定时间内,完成规定功能的能力”,离开这个三个“规定”,就失去了衡量可靠性高低的前提。可靠性设计贯彻在单片微机应用系统设计的全过程,硬件系统设计、PCB设计及电源系统设计主要是本质可靠性设计。而在软件设计及总体设计中,则除了本质可靠性外,还必须考虑可靠性控制设计。30简述系统扩展时的低功耗设计。 答:应用系统扩展时,低能耗设计除了降低功效、节省能源、满足绿色电子的基本要求之外,还能提高系统的可靠性,满足便携式、电池供电等特殊场合产品的要求。应用系统低功耗设计的意义如下:实现“绿色”电子,节省能源。低功耗的实现,能明显地降低应用系统所消耗的功率。消耗功率的降低,可以使温升降低,改善应用系统的工作环境。提高了电磁兼容性和工作可靠性。目前单片微机正全盘CMOS化,CMOS电路有较大的噪声容限;单片微机的低功耗常采用的待机、掉电及关闭电源等方式,在这些方式下,系统对外界噪声失敏,大大减少了因噪声干扰产生的出错概率。促进便携化发展。最少功耗设计技术有利于电子系统向便携化发展。如便携式仪器仪表,可以在野外环境使用,仅靠电池供电就能正常工作。微机原理与接口技术实验作业第一部分 简答题(必做题)1. 80C51单片微机内部有哪几个常用的地址指针,它们各有什么用处。 80C51 单片微机内部有三个常用的指针,即PC-程序计数器,存放下一条将要从程序存储器取出的指令的地址。SP-堆栈指示器,指向堆栈栈顶。DPTR-数据指针,作为外部数据存储器或I/O的地址指针。2. 简述80C51的程序状态字PSW的主要功能。 PSW的主要部分是算数逻辑运算单元ALU的输出。有些位根据指令运算结果,由硬件自动生成。如OV为溢出标志位,用于指示8位带符号数运算后有否超出8位带符号数允许范围。C标志为进位/借位标志位。多倍精度的加减法运算。3. 80C51访问片内外不同存储空间时采用哪3类传送指令。 MOV 传送指令用于访问片内数据存储器。 MOVC传送指令用于对程序存储器内的表格进行查表操作。 MOVX传送指令用于访问片外数据存储器或I/O,因为执行MOVX指令时会产生控制信号或4. 简述80C51单片微机内部RAM低128字节4个主要区域的特点。寄存器区:共4组寄存器,每组8个存储单元,以R0-R7作为单元编号。位寻址区:20H-2FH中的每一位进行位操作。堆栈区:设置在用户RAM区内,数据先进后出。用户RAM区:除去前面3个区,剩下的所以单元。5. 简述80C51单片微机的并行扩展三总线(AB、DB和CB)如何构成及应用。AB共16位,由P0口经锁存后得到A0-A7、P2口构成A8-A15。作地址总线。DB由P0口分时构成。作为数据总线。CB主要有ALE、RD、WR、PSEN等。作控制总线。6. 为什么要进行低功耗设计? 实现绿色电子,节约能源。某些场合(如野外)要求便携并由电池供电,要求功耗小。7. 说明80C51单片微机的复位方式主要有哪几种。 主要有上电复位方式、按键电平复位方式和外脉冲复位方式。8. 80C51芯片内部主要集成逻辑功能部件有哪些? 有中央处理器、存储器、定时器/计数器、I/O口等。9. 80C51的程序存储器中有几个特定地址。 0000H为复位后PC初始值,0003H为外部中断 0 中断矢量,000BH为T0中断矢量地址,0013H为外部中断1中断矢量地址,001BH为T1中断矢量地址和0023H为串口中断矢量地址。10. 请简述如何在实验室完成实验任务,使用哪些资源? 仿真软件由WAVE的编辑软件及MICETEK公司的EasyProbe8052F仿真软件组成,源程序在PC上进行编辑、编译,将编译通过后所生成的后缀名为HEX的机器码文件,通过RS-232串行口下载给仿真器,仿真器采用MICETEK公司的EasyProbe8052F仿真器。在仿真器上完成实验的验证、修改和完善。第二部分读程序(必做题)要求:直接在源程序“;”右侧对程序加以注释。写出程序功能和运行后结果。程序1 ORG0000H SJMPMAINORG0030HMAIN:MOV DPTR,#2000H;被加数首地址MOV R0,#10H;加数首地址MOV R1,#20H;和首地址MOV R2,#05H;5字节相加CLRCADDA:MOVX A, DPTR;取被加数ADDC A, R0;加上加数DAA;二-十进制校正MOV R1,A;和存入INCDPTR;修正地址INCR0INC R1DJNZ R2,ADDA;5字节BCD码加法循环AJMP$END程序功能:将片外数据存储器中被加数与片内数据存储器加数以5个字节长度的BCD码数形式相加,和存入20H-24H问题1:若删去”DAA”一行,则程序功能为:”以5个字节长度的二进制数相加,存入20H-24H问题2: 若”MOV R2,#05H”改为”MOV R2,#02H”,则程序功能:”以2个字节长度的BCD码数相加,和存入20H-24H问题3: 若和需存入10H-14H中, 则修改 MOV R0, A 程序2ORG0000HSJMP MAINORG0030HMAIN:MOVDPTR,#TAB;指向表首址MOVA,#02H; 取查表值MOVCA,A+DPTR;查表MOVR0,A;查表结果存入R0中SJMP$ORG2080HTAB DB00H,11H,22H,33H;表(略)END程序功能: 此为查表程序,需要查的值为02H,通过查表得到对应结果。运行后结果: 问题1:若”MOVA,#02H”改为”MOVA,#03H”,则运行后结果:(R0)=33H 问题2:若运行后结果为00 H,则修改MOVA,#00H
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


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

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


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