资源描述:
《《单片机》编程题题库答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《单片机原理及应用》编程题题库参考答案六、编程(每题10分)1、内部RAM30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM2300H单元中。解:ORG0HLJMPSTARTORG30HSTART:MOVA,30HANLA,#0FHSWAPAMOVR0,AMOVA,31HANLA,#0FHORLA,R0MOVDPTR,#2300HMOVX@DPTR,AEND评分办法:不要求写出程序的注释。程序设计思路正确可得5分,指令完全写对可得10分。若仅写对少量指令,可
2、酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。2、设单片机的晶体震荡频率为12MHz,利用定时器T0编程由P1.2输出周期为10mS的方波。(要求:T0工作在方式1下,采用中断方式工作)解:周期为10mS则半周期为5mS,因此T0的定时初值为65536-5000/1=60536=0EC78HORG0LJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#0ECHMOVTL0,#78HSETBET0SETBTR0SETBEACLRP1.2SJMP$TS:CLRTR0M
3、OVTH0,#0ECHMOVTL0,#78HSETBTR0CPLP1.2RETIEND评分办法:不要求写出程序的注释。T0的方式控制字写对和定时初值计算正确可各得1分;程序设计思路正确可得4分,指令完全写对可得满分(10分)。若少量指令写错可酌情扣1-2分;若仅写出少量指令可酌情给1-2分。3、将存放在内部RAM30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM2100H开始的单元区中。ORG0HLJMPSTARTORG30HSTART:MOVR0,#30HMOVR2,#06HMOVDPTR,#2
4、100HLOOP:MOVA,@R0SWAPAANLA,#0FHORLA,#30HMOVX@DPTR,AINCDPTRMOVA,@R0ANLA,#0FHORLA,#30HMOVX@DPTR,AINCDPTRINCR0DJNZR2,LOOPSJMP$END评分办法:不要求写出程序的注释。程序设计思路正确可得5分,指令完全写对可得10分。若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。4、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T0实现在P1.0引脚上输出周期为100mS的方波。(
5、要求:采用中断方式,T0工作在方式1下)解:输出方波周期为100mS,故半周期为50mS,因此T0的定时初值是65536-50000/1=15536=3CB0H第27页共27页ORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBET0SETBTR0SETBEACLRP1.2SJMP$TS:CLRTR0MOVTH0,#3CHMOVTL0,#0B0HSETBTR0CPLP1.2RETIEND评分办法:不要求写出程序的注释。T0
6、的方式控制字写对和定时初值计算正确可各得1分;程序设计思路正确可得4分,指令完全写对可得满分(10分)。若少量指令写错可酌情扣1-2分;若仅写出少量指令可酌情给1-2分。5、设8031单片机应用系统的晶振频率为12MHz,请利用T0在P1.0和P1.1引脚上输出频率为20Hz、互补(两个波形互为反相)的方波。要求:采用中断方式,T0工作在方式1。解:输出频率为20Hz,则周期为1/20=50mS,半周期为50/2=25mS,T0的定时初值为:65536-25000/1=40536=9E58HORG0HLJMPSTARTORG0
7、00BHLJMPTSORG30HSTART:MOVTMOD,#01H;T0设定为定时器,工作方式1MOVTH0,#9EHMOVTL0,#58HSETBET0SETBEASETBTR0CLRP1.0SETBP1.1SJMP$TS:CLRTR0MOVTH0,#9EHMOVTL0,#58HSETBTR0CPLP1.0CPLP1.1RETIEND评分办法:不要求写出程序的注释。T0的方式控制字写对和定时初值计算正确可各得1分;程序设计思路正确可得4分,指令完全写对可得满分(10分)。若少量指令写错可酌情扣1-2分;若仅写出少量指令可酌
8、情给1-2分。6、内部RAM20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM2000H开始的单元中。解:ORG0LJMPSTARTORG30HSTART:MOVR0,#20HMOVR1,#30HMOVDPTR,#2