机电一体化《单片机原理与应用》山东大学网络教育考试模拟题与问题详解.docxVIP

  • 8
  • 0
  • 约1.14万字
  • 约 21页
  • 2021-05-29 发布于境外
  • 举报

机电一体化《单片机原理与应用》山东大学网络教育考试模拟题与问题详解.docx

实用文档 实用文档 实用文档 实用文档 《单片机原理及应用》 除非特别声明,编程题可以使用汇编语言编写,也可以使用 C语言编写 MOV A,@R0 ;(A= 50H ) MOV A,#79H MOV B,#20H ;(A= 79H B= 20H ) DIV AB ;(A= = 03H B= 19H ) PUSH B MOV B,#0AH MUL AB ;(A= =1EH B= 00H ) POP B ADD A,B ;(A= 37H B= 19H ) ;(30单元的内容= )MOV 30H,A 37H 0000H 30H,#50H R0,#30H 1、分析程序的执行结果, 将结果填写到空格中 ORG MOV MOV MOV 20H,30H CLR MOV CPL RR 01H A,20H A A ;(20l单元的内容 ;(PSW中 P的内容= 37H 1 ) SWAPA ADDCA,#0F0H RL A ;(PSW中 C的内容=0 ;(A= 46H ) ;(A= 36H ) ;(PSW中 P的内容=0 ;(PSV中C的内容=1 ;(A= 6CH ) ;(PSW中 P的内容=0 ;(PSV中C的内容=0 LOOP:AJMP LOOP 2将 MCS5内部RAM60H65H单元存放的 12个 16进制数变为 ASCI码, 放到0090单元开始的外部 RAM中。[使用汇编语言编写] MAIN MOV R0,#60H MOV R2,#6 MOV DPTR, #0090H HAS(标准 实用文档 实用文档 标准 标准 实用文档 实用文档 标准 标准 MOV A,@R0 ANL A,#0FH ;屏蔽高四位 ADD A,#0DH MOVC A,@A+PC ;查表低四位转换为 ASCI码 MOVX @DPTR,A ;送如外部 RAM INC DPTR MOV A,@R0 ANL A,#0F0H SWAP A ADD A,#6 MOVC,@A+PC ;高四位转换为 ASCI码 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,HASC END ASCTAB:DB 30H 31H 32H 33H 34 H 35H 36H 37H 38H 39H DB41H 42H 43H 44H 45H 46H 3、某一故障检测系统,当出现故障 1时,线路 1上出现上升沿;当出现故障 2 时,线路 2上出现下降沿。 没有故障时, 线路 1为低电平, 线路 2为高电平。 出现故障时, 相应的指示灯变亮。 故障消失后, 指示灯熄灭。 试用 MSC1211 为单片机实现该故障检测功能,画出电路原理图,并写出相应程序。 4用MSC12 4用MSC12的TO定时/计数器,设计程序,实现在 P1.输出周期为 2OOms 的占空比为1:啲方波,输出50(个方波后停止输出 解: ORG 0000H LJMP MAIN ORG 000BH ; T0 口中断服务程序入口地址 LJMP INT_T0 MAIN: MOV TMOD #00H ; TO工作于方式 0定时 MOV TL0, #0CH MOV TH0, #1EH ;设定秒中断周期为 1ms MOV A, 200 ;设定输出周期为 200 ms MOV R2,1000 ;输出 500个方波 SETB TR0 实用文档 实用文档 标准 标准 实用文档 实用文档 标准 标准 SETB ET0 SETB EA SETB P1.0 SJMP $ INT_T:0 MOV TL0, #0CH MOV TH0 #1EH ; TO重装时间常数 CPL P1.0 P1.位取反 DEC R2 JZ ENDP ;若R2为0,则结束程序,否则返主程序继续输出 RETI ;返主程序 END:P END 5利用MSC12的A/D构成数据采集系统。 使用模拟通道0进行连续数据采 集,采集 8 次后取得平均值,存放到预先分配好的 100个内存单元中,这 100个单元存满后,再从第一个单元进行覆盖保存。 写出完整的程序清单 (应 在适当的地方加程序注释) 。 解: #includeR EG 1 2 1 1 . H #includestdio.h extern void autobaud(声明)外部函数 extern void bipolar(void); float a[100]={0},w[8]={0};int out=0;long result,temp;int j; int AUXi nterrupts(void)i nterrupt6 中断服务程序 { if(PAI==6) /处理 AD 中断 { w[out++]=bipolar(); temp=w[out]; SUMR0=temp0xff; SUMR1=(temp8)0xff;

文档评论(0)

1亿VIP精品文档

相关文档