下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交单片机原理及应用模拟卷除非特别声明,编程题可以使用汇编语言编写,也可以使用c 语言编写1 分析程序的执行结果,将结果填写到空格中。ORG 0000HMOV 30H,#50HMOV R0,#30HMOV A,R0;(A= 50H )MOV A,#79HMOV B,#20H;(A= 79H B= 20H )DIV AB;(A=03H B= 19H)PUSH BMOV B,#0AHMUL AB;(A= 1EH B= 00H)POP BADD A,B;(A=37H B= 19H)MOV 30H,A;(30H 单元的内容=37H)MOV 2
2、0H,30HCLR 01H;(20H 单元的内容=37H)MOV A,20H;(PSW 中 P 的内容=1 )CPL ARRA;(PSW 中 C 的内容=:0SWAP A;(A=46H)ADDC A,#0F0H;(A=36H);(PSW 中 P 的内容=0;(PSW 中 C 的内容=:1RLA;(A= 6CH );(PSW 中 P 的内容=0;(PSW 中 C 的内容= :0LOOP:AJMP LOOP2、将 MCS51 内部 RAM60H65H 单元存放的 12 个 16 进制数变为 ASCII 码, 放到0090H 单元开始的外部 RAM 中。使用汇编语言编写MAIN:年级;层次;专业;姓
3、名复习资料,仅供参考,补充整理打印,试后上交MOV R0,#60HMOV R2,#6MOV DPTR, #0090HHASC:MOV A,R0ANL A,#0FH;屏蔽高四位ADD A,#0DHMOVC A,A+PC ;查表低四位转换为 ASCII 码MOVX DPTR,A;送如外部 RAMINC DPTRMOV A,R0ANL A,#0F0HSWAP AADD A,#6MOVC,A+PC;高四位转换为 ASCII 码MOVX DPTR,AINC ROINC DPTRDJNZ R2,HASCENDASCTAB:DB 30H 31H 32H 33H 34 H 35H 36H 37H 38H 39
4、HDB41H 42H 43H 44H 45H 46H3、某一故障检测系统,当出现故障 1 时,线路 1 上出现上升沿;当出现故障 2 时,线路 2 上出现下降沿。没有故障时,线路 1 为低电平,线路 2 为高电平。 出现故障时,相应的指示灯变亮。故障消失后,指示灯熄灭。试用 MSC1211 为单片机实现该故障检测功能,画出电路原理图,并写出相应程序。4、 用 MSC1211 的 T0 定时/计数器,设计程序,实现在 P1.0 输出周期为 200ms 的占空比为 1:1 的方波,输出 500 个方波后停止输出。参考答案:ORG 0000HLJMP MAINORG000BH; T0 口中断服务程序
5、入口地址年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交LJMPINT_T0MAIN :MOVTMOD,#00H; T0 工作于方式 0 定时MOVTL0,#0CHMOVTH0,#1EH ;设定秒中断周期为1msMOVA,200 ;设定输出周期为 200 msMOVR2,1000;输出 500 个方波SETBTR0SETBET0SETBEASETBP1.0SJMP$INT_T0:MOVTL0,#0CHMOVTH0,#1EH ; T0 重装时间常数CPLP1.0P1.0 位取反DECR2JZENDP;若 R2 为 0,则结束程序,否则返主程序继续输出RETI;返主程序ENDP :
6、END5、利用 MSC1211 的 A/D 构成数据采集系统。使用模拟通道 0 进行连续数据采 集,采集 8 次后取得平均值,存放到预先分配好的100 个内存单元中,这100 个单元存满后,再从第一个单元进行覆盖保存。写出完整的程序清单(应 在适当的地方加程序注释)。参考答案:#in clude#in cludeextern void autobaud(void);/ 声明外部函数exter n void bipolar(void);float a100=0,w8=0;int out=0;long result,temp;int j;int AUX in terrupts(void)i nte
7、rrupt6 usi ng1/ 中断服务程序if(PAI=6)处理 AD 中断年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交年级_;层次_;专业_;姓名_复习资料,仅供参考,补充整理打印,试后上交wout+=bipolar();temp=wout;SUMRO=temp&Oxf;SUMR1=(temp8) &Oxff;SUMR2=(temp16 )&Oxf;SUMR3=(temp24)&Oxf;if(out=8)SUM=SUMR324+SUMR216+SUMR1=100)j=0;min (void)float dummy;int decimati on;decimationg=
8、1440; 抽取因子PDCON&=0 x77 ; 打开 ADCACLK=9 ; 模拟采样频率ADMUX=0; 使用通道 0ADCON0=0 x30; 内部基准 2.5V,缓冲器关,BOD 关,PGA=0ADCON1=0 x01;双极性,自动稳定模式,偏移增益自校准ADCON2=decimatio n&0 xf; 写入抽取因子低字节ADCON3= ( decimation8) &0 x07; 写入抽取因子高字节AIE=&0 x20;autobaud();/等待校准for(i=0;i4;i+)while(!(AIE&0 X20)dummy=ADRESL;年级;层次;专业;姓名复习资料,仅供参考,补
9、充整理打印,试后上交SSCON=0;清除求和寄存器EAI=1 ;While(1);6、变量 k 从 0 变到 150,变化步长为 10。对于每一个值,使用整形数算术运算 计算8*k, k*k*k 和(40*k/150F3。 这三个值通过 MSC1211 的 D/A 转换后同 步输出(均使用电压输出模式)。试编写程序实现。参考答案:in cludedata un sig ned int k,j,i;void mai n(void)PDCO N&=0X48;ADCON0=0X30;DACSEL=6;DACSEL=4;DACL=0X24;DACSEL=5;DACH=0 x24;while(1)DAC
10、SEL=0;DAC=0 x8000;for(j=0;j100;j+)DAC=0;for(k=0;k151;k+=10)DACSEL=1;DAC=8*k;DACSEL=2;DAC=k*k*k;DACSEL=3;i=40*k/150;DAC=i*i*i;DACSEL=6;DACL=0Xfc;年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交单片机原理及应用模拟卷1、分析程序的执行结果,将结果填写到空格中ORG 0000HMOV 30H,#50HMOV R0,#30HMOV A,R0MOV A,#79H;(A=50H)MOV B,#20H;(A=79HB=20H)DIV AB;(A=0
11、3HB=19H)PUSH BMOV B,#0AHMUL AB;(A=1EB= 00H)POP BADD A,B;(A=37HB=19H)MOV 30H,A;(30H 单元的内容=37H )LOOP:AJMP LOOP2、将 MCS51 内部 RAM50H55H 单元存放的 12 个 16 进制数变为 ASCII 码, 放到2800H 单元开始的外部 RAM 中。参考答案:MAIN :ORGLJMPMOVMOV0000HMAINDPTR,年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交MOVMOVR0, #06A, DPTRPUSHACCANLA , #0FH ;取出四位二进制数
12、PUSHACCCLRCSUBBA, #0AHPOPACC ;弹回 A 中JC LOOP ;该数10 去 LOOPADDA, #07H;否则加 07HADDA , #30H;加 30HTOP:LOOP:年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交MOVR2, APOPACCANL#0F0H ;取出下一个四位二进制数PUSH ACCCLRCSUBB A,#0AHPOPACC ;弹回 A 中JC LOOP ;该数10 去 LOOP1ADDA, #07H;否则加 07HLOOP1:ADD A,#30H;加 30HSWAP AORLA,R2MOVX R1, A;将结果存到 RAM 中
13、INCDPTRINCR1DECR0JNZTOP; 判断转换完没有,未转换完则转 TOP3、编制四个十六进制单字节数相加后求平均的程序。假设 4 个 16 进制的单字节分别为a, b,c,d,计算结果方到 e 中#in elude #defi ne uchar un sig ned charvoid mai n(void)uchar a,b,c,d,e;e=(a+b+c+d)/4;while(1);4、用 8031 的 TO 定时/计数器,设计程序,实现在 P1.0 输出 50ms 的方波,输 出100 个方波后停止输出。年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交参考答案:
14、MSC1211 的 TO 定时/计数器,设计程序,实现在 P2.0 输出周期为 400ms 的占空比为 1:1 的方波,输出 1000 个方波后停止输出。(20 分)(12MHz,个时间周期为 2uS)ORG0000HLJMPMAINORG000BH ; T0 口中断服务程序入口地址LJMPINT_T0MAIN : MOVTMOD,#00H ; T0 工作于方式 0 定时MOVTL0,#0CHMOVTH0,#1EH ;设定秒中断周期为 1msMOVA,400 ;设定输出周期为 400 msMOVR2, 2000;输出 1000 个方波SETB TR0SETB ET0SETB EASETB P1
15、.0SJMP $INT_T0 : MOVTL0,#0CHMOVTH0,#1EH ; T0 重装时间常数CPLP1.0P1.0 位取反DECR2JZENDP ;若 R2 为 0,则结束程序,否则返主程序继续输出RETI;返主程序ENDP:END5、甲单片机利用方式 1 将内部 RAM30H37H 单元的 ASCII 码发送到乙机 编制甲机发送和乙机接收的程序(加奇校验)。参考答案:利用MSC1211或8051设计应答方式下的通讯程序。 通讯参数: 晶振为 11.0592MHz,每帧为 11 位,第九位数据为奇偶校验用的补偶位。通讯过程如 下:甲机首先发送一帧信息、乙机对接收的数据进行奇偶校验,若
16、补偶正确则 乙机向甲机发出“ 00”作年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交为回答信号,甲机接收到乙机的此信息后再发送下一年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交个字节。若奇偶校验错,则乙机发出“ OFFH”作为回答信号,要求甲机再次发 送原数据,直至数据发送正确。甲机发送 200 个字节后才停止发送。甲机发送数据的首址为 ADDRT,乙机接收数据的首址为 ADDRR。(应在适当的地方加(20 分)(甲机):ORG 0000HLJMP MAINTORG 0023HLJMP INTSE1MOV PCON,#80H ;波特率加倍MOV SCON,#
17、90H ;置工作方式 2,并允许接收MOV DPTR,#ADDRT ;设置数据块首址指针MOV R0,#00H;设置发送字节初值SETB EA ; CPU 开中断SETB ESMOVX A,DPTR;取第一个发送数据MOV C,P ;数据补偶MOV TB8,CMOV SBUF,A ;启动串行口,发送数据SJMP $中断服务程序JB RI,LOOP;检测是否是接收中断?若 Rl= 1,转入接收程序CLR TI ;因 Rl= 0,表明是甲机发送数据中断LJMP ENDT ;甲机发送一数据完毕跳至中断返回程序CLR RIMOV A,SBUF ;取乙机的应答数据SUBB A,#01H ;若乙机应答信息
18、为 00H,数据传送正确,转 LOOP3程序注释)主程序MAIN:INTSE1:LOOP:年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交MOVX A,DPTR ;若乙机应答信息为0FFH,数据传送不正确MOVC,PMOVTB8,CMOVSBUF,A ;启动串行口, 重新发送一-次数据LJMP ENDT ;跳至中断返回程序INCDPTR ;修改地址指针INCR0JC LOOP3LOOP3:MOVX A,DPTR ;下一个数据补偶MOV C,P年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交MOV TB8,CMOV SBUF,A;启动串行口,发送信的数据CJNE
19、R0,#0C8H,ENDT ;判断 200 个字节是否发送完毕CLR ES ;全部发送完毕,禁止串行口中断ENDT: RETIEND主程序(乙机):MAIN:ORG0000HLJMPMAINRORG0023HLJMPINTSE2ORG0100HMOVPCON,#80H;波特率加倍MOVSCON,#90H;置工作方式 2,并允许接收MOVDPTR,#ADDRR ;设置数据块首址指针MOVR0,#00H;设置发送字节初值SETB EA; CPU 开中断SETBESSJMP$;中断服务程序INTSE2:JB Rl,LOOP ;检测是否是接收中断?若 Rl= 1,转入接收程序CLR TI ;因 Rl=
20、 0,表明是乙机发送中断LJMP ENDT ;乙机发送完毕跳至中断返回程序LOOP:CLR RIMOV A,SBUF ;取甲机发送的数据MOV C,P ;奇偶校验JC LOOP1 ;女口 8 位数为奇,贝 U 转 LOOP1 再检测 RB8 位, RB8=1, 则 9 位数据位奇,补偶JCLJMPLOOP2 ;错,转 LOOP2LOOP3 ;补偶正确,转 LOOP3LOOP1:ANLC,RB8 ;8 位数为奇,再检测 RB8JC LOOP3 ;RB8=1,补偶正确,转 LOOP3LOOP2:MOVA,#0FFH;本机发出 0FFH,表明传送不正确。MOVSBUF,ALJMPENDTLOOP3:
21、MOVX DTPR,A ;将接收的正确信息送数据缓冲区MOVA,#00H ;本机发出应答信息给甲机,表明数据传送正确年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交MOV SBUF,AINC RO ;修改指针INC DPTRCJNE R0,#0C8H,ENDT;判断 200 个字节是否接收完毕CLR ESENDT:RETIEND6、试用 8031 和 8155 实现键盘和 LED 动态显示。画出原理示意图并编制键盘 扫描程序和 LED 动态显示程序(16 个键的键盘扫描和 6 位 LED 显示)。参考答案:变量 k 从 0 变到 300,变化步长为 20。对于每一个值,使用整形
22、数算术运算计 算 40*k,k*k*k 和(50*k/120+60)A3。这三个值通过 MSC1211 的 D/A 转换后同 步输出(均使用电压输出模式)。试编写程序实现。(5 分)in clude data un sig ned int k,j,i; void ma in (void)PDCO N&= 0X48; ADC0N0=0X30; DACSEL=6; DACSEL=4;DACL=0X24; DACSEL=5;DACH=0 x24;while(1)DACSEL=0;DAC=0 x8000; for(j=0;j100;j+)DAC=0;for(k=0;k301;k+=20)DACSEL=
23、1;DAC=40*k;DACSEL=2;DAC=k*k*k;DACSEL=3;i=50*k/1200+60;DAC=i*i*i;DACSEL=6;DACL=0Xfc;年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交单片机原理及应用模拟卷、分析程序的执行结果,将结果填写到空格中1 )、 MOV 40H ,#80HMOV R0 #40HMOV A R0MOV B ,#20H;(A= 80H );(A= 04H B= 00H);最终结果存于内存单元40H中。DIV ABMOV R0 A2)、MOVRR AMOV BA,#2AH,AMULAB(OV=;(A= B9H B= 01H)1
24、CY= 0 )3)、 MOV A ,#0B2HMOV R1 #055HANL A,R1ORL A,R1;(A= 10H);(A= 55H);(A= 00H);(A= 00H)XRL A,SWAP AR14)、 设内存 20H 的内容为 30H,30H 的内容为 46H, 46H 的内容为 57HMOV R0,#30HMOV A,R0;(PSW 中 P 的内容=1 )XCH A,R0ADD A,#0DBHSUBBA , #74H;(A= 96H);(PSW 中 P 的内容=0 );(PSW 中 C 的内容=0 )5 )、 MOV 25HCLR 2AH#39H;(25H) =( 00111001
25、B )年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交CPL 2CH;( 25H)=(00101001 B)SETB 2EH;( 25H)=(01101001 B)MOV C ,28H; ( PSW 中 C 的内容=1 )、程序设计1、MCS51 内部 RAM整除的数,存放到40H60H 单元存放着有符号 16 进制数,将其中能被 20090H 单元开始的外部 RAM 中。使用汇编语言编写参考答案:ORG0000HJMPSTARTSTART:MOV SP, #60HMOV DPTR, #0090HLOOP0 :LOOP1:MOV R0, #40HMOV R1 ,#21MOV A
26、, R0MOV B, #2DIV ABMOV R2, BCJNZ R2, #0, LOOP1 ;余数为 0 则继续,不为 0 则转移MOV A, R0MOV DPTR,AINC DPTRINC R0DJNZ R1, LOOP0END2、用 MSC1211 的 T1 定时/计数器,定时 0.1S 中断,使 P1 口的 8 个发光二极 管每隔 1S 循环点亮。设系统主频为 6MHZ。参考答案:ORG 0000HLJMP MAINORG 001BH;转主程序;T1 中断服务程序入口地址年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交年级;层次;专业;姓名复习资料,仅供参考,补充整理打印,试后上交LJMPT1-ISRORG0100HMAIN : MOVSP,#60H;设置堆栈指针MOVP1,#01H;设置 P1.1 发光MOVTMOD,#10H;T1 初始化MOVTL1,#B0HMOVTH1,#3CHSETBTR1;启动 T0 计数SETBET1;允许 T0 中断SETBEA;CPU 开中断SJMP$;等待T1_I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论