单片机第四次作业

合集下载

单片机课后作业摘要

单片机课后作业摘要

第三次作业3-1 指出下列每一条指令的寻址方式及其完成的操作。

MOV 2FH,#40H;立即寻址,将40H移入片内2FH单元MOV A,2FH;直接寻址,将片内2FH单元的数移入累加器AMOV R1,#2FH;立即寻址,将2FH移入当前寄存器组的R1单元MOV A,@R1;寄存器间接寻址,将寄存器R1中所存地址中的值移入累加器AMOV 2FH,A ;隐含寻址,将累加器A中的值移入片内2FH单元3-2 内部RAM的4FH单元,可用哪几种寻址方式?分别举例说明。

答:直接寻址:MOV R1,4FH间接寻址:MOV R1,#4FH寄存器间接寻址:MOV A,@R13-6 指出下列指令的执行结果,并写出每条指令的机器码。

MOV 30H,#52H ;(30H)=52H 01110101(753052H)MOV A,#70H ;(A)=70H 01110100(7470H)MOV A,30H ;(A)=52H 11100101(E530H)MOV R0,#30H ;(R0)=30H 10101000(7830H)MOV A,@R0 ;A=52H 11100010(E6H)3-10 用指令实现下述数据传送:(1)内部RAM20H单元送内部RAM40H单元。

答:MOV 40H,20H(2)外部RAM20H单元送R0寄存器。

答:MOV R1,#20H MOVX A,@R1 MOV R0,A(3)外部RAM20H单元送内部RAM20H单元答:MOV R1,#20H MOVX A,@R1 MOV 20H,A(4)外部RAM1000H单元送内部RAM20H单元答:MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A(5)外部ROM1000H单元送内部RAM20H单元。

答:MOV DPTR,#1000H MOV A,#00H MOVC A,@A+DPTR MOV 20H,A(6) 外部ROM1000H单元送外部RAM20H单元。

《单片机》第4章作业答案

《单片机》第4章作业答案

第4章作业一、填空:1、假定(A)=85H,(R0)=30H,(30H)=0AFH.执行指令:ADD A,@R0 后,累加器A的内容为(34H ),CY的内容为(1 ),OV的内容为( 1 )。

.2、假定累加器A的内容30H,DPTR的内容2000H执行指令:1000H:MOVC A,@A+DPTR后,把程序存储器(2030H )单元的内容送累加器A中。

3、假定(SP)=40H,(39H)=30H,(40H)=60H。

执行下列指令:POP DPH ,POP DPL后,DPTR的内容为(6030H ),SP的内容是(38H )。

4、在调用子程序时,为保证程序调用和返回不致混乱,常采用保护现场的措施。

通常在进入子程序后要用(PUSH )指令保护现场DPH、DPL、ACC等。

在退出子程序之前要用POP指令依次恢复现场,用(RETI )指令返回。

5、程序状态寄存器的作用是用来保存程序运行过程中的各种状态信息。

若累加器A中的数据为01110010B,则PSW中的P=(0 )。

6、欲使P1口的低4位输出0,高4位不变,应执行一条(ANL P1,#0F0H )命令。

7、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行(256 )次。

8、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H.执行指令:INC AINC R3INC 30HINC @R0后,累加器A的内容为(100H ),R3的内容为(10H ),30H的内容为(100H ),40H的内容为(01H )。

9、MCS-51的指令可分为几种不同的寻址方式。

如:MOV A,20H属于(直接寻址)寻址方式,MOVC A,@A+DPTR 属于(变址寻址)寻址方式,MOV C, bit 属于( 直接寻址) 寻址方式。

10、假定(SP)=60H, (ACC)=30H,(B)=70H, 执行下列命令:PUSH ACCPUSH B后,SP的内容为(62H ),61H的单元的内容为(30H )。

单片机应用技术课程第四次形考作业

单片机应用技术课程第四次形考作业

江苏开放大学形成性考核作业学号*************姓名徐贺课程代码110049课程名称单片机应用技术评阅教师第(4)次任务共(4)次任务江苏开放大学单片机应用技术课程第四次形考作业【作业内容】1.单片机为什么需要系统扩展?2.单片机系统扩展时,系统总线是如何构造的?3.D/A转换通常采用什么方式?4.实现A/D 转换常见的方法有哪些?【作答结果】1解答:因为资源不够了,或者说为了提高性价比。

比如控制100个LED灯的亮灭,假设要做的事很简单,就是控制灯的亮灭。

如果直接用标准51,管脚肯定不够,如果换成脚比较多的芯片就会贵很多,做这么简单的事可能不值。

这个时候就可以用74HC595的芯片扩展系统管脚数量。

这个是扩展管脚数量,其他的扩展RAM、ROM、定时器、AD,,,,都可以这么理解,原来没有的资源给加扩展一下,说白了,是提高了性价比。

2解答:对于没有内部ROM的单片机或者当程序较长、片内ROM容量不够时,用户必须在单片机外部扩展程序存储器。

MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64 KB(0000H~FFFFH)。

MCS-51系列单片机片外引脚可以构成如图所示的三总线结构:地址总线(AB)数据总线(DB)控制总线(CB)所有外部芯片都通过这三组总线进行扩展。

3解答:通常A/D转换的过程包括采样、保持和量化、编码两大步骤。

采样:是指周期地获取模拟信号的瞬时值,从而得到一系列时间上离散的脉冲采样值。

保持:是指在两次采样之间将前一次采样值保存下来,使其在量化编码期间不发生变化。

采样保持电路一般由采样模拟开关、保持电容和运算放大器等几个部分组成。

经采样保持得到的信号值依然是模拟量,而不是数字量。

任何一个数字量的大小,都是以某个最小数字量单位的整数倍来表示的。

量化:将采样保持电路输出的模拟电压转化为最小数字量单位整数倍的转化过程称为量化。

所取的最小数量单位叫做量化单位,其大小等于数字量的最低有效位所代表的模拟电压大小,记作ULSB。

单片机原理与应用第四章作业答案

单片机原理与应用第四章作业答案

4-9 试计算片内RAM区40H~47H单元中8个数据的平均值,结果存放在4Ah中;说明:先对8个数求和,结果放在30h,31h;然后用右移3次求平均。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV R1,#30HMOV 30H,#00HMOV 31H,#00HMOV R2,#8CLR CL1: MOV A,@R1ADDC A,@R0MOV @R1,AINC R0INC R1MOV A,@R1ADDC A,#00HMOV @R1,ADEC R1DJNZ R2,L1INC R1L2: MOV R2,#03HMOV A,@R1RRC AMOV @R1,AINC R1MOV A,@R1RRC AMOV @R1,ADEC R1DJNZ R2,L2DEC R1MOV 4AH,@R1SJMP $4-10 在起始地址为2100H,长度为64H的数表中查找ASCII码’F’,如果有,将其值送到1000H单元,如果没有,将0FFH送1000H单元.ORG 0000HSJMP MAINORG 0030HMAIN: MOV R2,#64MOV DPTR,#2100HL2: MOVX A,@DPTRCJNE A,#’F’,L1MOV DPTR,#1000HMOV A,#00HMOVX @DPTR,ASJMP LASTL1: INC DPTRDJNZ R2,L2MOV A,#0FFHMOVX @DPTR,ALAST: SJMP $4-11 试编写将片内40H~60H 单元中的内容传送到外部RAM以2000h为首地址的存放区域中,并将原数据全部清零。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV DPTR,#2000HMOV R1,#20HL1: MOV A,@R0MOVX @DPTR,AMOV @R0,#00HINC R0INC DPTRDJNZ R1,L1SJMP $4-12 编写,内部RAM50H‐59H 10个单元内容的平均值,并存放在5AH单元。

单片机作业

单片机作业

姓名:滕建国班级:2010045201 学号:201004520105 一、九题目:设(70H)=60H,(60H)=20H.P1口为输入口,当输入状态为B7H,执行下面程序。

Mov R0,#70H MOV A,@R0 MOV R1,A MOV B,@R1 MOV P1,#0FFH MOV @R0,P1试分析(70H)﹑(B)﹑(R1)﹑(R0)的内容是什么。

答案:(70H)=0 (B)=20H (R1)=60H (R0)=0十题:试分析下列程序的功能。

CLR AMOV R2,AMOV R7,#4 LOOP:CLR CMOV A,R0RLC AMOV R0,AMOV A,R1 RLC AMOV R1,A MOV A,R2 RLC AMOV R2,A DJNZ R7,LOOP答案:把R0 R1 R4的内容代进位左移4位。

姓名:滕建国班级:2010045201 学号:201004520105 二﹑十二的题目:分析以下程序段,何时转向LABEL1?何时转向LABEL2?MOV A,R0CPL AJZ LABEL1INC AJZ LABEL2答案:(P0=0 时转向LABEL1 (P0+1=0时转向LABEL2 十三的题目:有4个变量U﹑V﹑W﹑X分别从P1.0~P1.3输入阅读如下程序,写出逻辑表达式并画出逻辑电路图。

MOV P1,#0FFH MOV C,P1.0 ANL C,P1.1 CPL C MOV ACC.0.C MOV C,P1.2 ORL C,ACC.0 MOV F,C题目:逻辑表达式:P(1.0) *P(1.1)+[P(1.2)+P(1.3)]姓名:滕建国班级:2010045201 学号:201004520105 三﹑十四的题目:若(R1)=30H, (A)=40H,(30H)=60H,(40H)=08H.试分析执行下列程序段后上述各单元内容的变化。

MOV A,@R1MOV @R1,40HMOV 40H,AMOV R1,#7F答案:A=60H R1=08H (40H)=60H R1=7FH十九的题目:若CY=1,P1=10100011,P3=01101100B.试指出执行下列程序段后,CY﹑P1口及P3口内容的变化情况。

单片机原理及应用作业答案

单片机原理及应用作业答案

作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。

2.什么叫单片机其主要特点有哪些解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。

第1章 MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线它们与单片机对外的地址总线和数据总线之间有什么关系其地址总线和数据总线各有多少位对外可寻址的地址空间有多大解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。

每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。

通常把4个端口称为P0~P3。

在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。

在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。

MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。

25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)它们的地址是什么CPU如何确定和改变当前工作寄存器组(R0-R n)解:开机复位后,CPU使用的是第0组工作寄存器。

它们的地址是00H-07H。

CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。

27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的当主频为12MHz的时候,一个机器周期是多长时间执行一条最长的指令需要多长时间解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。

第四次大作业

第四次大作业

种模式的全速12Mbps。
在原理图库文件中绘制SN74LVC4245A (由HEADER 12X2更改而来)
• 在原理图库文件中绘制nRF2402(由 HEADER 13X2更改而来)
图3.3
ห้องสมุดไป่ตู้
• nRF2401是单片射频收发芯片,工作于2.4~ 2.5GHz ISM频段,芯片内置频率合成器、功率放 大器、晶体振荡器和调制器等功能模块,输出功
单片机射频收发系统方案
一、设计任务与要求
二、电路原理图与PCB制板文件
设计原理
原件封装属性:
• • • • • • • • • • 电阻——AXIAL0.3 电容——RADI0.4 晶振——XTAL1 CY7C63231A——DIP18 SN74LVC4245A——DIP28 NRF2401——DIP24 LP2980IM5——SIP5 XTAL——XTAL1 天线——TIANXIAN 电源和地插座——AXIAL1.0
• (1)在原理图库文件中绘制CY7C63231A 芯片CY7C63231A由HEADER 9X2更改而 来.
• 芯片简介:CY7C68013A是CYPRESS公司 EZ-USB FX2LP系列单片机的代表型号,
是上一代CY7C68013的低功耗版本它支持
USB2.03种工作模式中的两种和USB1.1两
率和通信频道可通过程序进行配置
在原理图库文件中绘制LP2980IM5(由 CON5更改而来)
• 芯片简介:LP2980IM5是超低能耗50马调节阀
• 1、绘制PCB库中没有的原件封装 • 绘制的天线封装如图:
效果图
3D预览

单片机课程形考作业4

单片机课程形考作业4

第七章串行接口及串行通信技术第八章单片机小系统及片外扩展一、选择题:1、8051单片机的串行口有四种工作方式,其中方式1是()。

(A)10位的通用异步接口方式,其波特率固定;(B)11位的通用异步接口方式,其波特率可调;(C)11位的通用异步接口方式,其波特率固定;(D)10位的通用异步接口方式,其波特率可调;2、通过串行口发送或接收数据时,在程序中应使用指令。

(A)MOVC指令(B)MOVX指令(C)MOV指令(D)XCHD指令3、访问片外程序存储器时,不起作用的控制信号是()(A)RD (B)EA (C)ALE (D)PSEN4、89C51扩展键盘时,若I/O口线有限,键数又要求较多时,键盘设计时应采用()的键盘。

(A)编码式(B)非编码式(C)独立式(D)行列式5、以下对51单片机串行口的描述错误的是()。

(A)8051的片内串行口是一个全双工的串行口;(B)串行口中的SBUF实际上是两个共用一个地址的8位寄存器;(C)串行口的四种工作方式都是采用异步通信的方式;(D)供串行口使用的波特率可固定,也可通过编程设定。

6、在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对应的波特率为()。

(A)2750b/s (B)1.2kb/s (C)2400b/s (D)250b/s7、MCS-51系列单片机外扩存储器芯片时,4个I/O口中作为数据总线的是()。

(A)P0口和P2口(B)P0口(C)P2口和P3口(D)P2口8、对ADC0809芯片描述错误的是()。

(A)0809是采用逐次逼近原理实现模数转换的;(B)0809可同时实现8路模拟量的转换;(C)0809的EOC信号由低变高表示转换结束,可供查询或作中断请求信号;(D)用MOVX指令可以启动0809工作或读取0809中已转换的数据。

二、简答题:1、89C51单片机串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?2、简述特殊功能寄存器SCON,TCON,TMOD功能。

单片机应用技术课程第四次形考作业

单片机应用技术课程第四次形考作业

单片机应用技术课程第四次形考作业江苏开放大学形成性考核作业学号2014070500077姓名徐贺课程代码110049课程名称单片机应用技术评阅教师第(4)次任务共(4)次任务江苏开放大学单片机应用技术课程第四次形考作业【作业内容】1.单片机为什么需要系统扩展?2.单片机系统扩展时,系统总线是如何构造的?3.D/A转换通常采用什么方式?4.实现A/D 转换常见的方法有哪些?【作答结果】1解答:因为资源不够了,或者说为了提高性价比。

比如控制100个LED灯的亮灭,假设要做的事很简单,就是控制灯的亮灭。

如果直接用标准51,管脚肯定不够,如果换成脚比较多的芯片就会贵很多,做这么简单的事可能不值。

这个时候就可以用74HC595的芯片扩展系统管脚数量。

这个是扩展管脚数量,其他的扩展RAM、ROM、定时器、AD,,,,都可以这么理解,原来没有的资源给加扩展一下,说白了,是提高了性价比。

2解答:对于没有内部ROM的单片机或者当程序较长、片内ROM容量不够时,用户必须在单片机外部扩展程序存储器。

MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64 KB(0000H~FFFFH)。

MCS-51系列单片机片外引脚可以构成如图所示的三总线结构:地址总线(AB)数据总线(DB)控制总线(CB)所有外部芯片都通过这三组总线进行扩展。

3解答:通常A/D转换的过程包括采样、保持和量化、编码两大步骤。

采样:是指周期地获取模拟信号的瞬时值,从而得到一系列时间上离散的脉冲采样值。

保持:是指在两次采样之间将前一次采样值保存下来,使其在量化编码期间不发生变化。

采样保持电路一般由采样模拟开关、保持电容和运算放大器等几个部分组成。

经采样保持得到的信号值依然是模拟量,而不是数字量。

任何一个数字量的大小,都是以某个最小数字量单位的整数倍来表示的。

量化:将采样保持电路输出的模拟电压转化为最小数字量单位整数倍的转化过程称为量化。

单片机选修课4次作业

单片机选修课4次作业

第三次作业1、已知R3和R4中存有一个16位的二进制数,高位在R3中,低位在R4中。

请编程将其求补,并存回原处。

答:MOV A,R3RLC AJNC LOOP1MOV A, R4CPL AADD A, #1MOV R4, AMOV A, R3CPL AADDC A, #80MOV R3, ALOOP1:RET2、编写一个程序,把片外RAM从2000H开始存放的10个数传送到片内RAM 30H开始的单元中。

(遇到0时停止)答:START: MOV R0, #30HMOV DPTR, #2000HMOV R1,#0AHLOOP1: MOVX A, @DPTRJZ LOOP2MOV @R0,AINC R0INC DPTRDJNZ R1,LOOP1LOOP2: RET3、完成以下的数据传送过程。

(1)R1的内容传送到R0。

答 MOV A,R1MOV R0,A(2)片外RAM 20H单元的内容送R0。

答 MOV DPTR,#0020HMOVX A,@DPTRMOV R0,A(3)片外RAM 20H单元的内容送片内RAM 20H 答 MOV DPTR, #0020HMOVX A, @DPTRMOV 20H,A(4)片外RAM 1000H单元的内容送片内RAM 20H 答 MOV DPTR, #1000HMOVX A, @DPTRMOV 20H, A(5)片内RAM 20H单元的内容送R0。

答 MOV A, #00HMOV DPTR, #2000HMOVC A, @A+DPTRMOV R0H, A(6)片外RAM 2000H单元的内容送片内RAM 20H 答 MOV A, #00HMOV DPTR, #2000HMOVC A, @A+DPTRMOV 20H, A(7)片外RAM 20H单元的内容送片外RAM 40H答 MOV A, #00HMOV DPTR, #2000HMOVC A, @A+DPTRMOV DPTR, #0020HMOVX @DPTR, A4、设有两个4位BCD码,分别存放在片内RAM的23H,22H单元和33H,32H 单元中,求它们的和,并送入43H,42H单元中去。

单片机原理及应用阶段性作业4

单片机原理及应用阶段性作业4

中国地质大学(武汉)远程与继续教育学院单片机原理及应用课程作业4(共4 次作业)学习层次:专升本涉及章节:第4章4-1 8051 单片机访问外部数据存储器时,起作用的信号为:①/RD ②/WR ③/PSEN ④ALE4-2 8051 单片机访问程序存储器时,起作用的信号是为:①/RD ②/WR ③/EA④/PSEN4-3 8051 单片机用于扩展地址线的并行I/O 口是谁?4-4 在8051 单片机中,为实现P0 口线的数据和低位地址复用,应使用:①地址寄存器②地址锁存器③地址缓冲器④地址译码器4-5 起止范围为0000H~3FFFH的存储器的容量为多少KB?4-6 在8051 单片机中,PC 和DPTR 都用于提供地址,但PC 是为访问何存储器提供地址,而DPTR是为访问何存储器提供地址。

4-7 11 根地址线可选多少个存储单元,16KB存储单元需要多少根地址线?4-8 现有8051 单片机、74LS373锁存器、1 片EPROM2764 和1片RAM 6264,请使用它们组成1个单片机应用系统。

要求:(1) 画出硬件电路连线图,并标注主要引脚。

(2) 指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

4-9LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?4-10 D/A转换器与A/D转换器的功能是什么?各在什么场合下使用?4-11 D/A转换器的主要性能指标有哪些?设某DAC 有二进制12 位,满量程输出电压为5V,请问它的分辨率是多少?4-12 判断下列说法是否正确?(1)“转换速度”这一指标仅适于A/D转换器,D/A转换其可以忽略不计转换时间。

()(2) ADC0809可以利用“转换结束”信号EOC向8051 单片机发出中断请求。

()(3)输出模拟量的最小变化量称为A/D转换器的分辨率。

()(4)输出的数字量变化一个相邻的值所对应的输入模拟量的变化称为D/A转换器的分辨率。

单片机第4章作业

单片机第4章作业

;……..除16…………… MOV R4,#04H LL1: CLR C MOV A,R6 RRC A MOV R6,A MOV A,R5 RRC A MOV R5,A DJNZ R4,LL1 MOV AVERAGE,R5 SJMP $
4.28 已知a、b、c均为0~9的整数, 试编程求解表达式的值(要求使用子 程序)。 AA EQU 31H BB EQU 32H CC EQU 33H Y EQU 34H ORG 0100H MOV SP,#60H MOV A,AA CLR C SUBB A,BB ACALL CHUCI MOV R6,A ;……………………………. MOV A,BB CLR C SUBB A,CC ACALL CHUCI ADD A,R6 MOV R6,A ;……………………………….
4.23巳知R7中为2位十六进制数,试编程将其转换为ASCII码,存 人内部RAM 31H、32H中(低字节在前)。英文字母为大写. ORG 0000H LJMP START START:MOV SP,#60H MOV A,R7 LCALL BCDASCII MOV 31H,A MOV A,R7 SWAP A LCALL BCDASCII MOV 32H,A BCDASCII:ANL A,#0FH CJNE A,#10H,LOOP LOOP: JC AD30H ADD A,#07H AD30H:ADD A,#30H RET
4.20 编制绝对值函数程序。绝对值函数方程如下:
X Y 0 -X 0H单元。 X 及Y均为补码数. X EQU 30H Y EQU 40H ORG 0000H LJMP START START: MOV A,X JZ LOOP JNB ACC.7,LOOP CPL A ADD A,#01H LOOP: MOV Y,A SJMP $

单片机第四次作业

单片机第四次作业

单片机第四次作业作业:多字节无符号数加法运算程序入口:R0=被加数低位地址指针R1=加数低位地址指针出口:R0=和数高位地址指针1、先fileànew 建asm文件18.asmCLR CLOOP1:MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP1 JNC LOOP2 MOV @R0,#01H RETLOOP2:DEC R0 RETEND 为了调试时看数据,预先赋值,所以程序前加:MOV 30H,#78HMOV31H,#56HMOV 32H,#34HMOV 33H,#12HMOV 40H,#0F0HMOV 41H,#0DEHMOV 42H,#0BCHMOV 43H,#9AHMOV R0,#30HMOV R1,#40HMOV R2,#42、建新工程,Projectànewproject,选AtemlàAT89C51,导入文件18.asm。

注意,对初学者,一个工程里只能有本程序18.asm,无关的程序要删除,新试验一个程序最好重新建工程,以保证一个工程里只有你要试验的那一个程序。

3、可见程序:4、编译通过后,点debug 下的start/stop 开始调试,step 和stepover 都是单步调试,step 是遇到子程序或中断也要进入进行单步调试,stepover 是遇到子程序或中断当一句一次执行完。

本程序物子程序,二者是一样的。

我们执行赋值语句得到:点viewàmemorywindows,再输入D:30h 回车,得到:接着执行:可见R0,R1,R2 值的改变:继续执行:下一步:下一步:可见:30H 内容变为68H.下一步:R0,R1 值都加一,继续:可见R2 值减1,但不为0,所以跳转到LOOP1.继续:经过几次循环之后,直到R2 变为0,此时不再循环,可看到:30H,31H,32,,3H 值都已改变。

单片机作业4-参考答案

单片机作业4-参考答案

单片机作业4-参考答案1.下面指令对源操作数而言,采用的是什么寻址方式?座号是奇数的同学做下面9条指令:(1)MOV 20H, #31H ;立即寻址(2)MOV 30H, R6 ;寄存器寻址(3)MOV A, @R0 ;寄存器间接寻址(4)MOV R6, 35H ;直接寻址(5)MOVC A, @A+PC ;基址加变址寻址(6)MOV DPTR, #3456H ;立即寻址(7)SJMP MAIN ;相对寻址(8)PUSH ACC ;直接寻址(9)CLR C ;位寻址座号是偶数的同学做下面9条指令:(1)MOV DPTR, #1234H ;立即寻址(2)MOVX @R1, A ;寄存器寻址(3)SJMP MAIN ;相对寻址(4)MOV R0, 53H ;直接寻址(5)MOVC A, @A+DPTR ;基址加变址寻址(6)MOV R3, #40H ;立即寻址(7)POP B ;直接寻址(8)CLR P2.0 ;位寻址(9)MOV 20H, @R0 ;寄存器间接寻址2.判断下面指令的正误,错误的指令要说明错在什么地方。

座号≦30号的同学做下面5条指令:(1)PUSH R0 ;PUSH指令后面跟的操作数应该是直接寻址,而R0是寄存器寻址(2)MOV A, #FFH ;以A~F开始的立即数,前面要加0(3)MOV @R2, #55H ;访问片内RAM的寄存器间接寻址,只能采用R0或R1(4)DEC DPTR ;DEC指令不能对DPTR进行自减1(5)SJMP $ ;正确座号>30号的同学做下面5条指令:(1)MOVX @R7, A ;访问片外RAM的寄存器间接寻址,只能采用R0、R1或DPTR (2)DEC DPTR ;DEC指令不能对DPTR进行自减1(3)POP A ;PUSH指令后面跟的操作数应该是直接寻址,而A是寄存器寻址(4)MOV P0, #F2H ;以A~F开始的立即数,前面要加0(5)MOVC @A+DPTR, A ;ROM只读,不能写3.写出下面程序段执行的结果。

单片机作业4-参考答案

单片机作业4-参考答案

单片机作业4将下面的C51语句放入Keil软件,进行编译#include<reg51.h>unsigned char data Temp;void main(void){Temp = 0x23; //等号右边写自己座号的BCD码,如23号,写0x23while(1){;}}以下参考答案,编译器使用的是Keil uVision4提示:查看C51编译生成汇编代码的方法有两种:①在调试时,查看反汇编窗口;②在工程属性的“列表(Listing)”选项卡中将复选框“包含汇编代码(Assembly Code)”勾中,重新编译后再打开跟C51文件同名的lst文件(*.lst)。

(1)查看编译结果,写出加注释的那条赋值语句所对应的汇编代码。

MOV Temp(0x08), #0x23(2)将Temp变量定义中的char先后改为short int、long int,再回答第1问;并说明编译结果(Build Output)窗口中单片机资源使用情况处的data使用情况有何变化。

(a)char改为short int:MOV Temp,#00HMOV Temp+01H,#023Hdata从10.0变为11.0(b)char改为short int:CLR AMOV Temp+03H,#023HMOV Temp+02H,AMOV Temp+01H,AMOV Temp,Adata从10.0变为13.0(3)将Temp变量定义中的data先后改为idata、pdata和xdata,再回答第1问。

(a)data改为idata:MOV R0,#LOW TempMOV @R0,#023H(b)data改为pdata:MOV R0,#LOW TempMOV A,#023HMOVX @R0,A(c)data改为xdata:MOV DPTR,#TempMOV A,#023HMOVX @DPTR,A(4)将Temp变量定义中的data改为code,编译能否通过,为什么?通不过,data改为code,表明变量Temp保存在ROM,但ROM是只读,不能写的,所以赋值语句Temp = 0x23;出错。

单片机应用技术任务工单答案任务工单4

单片机应用技术任务工单答案任务工单4
键盘列扫描法的程序设计流程图
2
3.小组讨论
引导问题 1:按键按照结构的不同,可分为哪几类? 答:按键按照结构的不同,可分为触点式按键和无触点式按键。 引导问题 2:键盘按照接口原理的不同,可分为哪几类? 答:键盘按照接口原理的不同,可分为编码键盘和非编码键盘。 引导问题 3:为什么要消除按键的抖动?有哪些方法可以消除抖动? 答:按键按下和松开都将产生抖动,同时也会产生干扰信号,这种干扰信号对数字电路 的影响很大,往往会导致计数的错误。防抖动的方法有硬件防抖动和软件防抖动。 硬件防抖动包括 RS 防抖动电路和 RC 防抖动电路。 软件防抖动是指在抖动产生期间增加相应的延时,使抖动刚好在延时期间完成。 引导问题 4:简述采用列扫描法识别矩阵式键盘按键的方法。 答:采用列扫描法识别矩阵式键盘按键的方法如下。 (1)首先判断是否有按键按下。 先使所有的列线输出低电平,然后读取所有行线的电平信号。若读取的行线电平全为高 电平,则无按键按下;否则,有按键按下。 (2)逐列扫描判断具体的按键。 依次使列线输出低电平,然后读取该列线上所有行线的电平信号。若读取的行线电平全 为高电平,则该列线所连接的按键没有按下;否则,该列线所连接的按键有按键按下。按下 的按键位于行、列线均为低电平的位置。 引导问题 5:简述采用列扫描法的矩阵式键盘程序应包含哪些功能,并画出其程序设计 流程图。 答:矩阵式键盘的程序一般采用列扫描法,程序功能一般包含以下几项。 (1)判断有无按键按下。 (2)消除按键的抖动。 (3)确定闭合键的位置(行、列号)。 (4)计算闭合键的键值。 (5)判断闭合键是否释放,若没释放则继续等待。 (6)保存闭合键的键值,同时转去执行该闭合键的功能。 矩阵式键盘列扫描法的程序设计流程如图 4-1 所示。

单片机应用技术-第4次作业

单片机应用技术-第4次作业

江苏开放大学形成性考核作业学号1xxxxxxxx姓名xxxx课程代码050087课程名称单片机应用技术评阅教师第 4 次任务共 4 次任务江苏开放大学单片机应用技术课程第4次形考作业—单片机大作业作业说明:第4次形考作业是单片机大作业报告,对应第11单元的学习内容。

是对整个单片机课程学习的检验。

完成日期年月日评语得分评阅时间评阅教师【单片机大作业要求】学习第11单元,阅读单片机大作业内容与指导,根据给出的5个课题,任意选择1个课题,学习对应的课题课件,根据指导完成实践环节:使用Proteus软件和Keil软件完成上机仿真调试运行。

参考大作业报告案例,完成单片机大作业报告。

直接截图PPT或讲义上的图和程序不算完成,抄袭截图或PS姓名不得分。

(纸上完成内容要求手写签名,软件完成内容要求电子签名)单片机大作业报告1.写出所选课题名称和设计内容(只能在5个课题中选择1个)。

(20分)【作答结果】所选课题名称:数码管显示设计内容:用数码管循环显示数字。

在AT89C51的P0口接一个共阴极数码管,循环显示数字0~9。

注意延时使数码管显示稳定。

2.在纸上画出所选课题的原理图并手写签名,拍照上传。

(30分)【作答结果】3.写出源程序。

可截图Keil中源程序(有电子签名)。

也可以将源程序写在纸上并手写签名,拍照上传。

(20分)【作答结果】4.根据原理图,用Proteus制作电路图,图上又有电子签名,全屏截图上传。

(15分)【作答结果】5.Proteus仿真调试结果截图,电子签名与4相同。

(15分)。

【作答结果】。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.
#include"reg52.h"
#define uchar unsigned char #define uint unsigned int sbit BUZZ=P1^6;
sbit led0=P0^0;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4
uchar a,n=0,RKEY=0;
void main()
{
ENLED=0;
ADDR3=1;
ADDR2=1;
ADDR1=1;
ADDR0=0;
EA=1;
ET0=1;
TMOD=0X21;
TH0=(65536-9216)/256;
TL0=(65536-9216)%256;
TH1=253;
TL1=253;
PT1=1;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
BUZZ=0;
led0=1;
while(1)
{
if(RKEY==1)
{
RKEY=0;
if(a==1)
{
TR0=1;
while(1)
{
if(n==20){n=0;BUZZ=~BUZZ;led0=~led0;}
if(RKEY==1){TR0=0;break;}
}
}
else if(a==2)
{
TR0=1;
while(1)
{
if(n==10){n=0;BUZZ=~BUZZ;led0=~led0;}
if(RKEY==1){TR0=0;break;}
}
}
else if(a==3)
{
TR0=1;
while(1)
{
if(n==5){n=0;BUZZ=~BUZZ;led0=~led0;}
if(RKEY==1){TR0=0;break;}
}
}
else {BUZZ=0;led0=~led0;}
}
}
}
void Interrupt_TRXD() interrupt 4
{
RI=0;
a=SBUF;
RKEY=1;
}
void Interrupt_timer0() interrupt 1
{
TH0=(65536-9216)/256;
TL0=(65536-9216)%256;
n++;
}
2.
#include"reg52.h"
#define uchar unsigned char #define uint unsigned int sbit BUZZ=P1^6;
sbit led0=P0^0;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
uchar a,n=0,RKEY=0;
void main()
{
ENLED=0;
ADDR3=1;
ADDR2=1;
ADDR1=1;
ADDR0=0;
EA=1;
TMOD=0X21;
TH1=253;
TL1=253;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
BUZZ=0;
led0=1;
while(1)
{
if(RKEY==1)
{
RKEY=0;
ES=0;
SBUF=n-2;
while(TI==0);
TI=0;
SBUF=a;
while(TI==0);
TI=0;
ES=1;
}
if(n==255){n=0;}
}
}
void Interrupt_TRXD() interrupt 4
{
RI=0;
a=SBUF;
RKEY=1;
n++;
}
3.
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit led0=P0^0;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
uchar i=0,n=0,flag=0;
uint a=0;
uchar b[2]={0,0};
uchar code aa[16]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,
0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E}; void main()
{
EA=1;
ENLED=0;
ADDR3=1;
TMOD=0X20;
TH1=253;
TL1=253;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
while(1)
{
if(flag==1)
{
a=b[1]*256+b[0];
while(1)
{
ADDR2=0;ADDR1=0;ADDR0=0;
P0=aa[a%10];
for(i=0;i<100;i++);
P0=0XFF;
ADDR2=0;ADDR1=0;ADDR0=1;
P0=aa[a/10%10];
for(i=0;i<100;i++);
P0=0XFF;
ADDR2=0;ADDR1=1;ADDR0=0;
P0=aa[a/100%10];
for(i=0;i<100;i++);
P0=0XFF;
ADDR2=0;ADDR1=1;ADDR0=1;
P0=aa[a/1000%10];
for(i=0;i<100;i++);
P0=0XFF;
ADDR2=1;ADDR1=0;ADDR0=0;
P0=aa[a/10000%10];
for(i=0;i<100;i++);
P0=0XFF;
if(flag==1){break;}
}
}
}
}
void Interrupt_TRXD() interrupt 4
{
if(RI)
{
REN=0;
b[n++]=SBUF;
RI=0;
if(n==2){flag=1;n=0;}
REN=1;
}
}。

相关文档
最新文档