版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用模拟卷2 1、 分析程序的执行结果,将结果填写到空格中。ORG0000HMOV30H,#50HMOVR0,#30HMOVA,R0;(A= 50H )MOVA,#79HMOVB,#20H ;(A= 79H B= 20H )DIVAB;(A= 03H B= 19H )PUSHBMOVB,#0AHMULAB;(A= 1EH B= 00H )POPBADDA,B ;(A= 37H B= 19H )MOV30H,A;(30H单元的内容= 37H )LOOP:AJMPLOOP2、 将MCS51内部RAM50H55H单元存放的12个16进制数变为ASCII码,放到2800H单元开始的外部RA
2、M中。解:ORG0000HLJMPMAINMAIN:MOVDPTR,#70HMOVR1,#1120HMOVR0,#06TOP:MOVA,DPTRPUSHACCANLA,#0FH;取出四位二进制数PUSHACCCLRCSUBBA,#0AHPOPACC;弹回A中JCLOOP;该数10去LOOPADDA,#07H;否则加07HLOOP:ADDA,#30H;加30HMOVR2,APOPACCANL#0F0H;取出下一个四位二进制数PUSHACCCLRCSUBBA,#0AHPOPACC;弹回A中JCLOOP;该数10去LOOP1ADDA,#07H;否则加07HLOOP1:ADDA,#30H;加30HSW
3、APAORLA,R2MOVXR1,A;将结果存到RAM中INCDPTRINCR1DECR0JNZTOP;判断转换完没有,未转换完则转TOP3、 用8031的T0定时/计数器,设计程序,实现在P1.0输出50ms的方波,输出100个方波后停止输出。#include #define uchar unsigned char uchar a; void main(void) TMOD=0X01; TL0=0XB0; TH0=0X3C; EA=1; ET0=1; TR0=1; while(1) if(a=100) EA=0; TR0=0; void timer0(void) interrupt 1 TL
4、0=0XB0; TH0=0X3C; cpl p1.0; a+; 4、 甲单片机利用方式1将内部RAM30H37H单元的ASCII码发送到乙机。编制甲机发送和乙机接收的程序(加奇校验)。A机发送程序设计 ST: MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H SETB TR1 MOV SCON ,#50H MOV R0,#30H MOV R1,#08H LOOP: MOV A,R0 CALL FS INC R0 DJNZ R1,LOOP RET FS: MOV C,P CPL C MOV ACC.7,C MOV SBUF A WAIT: JNB TI,WAIT
5、 CLR TI RET B机的接受程序设计 接受串口发来的程序,假设存放在30H37H中 ST: MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H SETB TR1 MOV SCON ,#50H MOV R0,#30H MOV R1,#08H LOOP: CALL JS JNC ERROR MOV R0,A INC R0 DJNZ R1,LOOP RET ERROR:;出错处理,如返回出错信息等 RET JS: JNB RI JS CLR RI MOV A, SBUF MOV P C ANL A,#7FH RET 5、 利用8031和8位A/D(ADC0809
6、)构成数据采集系统。每隔20ms采集通道0的一次数据,将采集的数据存放在30H的内部RAM中。画出原理示意图,写出较完整的程序清单。(提示:需要用定时器和外部中断)。MAIN:MOV TMOD,#01H /定时器0 初始化 MOV TL0,#10H MOV TH0,#27H MOV R0,#30H SETB TR0 SETB ET0 SETB EX0 SETB EA SJMP $ 定时器0 中断服务子程序: ORG 000BH MOV DPTR,#7EF8H /启动ADC,对IN0 通 /道进行AD 转换 CLR TR0 MOV TL0,#10H MOV TH0,#27H SETB TR0 R
7、ETI 外部中断(INT0)子程序: ORG 0003H MOVX A,DPTR MOV R0,A INC R0 RETI 键盘扫描子程序: KEY1: ACALL KS1 ;调用判断有无键按下子程序 JNZ LK1 AJMP KEY1 LK1: ACALL TM12s ;调用12ms 延时子程序 ACALL KS1 JNZ LK2 AJMP KEY1 LK2: MOV R2,#0FEH ;首列扫描字入R2 MOV R4,#00H ;首列号入R4 LK4: MOV DPTR,#0FD01H ;列扫描字送8155PA 口 MOV A,R2 MOVX DPTR,A INC DPTR ;指向8155
8、PC 口 INC DPTR MOVX A,DPTR JB ACC.0,LONE;第0 行无键按下,查第1 行 MOV A,#00H ;有键按下,该行首键号送A AJMP LKP LONE: JB ACC.1,NEXT MOV A,#08H LKP: ADD A,R4 ;键号=行键号+列号 PUSH ACC LK3: ACALL KS1 ;等待键释放 JNZ LK3 POP ACC ;键释放,键号放入A RET NEXT: INC R4 ;指向下一列,列号加1 MOV A,R2 ;判断8 列是否全扫描完 JNB ACC.7,KND RL A ;求得下一列的扫描字 MOV R2,A AJMP LK
9、4 KND: AJMP KEY1 KS1: MOV DPTR,#0FD01H ;指向PA 口 MOV A,#00H ;全扫描字 MOVX DPTR,A INC DPTR ;指向PB 口 INC DPTR MOVX A,DPTR CPL ANL A,#03H ;屏蔽高6 位 RET TM12ms: MOV R7,#18H ;延迟12ms 子程序 TM : MOV R6,#0FFH TM6: DJNZ R6,TM6 DJNZ R7,TM RET LED 显示子程序: MOV R0,#30H ;设显示缓冲区首地址为30H MOV R3,#02H ;扫描数位初值为00000010B LD 0: MOV A,R3 ;扫描数位送PA 口 MOV DPTR,#0FD01H MOVX DPTR,A INC DPTR ;得到B 口地址 MOV A,R0 ;加偏移值,得到相应的显示代码 ADD A,#0DH MOVC A,A+PC MOVX DPTR,A ACALL LD1 ;调用延时1ms 的子程序 INC R0 MOV A,R3 ;如果6 个显示器都扫描一遍,返回主程序 ADD A,#01H ;使最高位是否为1 判断扫描是完毕 JB ACC。7,LD1 RL A ;修改扫描行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安全教育培训试题带答案
- 金属冶炼生产安全准则
- 科技创新:激发兴趣培养创新精神的小学主题班会课件
- 2026年青海省中小学教师招聘考试题库(全科含完整答案解析)
- 小学一年级数学《收获的季节:比较大小与轻重》教学设计
- 初中物理九年级《探究电流与电压、电阻的关系》教学设计
- 七年级生物上册(北师大版2024)期末核心素养知识清单
- 小学四年级数学 乘法运算的智慧工具(大单元教学设计)
- 小学六年级英语上册Unit6 How do you feel Part B Let's learn Let's play 情感管理与表达进阶课教学设计
- 初中三年级生物《生命系统的稳态维系:呼吸、循环与排泄的整合复习与解题模型建构》教案
- 航天科工集团在线测评题真题
- 2026年内蒙古自治区呼和浩特市初二学业水平地理生物会考试题题库(答案+解析)
- 人教版六年级下册数学思维拓展题型专项练习(含答案)
- 服务临床一线工作制度
- 产后专科工作制度
- 2026年英国a-level考试试题
- 有限空间作业监理实施细则
- 学校延时服务奖惩制度
- 投资分析师金融行业绩效考评表
- 肺癌早筛早诊课件
- 卫生院学术期刊预警制度
评论
0/150
提交评论