浙江大学远程教育学院2018春《微机原理与接口技术》课程作业答案姓名:草泥马学号:71711254025年级:2016夏学习中心:北京学习中心第二章P472.80C51单片微机芯片引脚第二功能有哪些?P0口(地址总线A0-A7/数据总线D0-D7)P2口(地址总线A8-A15)RXD(串行输入口)TXD(串行输出口)INT0(外部中断 0)INT1(外部中断 1)T0(定时器0外部输入)T1(定时器1外部输入)WR(外部数据存储器写选通)RD(外部数据存储器写选通)4.80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内数据存储器和片外数据存储器的指令格式有何区别?1)80C51在结构上的特点80C51采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为Harvard 结构。
(2)在物理和逻辑上的地址空间存储器上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。
(3)访问格式访问片内RAM采用MOV格式访问片外RAM采用MOVX格式6.80C51片内数据存储器低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?80C51的内存分配表00H-1FH共32字节单元为4组R0-R7的工作寄存器(4组,每组8个字节单元)20H-2FH共16字节单元(共128位)为位寻址区(16字节,每字节8位,共128位)30H-7FH共80字节单元为用户存储区(用来存储用户的运算结果和变量等)80H-FFH共128字节单元为特殊功能寄存器区(也就是内部各种功能配置寄存器)80C51的总的来说比较少,有很多空余的没有用到。
像AVR的Atmeag16单片机则特殊功能寄存器有很多,有32个寄存器地址和64个IO口地址,大部分都用上了,空余的不多,都是内部RAM的一部分。
寄存器是存储器中的一个特殊形式,主要用于配置最低层的硬件工作方式状态及和内部其它各部件的联系第三章P879.MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?MOV片内RAM单元间数据传送MOVX片外RAM单元间数据传送MOVC查表指令15.已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。
MOV A,#55HANL A,#0FFHORL 20H,AXRL A,@R1CPL AA的内容的内容为AAH16.阅读下列程序,说明其功能。
MOV R0,#30H 把#30H移动到存储器R0MOV A,@R0 把A移动到地址@R0RL AMOV R1,A 把R1移动到存储器ARL ARL AADD A,R1 将R1和A相加存入R1MOV @R0,A 把@R0的内容移动到A17.已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前),其字节长度存放在内部数据存储器的30H单元中。
编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H开始的单元中。
21.读程序,请⑴画出P1.0~P1.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+DPTRMOV P1, ASJMP MLP0MLP1:INC ASJMP MLP2ITAB: DB 0,1,2,4,8DB 8,4,2,1D50ms:…; 延时50ms子程序(略)RET第四章P1236 .根据运算结果给出的数据到指定的数据表中查找对应的数据字。
运算结果给出的数据在片内数据存储器的40H单元中,给出的数据大小在00~0FH之间,数据表存放在20H开始的片内程序存储器中。
查表所得数据字(为双字节、高位字节在后)高位字节存于42H、低位字节存于41H单元。
其对应关系为:给出数据;00 01 02…… 0D H 0EH 0FH对应数据:00A0H 7DC2H FF09H 3456H 89ABH 5678H 请编制查表程序段,加上必要的伪指令,并加以注释。
10.把长度为10H的字符串从内部数据存储器的输入缓冲区INBUF向设在外部数据存储器的输出缓冲区OUTBUF进行传送,一直进行到遇见回车字符“CR”结束传送或整个字符串传送完毕。
加上必要的伪指令,并对源程序加以注释。
ORG 0000HSJMP MAINORG 0030HMAIN:MOV R0,#40H ;被加数首址,又作两个十进制数和的首址MOV R1,#50H ;加数首址MOV R2,30H ;字节长度CLR CPP: MOV A,@R1 ;取加数ADDC A,@R0 ;带进位加DA A ;二—十进制数调整MOV @R0,A ;存和NC R0 ;修正地址INC R1DJNZ R2,PP ;多字节循环加AJMP $END12.比较两个ASCII码字符串是否相等。
字符串的长度在内部数据存储器的20H 单元,第一个字符串的首地址在内部数据存储器的30H中,第二个字符串的首地址在内部数据存储器的50H中。
如果两个字符串相等,则置用户标志F0为0;否则置用户标志F0为1。
加上必要的伪指令,并加以注释。
(注:每个ASCII 码字符为一个字节,如ASCII码“A”表示为41H)14. 80C51单片机从内部数据存储器的31H单元开始存放一组8位带符号数,字节个数在30H中。
请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。
加上必要的伪指令,并对源程序加以注释。
16.将外部数据存储器的2040H单元中的一个字节拆成2个ASCII码,分别存入内部数据存储器40H和41H单元中,试编写以子程序形式给出的转换程序,说明调用该子程序的入口条件和出口功能。
加上必要的伪指令,并加以注释。
17.根据8100H单元中的值X,决定P1口引脚输出为:2X X>0P1= 80H X=0 (-128D≤X≤63D)X变反X<022.编写求一组无符号数中最小值的子程序,入口条件为:内部数据存储器的20H 和21H中存数据块的起始地址,22H中存数据块的长度,求得的最小值存入30H 中。
第五章p1411.什么是中断?在单片微机中中断能实现哪些功能?7.80C51共有哪些中断源?对其中断请求如何进行控制?12.80C51的中断与子程序调用有哪些异同点,请各举两点加以说明。
第六章P1611. 80C51单片微机内部设有几个定时器/计数器?简述各种工作方式的功能特点?5.在80C51单片微机系统中,已知时钟频率为6MHz,选用定时器T0方式3,请编程使 P1.0和 P1.l引脚上分别输出周期为2ms和400μs的方波。
加上必要的伪指令,并对源程序加以注释。
14.监视定时器T3功能是什么?它与定时器/计数器T0、T1有哪些区别?第七章P186⒌简述串行通信接口芯片UART的主要功能?⒎ 80C51单片微机串行口共有哪几种工作方式?各有什么特点和功能?12. 80C51单片微机串行口共有 4 种工作方式,它们的波特率分别为晶振的1/12 ,波特率可变,波特率为晶振的1/32或1/64 ,波特率可变。
第八章P2591.简述单片微机系统扩展的基本原则和实现方法。
2. 如何构造80C51单片机并行扩展的系统总线?总线. ①片内总线. 片总线( ②片总线(又称元件级总线或局部总线). 内总线( ③内总线(又称微型机总线或板级总一般称为系统总线). 线,一般称为系统总线). 外总线(又称通信总线). ④外总线(又称通信总线). 图6-1 微型机各级总线示意图 2.总线的类型地址总线. ①地址总线.是微机用来传送地址的信号线. 信号线.地址线的数目决定了直接寻址的范围. 范围. 数据总线.②数据总线.是传送数据和代码的总一般为双向信号线, 线,一般为双向信号线,既可输入也可输数据总线也采用三态逻辑. 出.数据总线也采用三态逻辑. 控制总线.传送控制信号的总线, ③控制总线.传送控制信号的总线, 用来实现命令,状态传送,中断, 用来实现命令,状态传送,中断,直接存储器传送的请求与控制信号传送, 储器传送的请求与控制信号传送,以及提供系统使用的时钟和复位信号等. 供系统使用的时钟和复位信号等. 电源和地线.14.已知可编程I/O接口芯片8255A的控制寄存器的地址为BFFFH,要求设定A 口为基本输入,B口为基本输出,C口为输入方式。
请编写从C口读入数据后,再从B口输出的程序段。
并根据要求画出80C51与8255A连接的逻辑原理图。
加上必要的伪指令,并对源程序加以注释。
1.答:ORG 0000HAJMP MAINORG 0030HMAIN: MOV DPTR,#2000HMOV B,20H ;设定的温度值送BMOVX A,@DPTR ;取实测温度值CLR CSUBB A,BJNC LOWER ;实测温度值>设定温度值,P1.0输出低电平MOV B,20H ;取设定的温度值MOVX A,@DPTR ;取实测温度值CLR CSUBB A,BJC HIGH ;实测温度值<设定温度值,P1.0输出高电平SJMP MAIN ;实测温度值=设定温度值,P1.0输出不变LOWER: CLR P1.0SJMP MAINHIGH: SETB P1.0SJMP MAINEND2.答:ORG 0000HMOV DPTR,#2000H ;无符号数存放单元首址MOV R1,#10D ;无符号数长度MOV 40H,#00H ;最大值存放单元预置为最小值STEP:MOVX A,@DPTR ;取数CJNE A,40H,STEP1 ;比较大小SJMP NEXT ;(A)=(40H),不交换STEP1:JC NEXT ;(A)<(40H),不交换MOV 40H,A ;(A)>(40H),则较大值存入40H中NEXT:INC DPTRDJNZ R1,STEPSJMP $END19.D/A转换器是将数字信号数字转换为模拟信号,DAC0832具有直通方式,单缓冲方式,双缓冲方式三种工作方式,其主要技术性能有分辨率,转换精度,转换速率/建立时间。
22.利用ADC0809芯片设计以80C51为控制器的巡回检测系统。
(8路输入的采样周期为1秒,)其它末列条件可自定。
请画出电路连接图,并进行程序设计。