资源描述:
《单片机原理及应用B答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《单片机原理及应用》模拟卷21、分析程序的执行结果,将结果填写到空格中。ORG0000HMOV30H,#50HMOVR0,#30HMOVA,@R0;(A=50H)MOVA,#79HMOVB,#20H;(A=79HB=20H)DIVAB;(A=03HB=19H)PUSHBMOVB,#0AHMULAB;(A=1EHB=00H)POPBADDA,B;(A=37HB=19H)MOV30H,A;(30H单元的内容=37H)LOOP:AJMPLOOP2、将MCS51内部RAM50H~55H单元存放的12个16进制数变为ASCII码,放到2800H单元开始的外部RAM中。解:ORG000
2、0HLJMPMAINMAIN:MOVDPTR,#70HMOV@R1,#1120HMOVR0,#06TOP:MOVA,@DPTRPUSHACCANLA,#0FH;取出四位二进制数PUSHACCCLRCSUBBA,#0AHPOPACC;弹回A中JCLOOP;该数〈10去LOOPADDA,#07H;否则加07HLOOP:ADDA,#30H;加30HMOVR2,APOPACC精选范本,供参考!ANL#0F0H;取出下一个四位二进制数PUSHACCCLRCSUBBA,#0AHPOPACC;弹回A中JCLOOP;该数〈10去LOOP1ADDA,#07H;否则加07HLOOP1:ADDA
3、,#30H;加30HSWAPAORLA,R2MOVX@R1,A;将结果存到RAM中INCDPTRINCR1DECR0JNZTOP;判断转换完没有,未转换完则转TOP1、用8031的T0定时/计数器,设计程序,实现在P1.0输出50ms的方波,输出100个方波后停止输出。#include#defineucharunsignedcharuchara;voidmain(void){TMOD=0X01;TL0=0XB0;TH0=0X3C;EA=1;ET0=1;TR0=1;while(1){if(a==100){EA=0;TR0=0;}}}精选范本,供参考!void
4、timer0(void)interrupt1{TL0=0XB0;TH0=0X3C;cplp1.0;a++;}1、甲单片机利用方式1将内部RAM30H~37H单元的ASCII码发送到乙机。编制甲机发送和乙机接收的程序(加奇校验)。A机发送程序设计ST:MOVTMOD,#20HMOVTL1,#0E8HMOVTH1,#0E8HSETBTR1MOVSCON,#50HMOVR0,#30HMOVR1,#08HLOOP:MOVA,@R0CALLFSINCR0DJNZR1,LOOPRETFS:MOVC,PCPLCMOVACC.7,CMOVSBUFAWAIT:JNBTI,WAITCLRTIR
5、ETB机的接受程序设计接受串口发来的程序,假设存放在30H—37H中ST:MOVTMOD,#20HMOVTL1,#0E8HMOVTH1,#0E8HSETBTR1MOVSCON,#50HMOVR0,#30HMOVR1,#08H精选范本,供参考!LOOP:CALLJSJNCERRORMOV@R0,AINCR0DJNZR1,LOOPRETERROR:………;出错处理,如返回出错信息等RETJS:JNBRIJSCLRRIMOVA,SBUFMOVPCANLA,#7FHRET1、利用8031和8位A/D(ADC0809)构成数据采集系统。每隔20ms采集通道0的一次数据,将采集的数据存
6、放在30H的内部RAM中。画出原理示意图,写出较完整的程序清单。(提示:需要用定时器和外部中断)。MAIN:MOVTMOD,#01H//定时器0初始化MOVTL0,#10HMOVTH0,#27HMOVR0,#30HSETBTR0SETBET0SETBEX0SETBEASJMP$定时器0中断服务子程序:ORG000BHMOVDPTR,#7EF8H//启动ADC,对IN0通//道进行AD转换CLRTR0MOVTL0,#10HMOVTH0,#27HSETBTR0RETI外部中断(INT0)子程序:ORG0003HMOVXA,@DPTRMOV@R0,A精选范本,供参考!INCR0R
7、ETI键盘扫描子程序:KEY1:ACALLKS1;调用判断有无键按下子程序JNZLK1AJMPKEY1LK1:ACALLTM12s;调用12ms延时子程序ACALLKS1JNZLK2AJMPKEY1LK2:MOVR2,#0FEH;首列扫描字入R2MOVR4,#00H;首列号入R4LK4:MOVDPTR,#0FD01H;列扫描字送8155PA口MOVA,R2MOVX@DPTR,AINCDPTR;指向8155PC口INCDPTRMOVXA,@DPTRJBACC.0,LONE;第0行无键按下,查第1行MOVA,#00H;