版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、阅读以下各程序片段,指出它们执行后各自实现一、阅读以下各程序片段,指出它们执行后各自实现 什么功能。什么功能。 MOV R0, #30H MOV R1, #00H LOOP: CJNE R0, #0FFH, NEXT INC R1NEXT: INC R0 CJNE R0, #51H, LOOP MOV 51H, R1第第 三三 章章 课课 堂堂 练练 习习分析下面程序段中每条指令执行的结果。分析下面程序段中每条指令执行的结果。MOVA,#83HMOVR0,#47HMOV47H,#34HANLA,#47HORL47H,AXRLA,R0BLOCK EQU 30HLENGTH EQU 21HRE
2、SULT EQU 20H MOV A, LENGTH JZ EXIT MOV R2, A MOV R0, # BLOCK MOV A, #0FFHLOOP: MOV B, R0CJNE A, B , CHKSJMP NOCHKCHK: JC NEXTMOV A, R0NEXT: INC R0NOCHK:DJNZ R2, LOOPMOV RESULT, AEXIT: SJMP $ 二、编写对应以下功能的程序。二、编写对应以下功能的程序。 对对DPTR 减减1. 对存放在对存放在R1R0中的中的16位数位数(低低8位在位在R0中中)左移一位左移一位,最最 低位补低位补“0”。用软件模拟逻辑电路用软
3、件模拟逻辑电路. P1.7=(P1.0P1.1P1.2)(P1.2+P1.3)试编写程序试编写程序,将内部将内部RAM的的20H2FH共共16个连续单元个连续单元 清零清零. 试编写程序试编写程序,求出内部求出内部RAM20H单元中的数据含单元中的数据含“1”的的 个数个数,并将结果存入并将结果存入21H单元单元. 1.试编写程序试编写程序,查找在内部查找在内部RAM的的30H50H单元中出现单元中出现FFH的的 次数次数,并将查找的结果存入并将查找的结果存入51H单元单元. MOV R0, #30H ; R0用作数据块地址指针用作数据块地址指针 MOV R1, #00H ; R1用作计数器用
4、作计数器LOOP: CJNE R0, #0FFH, NEXT INC R1 ;找到一个找到一个“FFH”,计数器加计数器加1NEXT: INC R0 ;指向下一个数指向下一个数 CJNE R0, #51H, LOOP ;未完成则继续未完成则继续 MOV 51H, R1 ;存结果存结果 SJMP $ END分析下面程序段中每条指令执行的结果。分析下面程序段中每条指令执行的结果。MOVA,#83H ;MOVR0,#47H ;MOV47H,#34H ;ANLA,#47H ;ORL47H,A ;XRLA,R0 ; (A)=83H(R0)=47H(47H)=34H(A)=03H(47H)=37H(A)=
5、34H3.从内部从内部RAM的的30H单元开始存放着一组无符号数单元开始存放着一组无符号数,其数目存其数目存放在放在21H单元中单元中.试编写程序试编写程序,求出这组无符号数中的最小数求出这组无符号数中的最小数,并并将其存入将其存入20H单元单元. BLOCK EQU 30HLENGTH EQU 21HRESULT EQU 20H MOV A, LENGTH JZ EXIT MOV R2, A MOV R0, # BLOCK MOV A, #0FFHLOOP: MOV B, R0CJNE A, B , CHKSJMP NOCHKCHK: JC NEXTMOV A, R0NEXT: INC R0
6、NOCHK: DJNZ R2, LOOPMOV RESULT, AEXIT: SJMP $ 1. 对对DPTR 减减1。MOV A, DPLCLR CSUBB A, #1 ;低低8位减位减1,影响影响CyMOV DPL, AMOV A, DPHSUBB A, #0 ;如果有借位如果有借位,高高8位减位减1MOV DPH, A 2.对存放在对存放在R1R0中的中的16位数位数(低低8位在位在R0中中)左移一位左移一位, 最低位补最低位补“0”。MOV A, R0CLR CRLC A ;左移左移,“0”移入最低位移入最低位,最高位移入最高位移入CyMOV R0, AMOV A, R1RLC A ;
7、左移高左移高8位位MOV R1, A 3. 用软件模拟逻辑电路用软件模拟逻辑电路. P1.7=(P1.0P1.1P1.2)(P1.2+P1.3) MOV A, P1 ; MOV C, ACC.2 ORL C, ACC.3 ;CP1.2P1.3 MOV ACC.4, C ;暂存于暂存于ACC.4 MOV C, ACC.0ANL C, ACC.1ANL C, /ACC.2 ;CP1.0P1.1P1.2CPL CANL C, ACC.4 ; CP1.0P1.1P1.2(P1.2P1.3)CPL CMOV P1.7, C ;输出输出 4.试编写程序试编写程序,将内部将内部RAM的的20H2FH共共16
8、个连续个连续 单元清零单元清零. MOV R0, #20H CLR ALOOP: MOV R0, A INC R0 CJNE R0, #30H, LOOP SJMP $ 5.试编写程序试编写程序,求出内部求出内部RAM20H单元中的数据含单元中的数据含“1”的的 个数个数,并将结果存入并将结果存入21H单元单元.MOV R2, #8 ;需要移位需要移位8次次MOV R1, #0 ; R1为计数器为计数器MOV A, 20H ;取数取数 AGAIN:RLC A ;最高位移入最高位移入CyJNC NEXTINC R1 ; Cy=1,则计数器加则计数器加1 NEXT: DJNZ R2, AGAINM
9、OV 21H, R1 ;存结果存结果END 试分析以下几种中断优先级的排列顺序(级别由高到 低)是否可能?若可能,则应如何设置中断源的中断 级别?否则,请简述不可能的理由。 定时器T0溢出中断,定时器T1溢出中断,外中断 INT0,外中断INT1,串行口中断; 串行口中断,外中断INT0,定时器T0溢出中断,外 中断INT1,定时器T1溢出中断; 第第 四四 章章 课课 堂堂 练练 习习 外中断INT0,定时器T1溢出中断,外中断INT1, 定 时器T0溢出中断,串行口中断; 外中断INT0,外中断INT1,串行口中断,定时器 T0溢出中断,定时器T1溢出中断; 串行口中断,定时器T0溢出中断
10、,外中断INT0, 外中断INT1,定时器T1溢出中断; 外中断INT0,外中断INT1,定时器T0溢出中断, 串行口中断,定时器T1溢出中断; 外中断INT0,定时器T1溢出中断,定时器T0溢出 中断,外中断INT1,串行口中断; 已知单片机系统时钟频率已知单片机系统时钟频率fosc=6MHz,若要求定时,若要求定时 值分别为值分别为0.1ms、1ms和和10ms,定时器工作在方式,定时器工作在方式0、 方式方式1、方式、方式2时,定时器对应的初值各为多少?时,定时器对应的初值各为多少? 知单片机系统时钟频率知单片机系统时钟频率fosc=6MHz,试编写程序,试编写程序, 使使P1.0输出如
11、下矩形脉冲(建议用定时器工作方式输出如下矩形脉冲(建议用定时器工作方式 2):高电平脉宽为):高电平脉宽为 40s ,低电平脉宽为,低电平脉宽为 360s。 试设计一个单片机的双机通信系统,并编写通信程试设计一个单片机的双机通信系统,并编写通信程 序,将甲机内部序,将甲机内部RAM 30H3FH存储区的数据通过存储区的数据通过 串行口传送到乙机内部串行口传送到乙机内部RAM 40H4FH存储区中去。存储区中去。 解答:解答: 能够能够实现。只需将实现。只需将T0 和和T1溢出中断设置为高优先级溢出中断设置为高优先级 中断,其余为低优先级中断。中断,其余为低优先级中断。 能够能够实现。将串行口中
12、断设置为高优先级中断,其实现。将串行口中断设置为高优先级中断,其 余为低优先级中断。余为低优先级中断。 不能不能实现。即使将外中断实现。即使将外中断INT0和溢出中断和溢出中断T1设置为设置为 高优先级中断,但其余高优先级中断,但其余3个中断源在同一低优先级个中断源在同一低优先级 中,中, 硬件查询次序规定为溢出中断硬件查询次序规定为溢出中断T0级别高于外级别高于外 中断中断INT1,无法颠倒。,无法颠倒。 能够能够实现。将外中断实现。将外中断INT0、INT1以及串行口中断设以及串行口中断设 置为高优先级中断,其余为低优先级中断。置为高优先级中断,其余为低优先级中断。 不能不能实现。虽然可以
13、将串行口中断设置为高优先级实现。虽然可以将串行口中断设置为高优先级 中断,但其余中断,但其余4个中断源在同一低优先级里的优先级个中断源在同一低优先级里的优先级 别只能由硬件查询次序来安排,这样,溢出中断别只能由硬件查询次序来安排,这样,溢出中断T0 不能优于外中断不能优于外中断INT0。 不能不能实现。如果单独将溢出中断实现。如果单独将溢出中断T1设置为低优先级设置为低优先级 中断,其余为高优先级中断,在同一高优先级的中断,其余为高优先级中断,在同一高优先级的4个个 中断源硬件查询次序规定了溢出中断中断源硬件查询次序规定了溢出中断T0优先于外优先于外 中断中断INT1,所以不能满足所要求的优先
14、顺序。,所以不能满足所要求的优先顺序。 能够能够实现。将外中断实现。将外中断INT0和溢出中断和溢出中断T1设置为高设置为高 优先级中断,其余为低优先级中断。优先级中断,其余为低优先级中断。 已知单片机系统时钟频率已知单片机系统时钟频率fosc=6MHz,若要求定时,若要求定时 值分别为值分别为0.1ms、1ms和和10ms,定时器工作在方式,定时器工作在方式0、 方式方式1、方式、方式2时,定时器对应的初值各为多少?时,定时器对应的初值各为多少? 解:时钟频率为解:时钟频率为6MHz,机器周期为,机器周期为2s。定时器用作。定时器用作 定时,计数器对机器周期进行加定时,计数器对机器周期进行加
15、1计数,计数, 由公式由公式 X=2n-定时值定时值t/机器周期知道机器周期知道:计数器的值计数器的值X与定时与定时 值值t的关系为:的关系为: 2n-计数器初值计数器初值x=定时值定时值t/机器周期机器周期 其中:其中:n由工作方式决定,可为由工作方式决定,可为13,16或或8。定时值为定时值为0.1ms时:时: 2n-计数器初值计数器初值x=100/2=50 即需要即需要50个机器周期,所以方式个机器周期,所以方式0、1、2都能实现。都能实现。 方式方式0:n=13,213-x=50,x=8142=1111111001110B, 计数器初值为计数器初值为:TH0=0FEH, TL0=0EH
16、 。 方式方式1:n=16,216-x=50,x=65486=0FFCEH, 计数器初值为计数器初值为:TH0=0FFH, TL0=0CEH 。 方式方式2:n=8,28-x=50,x=206=1100 1110B, 计数器初值为计数器初值为:TH0=0CEH, TL0=0CEH 。定时值为定时值为1ms:2n-计数器初值计数器初值=1000/2=500 即需要即需要500个机器周期,所以方式个机器周期,所以方式0、1、可以实现,、可以实现, 而方式而方式2不能实现,因为方式不能实现,因为方式2最大的定时只能为最大的定时只能为256 个机器周期。个机器周期。 方式方式0:n=13,213-x=
17、500,x=7692=1111000001100B, 计数器初值为计数器初值为 : TH0=0F0H, TL0=0CH 方式方式1:n=16,216-x=500,x=65036=0FE0CH, 计数器初值为计数器初值为: TH0=FEH, TL0=0CH 定时值为定时值为10ms:2n-计数器初值计数器初值=100/2=5000 即需要即需要5000个机器周期,所以方式个机器周期,所以方式0、1可以实现,而可以实现,而 方式方式2不能实现。不能实现。 方式方式0:n=13,213-x=5000,x=3192=110001111000B, 计数器初值为计数器初值为:TH0=63H, TL0=18
18、H 方式方式1:n=16,216-x=5000,x=60536=0EC78H, 计数器初值为计数器初值为:TH0=ECH, TL0=78H 解:定时矩形波高电平和低电平持续时间所对应的解:定时矩形波高电平和低电平持续时间所对应的8位位 计数器的初值分别为:计数器的初值分别为: 定时定时40s:28x=40/2, 初值初值x=236=0ECH 定时定时360s:28x=360/2, 初值初值x=76=4CH 程序如下:程序如下: ORG 0000H LJMP MAIN 知单片机系统时钟频率知单片机系统时钟频率fosc=6MHz,试编写程序,试编写程序, 使使P1.0输出如下矩形脉冲(建议用定时器
19、工作方式输出如下矩形脉冲(建议用定时器工作方式 2):高电平脉宽为):高电平脉宽为 40s ,低电平脉宽为,低电平脉宽为 360s。 ORG 000BH LJMP PULSEMAIN:MOV TMOD, #02H ;T0,方式方式2 MOV TH0, #4CH ;定时定时360s MOV TL0, #4CH SETB ET0 SETB EA ;开中断开中断 CLR P1.0 ;输出低电平输出低电平 CLR F0 ; F0=0,输出低电平标志,输出低电平标志 SETB TR0 ;启动定时启动定时 SJMP $ PULSE:JNB F0, NEXT1 ;中断服务程序中断服务程序 MOV TH0,
20、#4CH ; 定时定时360s MOV TL0, #4CH SJMP NEXT2 NEXT1: MOV TH0, #0ECH ; 定时定时40s MOV TL0, #0ECH NEXT2: CPL F0 CPL P1.0 RETI END 试设计一个单片机的双机通信系统,并编写通信程试设计一个单片机的双机通信系统,并编写通信程 序,将甲机内部序,将甲机内部RAM 30H3FH存储区的数据通过存储区的数据通过 串行口传送到乙机内部串行口传送到乙机内部RAM 40H4FH存储区中去。存储区中去。其中:其中:甲机串行口工作于甲机串行口工作于 方方2发送,将发送,将 30H 3FH的内容从串行的内容从串行 口输出,口输出,TB8作奇作奇 偶校验位。偶校验位。 程序如下:程序如下:RXDTXDGNDTXDRXDGND甲机甲机乙机乙机解:双机串行通信异步系统组成如下图所示:解:双机串行通信异步系统组成如下图所示:SEND: MOV SCON, #80H ;串行口方式串行口方式2 MOV PCON, #80H ;波特率为波特率为fosc/32 MOV R0, #30H ;数据区指针数据区指针 MOV R7, #10H ;长度长度LOOP: MOV A, R0 MOV C, P MOV TB8, C ; TB8P MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年政务服务“不见面审批”移动端推广
- 药物代谢动力学山大本科考试题库及答案
- 心理学试题库含答案
- 福建省泉州市丰泽区2024-2025学年七年级下学期期末历史试题(文字版含答案)
- 年产190套动物诊疗消毒设备生产线可行性研究报告
- 2026 年秋季开学 学会求助表达 保护自身安全
- 2025年AI体育教练的奥运首秀表现
- 2026年医院消毒灭菌标准考核试卷及答案
- 2026年手术室护士操作规范考核题库标准答案
- 2026年平武县水利工程技术员完整版试题
- 指挥中心交接班工作制度
- 医保定点医疗机构履约情况自查整改报告
- 政府办公楼保安考核制度
- 叙事护理:改善护患关系
- 学校1530安全教育记录(2026年春季期)
- WMS系统课件培训
- 拆除储罐施工方案
- 2025年文化旅游项目申报材料撰写指南方案
- 农村儿童手机依赖问题小组干预策略研究
- 防灾避难场所设计规范
- 口服给药操作技能
评论
0/150
提交评论