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