已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 见书P20 表2 2 P21 P22表2 23 8031片内RAM地址空间低128字节 00H 7FH 为真正的RAM区 为连续空间 其中 00H 1FH 共32单元是4个通用工作寄存器区 每个区有8个通用寄存器R0 R7 片内RAM的20H 2FH为位寻址区域 位地址范围为00H 7FH 片内RAM的30H 7FH为数据缓冲区 一般可用来开辟堆栈区 高128字节 80H FFH 为特殊功能寄存器区SFR SFR为不连续区 8031有18个SFR 占21个字节 5 见书P32 第三章 解 MCS 51指令系统按功能可分为 类 1 数据传送 2 算术运算 3 逻辑运 4 位操作 5 控制转移具有 种寻址方式 其对应的寻址范围如下表 1 MCS 51指令系统按功能可分为几类 具有几种寻址方式 它们的寻址范围如何 寻址方式及相应的寻址空间 2 设内部RAM中 59H 50H 写出当执行下列程序段后寄存器A R0和内部RAM中50H 51H单元的内容为何值 MOVA 59H A 50HMOVR0 A R0 50HMOVA 00 A 00HMOV R0 A 50H 00HMOVA 25H A 25HMOV51H A 51H 25HMOV52H 70H 52H 70H结果为 A 25H R0 50H 50H 00H 51H 25H 3 PSW中Cy与OV有何不同 下列程序段执行后Cy OV MOVA 56HADDA 74H Cy 进位标志 如果操作结果在最高位有进位输出 加法 或借位输入 减法 时 Cy置位 否则清 该位又是布尔处理器的累加器C OV 溢出标志 用于表示有符号数算术运算的溢出 当次高位发生向最高位进位而最高位不发生进位或反之时 发生溢出 OV置位 否则清 结果 Cy OV 6 设堆栈指针 SP 60H 内部RAM中 30H 24H 31H 10H执行下列程序后 61H 62H 30H 31H DPTR及SP中的内容将有何变化 PUSH30H 61H 24HPUSH31H 62H 10HPOPDPL DPL 10HPOPDPH DPH 24HMOV30H 00H 30H 00HMOV31H 0FFH 31H 0FFH 结果为 61H 24H 62H 10H 30H 00H 31H 0FFH DPTR 2410H SP 60H 7 试分析以下程序段 当执行程序后 位地址00H和01H中的内容将为何值 P1口的8条I O线为何状态 ORG0000HCLRCMOVA 66HJCLOOP1CPLCSETB01HLOOP1 ORLC ACC 0JBACC 2 LOOP2LOOP2 MOVP1 ASJMP END 结果如下 00H 0 bit 01H 1 bit P1 66H 8 要完成以下的数据传送 应如何用MCS 51指令实现 1 R1的内容传送到R0 解 MOVA R1MOVR0 A 2 片外RAM20H单元内容送R0 MOVDPTR 0020HMOVXA DPTRMOVR0 A 3 片外RAM20H单元的内容送片内RAM20H单元 MOVDPTR 0020HMOVXA DPTRMOV20H A 4 片外RAM1000H单元的内容送片内RAM20H单元 MOVDPTR 1000HMOVXA DPTRMOV20H A 5 ROM2000H单元的内容送R0单元 MOVA 00HMOVDPTR 2000HMOVCA A DPTRMOVR0 A 6 ROM2000H单元的内容送片内RAM20H单元 MOV20H A 7 ROM2000H单元的内容送片外RAM20H单元 MOVA 00HMOVDPTR 2000HMOVCA A DPTRMOVDPTR 0020HMOVX DPTR A 9 分析以下程序每一条指令执行结果 MOVA 25H A 25HMOVR1 33H R1 33HMOV40H 1AH 40H 1AHMOVR3 40H R3 40HADDA R1 A 58HADDCA R3 A 72HADDCA 40H A 8CH 10 设A 83H R0 17H 17h 34H 执行下面程序段后 A 解 ANLA 17H A 03HORL17H A 17H 37HXRLA R0 A 34HCPLA A CBH结果 A 0CBH 11 两个4位BCD码数相加 被加数和加数分别存于 次序为千位 百位在低地址中 十位 个位在高地址中 和数放在50H 51H 52H中 52H用于存放最高位的进位 试编写加法程序 解 30H 31H 40H 41H 52H 51H 50H MOVA 31HCLRA 不影响CyACOVADDA 41HADDCA 00HDAAMOV52H A 存最高位的进位MOV50H A 存低位和MOVA 30HADDCA 40HDAAMOV51H A 存高位和 ORG0000HMOVR0 1FHMOVR2 49 31H 单元长度LOOP INCR0 起始单元MOVA R0CJNEA 0AA NEXT0MOV51H 01HSJMPENDDNEXT0 DJNZR2 LOOPMOV51H 00HENDD SJMP END 12 试编写一程序 查找内部RAM单元的20H 50H中是否有0AAH这一数据 若有 则将51H单元置为01H 若没有 则使51H单元置0 13 用布尔指令 求解逻方程 PSW 5 P1 3 ACC 2 B 5 P1 1PSW 5 P1 5 B 4 ACC 7 P1 0ORG0000HMOVC ACC 2ANLC P1 3MOV00H C 00H P1 3 ACC 2MOVC B 5ANLC P1 1 C B 5 P1 1ORLC 00HMOVPSW 5 CEND 第四章 4 1伪指令 1 汇编起始指令ORG2 等值指令EQU3 定义字节指令DB4 定义字指令DW5 汇编结束指令END 4 2汇编语言程序设计4 2 1简单程序设计4 2 2分支程序设计4 2 3循环程序设计 概念 单 多重循环 4 2 4散转程序设计 属分支程序的一种 4 2 5子程序和参数传递 子程序的概念 调用 4 2 6查表程序设计4 2 7数制转换4 2 8运算程序 加 减 乘 除 小结 Ch4作业 P73 5 试编写程序 将内部RAM中DATA1单元开始的20个单字节数据依次与DATA2单元为起始地址的20个单字节数据进行交换换 ORG0000HDATA1EQU20HDATA2EQU40HMOVR0 DATA1MOVR1 DATA2MOVR2 20LP MOVA R0XCHA R1MOV R0 AINCR0INCR1DJNZR2 LPSJMP END 5 7 编写将一个单字节十六进制数转换为十进制数的子程序 解法 ORG0000H HEX1EQU30H DD1EQU40H DD2EQU41HMOVA 30HMOVB 100DIVABMOV40H AMOVA 10XCHA BDIVABSWAPAORLA BMOV41H ASJMP END ORG0000HMOVA 30HADDA 00HDAAMOV40H ACLRAADDCA 00HMOV41H ASJMP END 解法 是错的DAA指令是针对两个十进制数相加的调整指令 7 ORG0000HBLOCKEQU20HLENEQU10HMAXEQU60HMOVR0 BLOCKMOVR1 MAXMOVR2 LENDECR2MOVA R0MOV40H A 8 在内部RAM的BLOCK开始的单元中有一无符号数据块 数据块长度存入LEN单元 试编程求其中最大数并存入MAX单元中 L1 INCR0MOVA R0CJNEA 40H L2SJMPNEXL2 JCNEXMOV40H ANEX DJNZR2 L1MOV R1 40HSJMP END 9 试编程将内部RAM中 1H 43H单元中的数左移4位 移出部分送40H单元 2 ORG0000HMOV40H 00HMOVR0 4LP1 MOVR1 43HMOVR2 03HCLRCLP2 MOVA R1RLCAMOV R1 ADECR1DJNZR2 LP2MOVA 40HRLCAMOV40H ADJNZR0 LP1SJMP END 解法一 用移位循环 1 ORG0000HMOV40H 00HMOVR0 4LP1 MOVR1 43HMOVR2 04HCLRCLP2 MOVA R1RLCAMOV R1 ADECR1DJNZR2 LP2DJNZR0 LP1SJMP END 9 ORG0000HMOVR0 40HMOVR1 41HMOVR3 3MOV40H 00HLP MOVA R1SWAPAANLA 0FHADDA R0MOV R0 AMOVA R1ANLA 0FHSWAPAMOV R1 AINCR0INCR1DJNZR3 LPSJMP END 解法 解法 用交换指令ORG0000HMOV40H 00HMOVR0 40HMOVR1 41HMOVR2 3LP MOVA R1SWAPA 41L40L INCR0INCR1DJNZR2 LPSJMP END MOV R0 A MOVA R0XCHDA R1 MOV R1 A 解法 ORG0000HMOV40H 00HMOVR0 41HMOVR2 3LP1 MOVA R0SWAPAMOV R0 AINCR0DJNZR2 LP1MOVR1 42HMOVR2 3LP2 XCHDA R1DECR1DJNZR2 LP2MOV43H ASJMP END 第五章 4 简述MCS 51单片机的中断响应过程 答 单片机一旦响应中断请求 就由硬件完成以下功能 1 根据响应的中断源的中断优先级 使相应的优先级状态触发器置1 2 执行硬件中断服务子程序调用 并把当前程序计数器PC的内容压入堆栈 3 清除相应的中断请求标志位 串行口中断请求标志RI和TI除外 4 把被响应的中断源所对应的中断服务程序的入口地址 中断矢量 送入PC 从而转入相应的中断服务程序 4 5 说明MCS 51单片机响应中断后 中断服务的入口地址 答 中断服务的入口地址如下表 5 中断系统功能是可以通过上述特殊功能寄存器进行统一管理的 中断系统初始化是指用户对这些特殊功能寄存器中的各控制位进行赋值 初始化步骤如下 1 开相应中断源的中断 2 设定所用中断源的中断优先级 3 若为外部中断 则应规定低电平还是负边沿的中断触发方式 请写出INT1为低电平触发的中断系统初始化程序 解 采用位操作指令SETBEASETBEX1 开INT1中断SETBPX1 令INT1为高优先级CLRIT1 令INT1为电平触发 2 采用字节型指令MOVIE 84H 开INT1中断ORLIP 04H 令INT1为高优先级ANLTCON 0FBH 令INT1为电平触发 8 补例 中断系统的初始化 TCONTF1TR1TF0TR0IE1IT1IE0IT0IEEAXET2ESET1EX1ET0EX0IPXXPT2PSPT1PX1PT0PX0 10 MCS 51的中断服务程序能否存放在64KB程序存储器的任意区域 如何实现 答 可以 在相应的中断源的中断程序入口地址处 用一条长跳转指令 LJMPAdd16 转到相应64K程序存储器的任意地址 Add16 处 执行相应的中断程序 10 第六章 1 8051单片机内设有几个可编程的定时器 计数器 它们有几种工作方式 如何选择和设定 作为定时器或计数器应用时 它们的波特率各是多少 2 1 定时器 计数器做定时器用时 其定时间与哪些因素有关 作计数器用时 对外界计数频率有何限制 答 1 与fosc 机器周期 计数器的长度 定时 计数器初值 2 1到0跳变计数 在S5P2采样 下个周期S3P1出现在计数器中 至少需要 个机器周期 4 某一8051单片机系统 晶振频率为6MHz 现要从单片机P1 7的引脚输出一个连续的5Hz方波信号 请编写程序 3 单片机的晶振频率为6MHz 若只使用T0产生500us定时 可以选择哪几种定时方式 分别写出定时器的方式控制字和计数初值 5 某单片机系统 时钟频率为12MHz 定时器 计数器T0用于20m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院护士培训计划与技能考核方案
- 2025年版企业固定资产管理制度
- 驾驶员安全法规培训与事故案例分析
- 国家开放大学建设方案
- 剪映剪辑行业分析报告
- 摆摊小吃行业分析报告
- 回收茅台行业分析报告
- 博晖创新行业分析报告
- 贵州省平塘县重点名校2026届中考联考生物试卷含解析
- 2026届山东省泰安市肥城市湖屯镇初级中学中考数学对点突破模拟试卷含解析
- 蒙牛2026届春季校园招聘备考题库(考点精练)附答案详解
- (一诊)2026年兰州市高三模拟考试地理试卷(含答案)
- 2026年无锡城市职业技术学院单招职业技能考试题库带答案详解
- 律所内部财务报销制度
- 安徽商贸单招2026校考真题
- 新医学大学英语视听说教程2(智慧版)scripts keys
- 2025-2026学年六年级美术下册教学设计
- 工资核算及社保缴纳流程指南
- 2025年中国电信集团有限公司校园招聘历年题库附答案解析
- 屋面防水施工安全措施方案
- 2025年网络安全防护与漏洞扫描操作手册
评论
0/150
提交评论