单片机补充作业

合集下载

单片机作业

单片机作业

姓名:滕建国班级: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口内容的变化情况。

烟台大学单片机第3章作业及答案

烟台大学单片机第3章作业及答案

4、MOVC A , @A+DPTR与 MOVX A , @DPTR
指 令有何不同?
答: MOVC A , @A+DPTR: 为程序存储器内容送累加器指令.
MOVX A , @DPTR:为外部数据存储器
内容送累加器指令. 5、AJMP , LJMP, SJMP指令功能上有何不同? 答: AJMP是2KB范围内的无条件短跳转指令. LJMP是64KB范围内的无条件长跳转指令. SJMP是256B范围内的相对转移指令.
;(A)=58H ;(A)=72H
ADDC A , 40H
;(A)=8CH
第 3 章 MCS - 51单片机指令系统
10、设 A=83H , R0=17H , (17h)=34H,执行下面程序段后,
(A)=?
解: ANL A , #17H ;(A )= 03H
ORL 17H , A
XRL A ,@R0 CPL A 结果:( A ) = 0CBH
第 3 章 MCS - 51单片机指令系统
ORG
0000H
12、试编写一程序,
MOV
R0, #1FH
查找内部RAM
单元的20H~50H 中是否有0AAH
MOV R2,#49(31H);单元长度 LOOP: INC R0 @R0 #0AA, NEXT0 ;起始单元
MOV A, CJNE A,
这一数据,若
第 3 章 MCS - 51单片机指令系统
9.分析以下程序每一条指令执行结果: MOV MOV A, #25H ;(A)=25H ;(R1)=33H ;(40H)=1AH R1 , #33H
MOV 40H , #1AH
MOV R3 , #40H
ADD A, R1 ADDC A , @R3

补充作业

补充作业

(2)、设20H单元开始存放了以下10个数据:42H,51H,
53H,41H,43H,42H,49H,50H,41H,48H,
下列程序后,(1FH)= MOV R0,#20H MOV R7,#0AH LL2:MOV A,@R0 CJNE A, #41H, LL MOV 1FH, R0 SJMP COM LL: INC R0 DJNZ R7, LL2 MOV 1FH, #0FFH COM: SJMP $ H
5.SP=50H.,(50H)=22H, 子程序ASUB入口地址为0368H ORG 0684H HERE: ACALL ASUB SP=_______H,(SP)=---------H PC=___ ___ H (51H)=______ H (50H)=_____ H (52H)=______ H
CY=______.
ORL A, #08H
MOV 28H, A 等效的一条指令是_______或 H。
2.已知PSW=91H
(00H)=05H.
执行:
(11H)=06H.
(10H)=AAH
MOV A, #0C3H ADD A, R0 MOV R1, A 后
A=____ 。
6. CLR C MOV R2, #03H LOOP:MOV A, @R0 ADDC A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, LOOP JNC NEXT MOV @R0, #01H SJMP $ NEXT:DEC R0 LJMP $
设R0=20H,
R1=25H
当NUM1>NUM2时, M= H;N= H;CY= 当NUM1<NUM2时, M= H;N= H;CY= 当NUM1=NUM2时, M= H;N= H;CY=

单片机作业及参考答案

单片机作业及参考答案

习题1、BCD 码加法编程。

X 、Y 为4位压缩BCD 码,求 Z=X+Y 。

设X 存在片内RAM 40H 、41H 单元,Y 存在42H 、43H 单元,编程求 Z=X+Y ,并存入片内RAM 单元44H 、45H 、46H 。

ADB :MOV A ,40H ADD A ,42H DA A MOV 44H ,A MOV A ,41H ADDC A ,43H DA A MOV 45H ,A MOV A ,#0 ADDC A ,#0 MOV 46H ,A RET习题2:编程求双字节减法。

设X 、Y 存在片内 RAM 40H 起始单元,计算Z=X-Y 。

SUBD :CLR C MOV A ,40H SUBB A ,42H MOV 44H ,A MOV A ,41H SUBB A ,43H MOV 45H ,A MOV A ,#0 SUBB A ,#0 MOV 46H ,A RET 习题3:编程完成对DPTR 的减1操作.MOV A ,DPLCLR CSUBB A ,#1MOV DPL ,AMOV A ,DPHSUBB A ,#0MOV DPH ,A习题4:如何将累加器A 中的数据高4位清0,低位不变?ANL A ,#0FH习题5:如何将寄存器R2中的数据奇数位取反,偶数位不变?MOV A ,R2XRL A ,#10101010BMOV R2,A;取被加数低字节 ;加上加数低字节 ;BCD 十进制调整 ;保存和的低字节 ;取被加数高字节 ;加上加数高字节 ;BCD 十进制调整 ;保存和的高字节 ;求高字节进位 ;子程序结束 ;清借位标志;取被减数低字节;减去减数低字节;保存差的低字节;取被减数高字节;减去减数高字节;保存差的高字节;保存差的借位标志;;子程序结束习题:计算程序中转移指令的相对偏移量 e ,并判断是否超出转移范围。

地址源程序2130H LOOP:……21B0H SJMP LOOP解:e = 目的指令地址-(转移指令地址+指令字节数)= 目的地址-PC当前值=2130H-(21B0H+2)=-130﹤-128故超出转移范围。

at89s51单片机作业a89s51单片机作业at89s51单片机作业at89s51单片机作业

at89s51单片机作业a89s51单片机作业at89s51单片机作业at89s51单片机作业
2.试编一程序对外部RAM3000H单元的第0位置1,第7位清零 其余各位求反。
MOV DPTR,#2000H
xxxxxxxx
MOVX A,@DPTR
∨ 00000001
ORL A,#01H
xxxxxxx1
ARL A,#7FH XRL A,#7EH
∧ 01111111 0xxxxxx1
MOVX @DPTR,A
1 )设有100个单字节数组成的数据块 ,存放在外部RAM中其起始 地址为1000H ,将数据块传送至6000H为起始地址的区域中。
程序: ORG 0000H
MOV R0,#64H MOV DPL,#00H
LOOP: MOV DPH,#10H
DJNZ R0 ,LOOP
SJMP $
END
MOVX A,@DPTR
2)A > 20; CLR C CJNE A, #14H ,L0
SJMP FINISH
L0: JNC COMP
COMP :XXXXXXX
FINISH :XXXXXXX
第四章 作业讲解
1.试编一程序若累加器A中内容分别满足一下条件 , 则程序转至 标号为COMP的存储单元 。设A中为无符号数
3)A ≤ 20;
第2章 作业
P40
2 ,3 ,4 ,6 ,7
第3章 作业1
1.将寄存器R2中的内容传送到寄存器R1中
(R2→R1) ;
2.片外RAM(0030H) →R1; 3.片外RAM(0030H) →片内RAM(30H); 4.片内RAM(30H) →片外RAM(2000H) ; 5.ROM(1000H) →R0; 6.ROM(1000H) →片外RAM(0020H) ; 7.ROM(1000H) →片内RAM(20H) ; 8.片外RAM(1000H) →片外RAM(2000H);

部分单片机原理补充习题答案

部分单片机原理补充习题答案

部分单片机原理及应用补充习题答案第一章补充习题6、已知下列整数的补码,求其真值:(3)[Z]补=11100000B,则真值Z= -0100000 B= -32 D(4)[S]补=00110001B,则真值S= +0110001 B= +49 D(5)[X]补=10101101B,则真值X= -1010011 B= -83 D7、已知[X]补和[Y]补的值,用补码加减法计算[X+Y]补和[X-Y]补,并指出结果是否溢出。

(4)[X]补=1.10011 [Y]补=0.11001解:[-Y]补=1.00111①加法[X]补+[Y]补[X]补 1. 1 0 0 1 1+ [Y]补0.1 1 0 0 10. 0 1 1 0 0 Cin=1 Cout=1 无溢出②减法[X]补+[-Y]补[X]补 1. 1 0 0 1 1+ [-Y]补 1. 0 0 1 1 10. 1 1 0 1 0 Cin=0 Cout=1 溢出(下溢出)8、给出x和y的二进制值,用补码加减法计算X+Y和X-Y,并指出结果是否溢出(3)X=+1110110 Y=-1001101解:[X]补=01110110 [Y]补=10110011 [-Y]补=01001101①加法[X]补+[Y]补[X]补0 1 1 1 0 1 1 0+ [Y]补1 0 1 1 0 0 1 10 0 1 0 1 0 0 1Cin=1 Cout=1 无溢出,[X+ Y]补=00101001 ,∴X+Y=+0101001B= 41D②减法[X]补+[-Y]补[X]补0 1 1 1 0 1 1 0+ [-Y]补0 1 0 0 1 1 0 11 1 0 0 0 0 1 1Cin=1 Cout=0 溢出(上溢出),运算结果不表示[X-Y]补,不能从结果直接求取真值X -Y。

12、概念题:(1)AS CⅡ码,47H 。

(2)17H ,1、0、0 。

(3) -128-+127 ,0 —255 。

补充作业.

补充作业.

补充作业6
把以下汇编语言程序段翻译成机器语言代码,并说明程序的功能: ORG 0000H AJMP START ORG 120H START:MOV SP,#30H CLR C MOV A,31H SUBB A,41H MOV 51H,A MOV A,30H SUBB A,40H MOV 50H,A HERE:SJMP HERE END
补充作业1
1、80C51单片机片内包含 ROM、 RAM、 个 位的并行IO口、 个 位定时器/计数器、 个串行IO口和 个中断源。 2、以8位补码数的形式计算下列各式: (1)75+46 (2)56-84 (3)(-85)-(-37) (4)(-46)+(-23) 3、用一个16位二进制数表示浮点数,其中阶码占6位,尾 数占10位,其能表示的最大数是多少?精度是多少?
补充作业2ຫໍສະໝຸດ 1、简述80C51单片机内部有哪些主要逻辑部件及各逻辑 部件的主要功能。 2、分类总结80C51单片机外部引脚及其主要功能。
3、总结80C51单片机具有第二功能的外部引脚及其第二 功能。
补充作业3
1、80C51单片机内部RAM的寄存器区共有 单元, 分为 组,每组 个单元,名称为 。 2、程序状态字PSW各位的符号及意义。 3、归纳总结80C51单片机的物理存储空间和逻辑存 储空间,并指出它们在使用上如何进行区分。
补充作业4
1、堆栈有哪些功能?堆栈指示器(SP)的作用是什么? 为什么在程序设计中,要对SP重新赋值?
2、80C51单片机的四个IO口在使用上有哪些分工? 并比较各个IO口的特点。
3、简述振荡周期、状态周期、指令周期 的关系。
补充作业5
1、80C51单片机的指令有
字节、

单片机附加习题

单片机附加习题

二、判断题
1、片内RAM与外部设备统一编址时,需要专门旳输入/输出指令。 (×)
统一编址旳特点正是无需专门旳输入输出指令。
三、简答题
1、具有8位辨别率旳A/D转换器,当输入0V-5V电压时,其最大 量化误差是多少?
答:对于8位A/D转换器,实际满量程电压为5V,则其量化单 1LSB=5V/255≈0.0196V,考虑到A/D转换时会进行4舍5入处理, 所以最大量化误差为±(1/2)LSB,即±0.0098V或±9.8mV。
(2)作计数器时计数脉冲由外部信号经过引脚P3.4和P3.5 提供。
三、简答题
8、8051定时器旳门控信号GATE设置为1时,定时器怎样开启? 答:只有/INT0(或/INT1)引脚为高电平且由软件使TR0(或
TR1)置1时,才干开启定时器工作。 9、简述单片机系统扩展旳基本原则和实现措施。
答(1)以P0口作地址/数据总线,此地址总线是系统旳低8位 地址线。 (2)以P2口旳口线作高位地址线。(不固定为8位,需要几位就 从P2口引出几条口线。) (3)控制信号线: ① 使用ALE作为地址锁存旳选通信号,以实现低8位地址旳锁存。 ② 以/PSEN信号作为扩展程序存储器旳读选通信号。 ③ 以/EA信号作为内外程序存储器旳选择信号。 ④ 以/RD和/WR作为扩展数据存储器和I/O端口旳读写选通信号,
TMOD,#05H P1.2,$ THO,#00H TL0,#00H TR0 P1.2,$ TR0 R7,TH0 R6,TL0
三、简答题
3、串行数据传送旳主要优点和用途是什么? 答:(1)串行数据传送是将数据按位进行传送旳方式。
(2)其主要优点是所需旳传送线根数少(单向传送只需一 根数据线、双向仅需两根),对于远距离数据传送旳情况, 采用串行方式是比较经济旳。所以串行方式主要用于计算机 与远程终端之间旳数据传送。 4、MCS-51单片机旳存储器从物理构造上和逻辑上分别可 划为几种空间?

单片机补充习题

单片机补充习题

画出AT89S51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程主机发送数据过程如下:(1)将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。

(2)由主机向4个从机发出一帧地址址信息02H,第9位为1。

从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。

若相同,则清SM2=0,若不同则SM2不变仍为1。

(3)主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。

下图是四片2K×8位存储器芯片的连线图。

确定四片存储器芯片地址范围。

设从左至右RAM芯片号为#1,#2,#3,#4左下图是DAC0832的应用电路,DA转换时数字量FFH与00H分别对应于模拟量+5V与0V。

右下图给出了DAC0832的逻辑结构。

(1)将图中空缺的电路补充完整;(2)编写程序,产生图中所示锯齿波。

设有一个延时3.905ms的子程序DELAY可以直接调用。

DAC0832的逻辑结构(1)共6根线。

连线如图,如果WR2*与WR*或XFER*相连也给分。

ILE直接接+5V也正确。

(2) ORG 1000HMOV R0, #0FEH ;或:MOV DPTR, #FFFEHMOV A, #00H ;LOOP: MOVX @R0, A ;或:MOVX @DPTR, AINC A ;LCALL DELAY ;SIMP LOOP ;已给出器件如图,试连线,构成一个片外扩展16KB RAM的电路,并给出两片RAM的地址范围。

ADC0809与AT89S51单片机采用中断方式读取A/D转换结果的接口电路如下图所示,系统时钟为3MHz,模拟量输入仅选择IN0通道,编制单片机从上电复位开始的A/D 转换程序,将转换结果送片内RAM的30H单元。

第3章 补充习题

第3章 补充习题

MCS—51单片机指令系统补充习题一.单项选择题,从供选择的答案中选出正确的选项,并将标号填写到答题册中,每小题1分。

1.MCS-51汇编语言指令格式中,唯一不可缺少的部分是。

A.标号 B.操作码 C.操作数 D.注释2.MCS-51的立即寻址方式中,立即数前面。

A.应加前缀“/:”号B.不加前缀号C.应加前缀“@”号D.应加前缀“#”号3.下列完成8031单片机内部RAM数据传送的指令是。

A.MOVX A,@DPTR B.MOVC A, @A+PCC.MOV A,#data D.MOV direct,direct4.MCS-51的立即寻址的指令中,立即数就是。

A.放在寄存器R0中的内容 B.放在程序中的常数C.放在A中的内容D.放在B中的内容5.单片机中PUSH和POP指令常用来。

A.保护断点B.保护现场C.保护现场,恢复现场 D.保护断点,恢复断点6.MCS-51寻址方式中,操作数Ri加前缀“@”号的寻址方式是。

A.寄存器间接寻址 B.寄存器寻址 C.基址加变址寻址 D.立即寻址7.MCS-51寻址方式中,位寻址的寻址空间是。

A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROMD.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位8.MCS-51寻址方式中,直接寻址的寻址空间是。

A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROM D.片内RAM 00H--7FH的128字节和80H--FFH中的SFR9.执行指令MOVX A,@DPTR时,、脚的电平为。

A.高电平,高电平 B.低电平,高电平C.高电平,低电平 D.低电平,低电平10.主程序执行完ACALL后返回主程序后,堆栈指针SP的值。

A.不变 B.加2 C.加4 D.减211.单片机中使用MOVX A,@R1指令寻址数据存贮器1050H单元。

A.能直接B.不能C.与P2口配合能 D.与P1口配合能12.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是。

第3章 补充作业

第3章 补充作业

二、写程序
1.将DX,AX两寄存器中的数与BX,CX两寄存器中
存放的数相加,将和送入2050H开始的存储区中
2.将80H端口的内容取反后在输出到原端口 3.将BX寄存器的内容与CX寄存器的内容相乘, 并将乘积送回BX,CX两寄存器中 4.编程实现将2000H单元开始存放的3个字节的 数据送至2030H单元开始的存储区中
作业ห้องสมุดไป่ตู้
一、写指令 1. 将DI寄存器的内容减1 2.用一条指令使程序从中断服务程序返回 3.从80H端口读入数据送入AL 4.将3000H及3001H两单元内容与AX寄存器内 容相减,并将其差送回原单元 5.用指令实现AX寄存器内容不变,但使进位标 志CF置0 6.将2050H端口的内容读入CL 7.把BX内容压入堆栈 8.用一条逻辑指令使DX寄存器的高3位为1,其 余位不变 9.把AH内容取反 10.将AL的内容乘以3
3. 分析下列程序的功能,并对各条指令进行注释 LEA SI, STRNG1 LEA DI, STRNG2 MOV CX,20 CLD REP MOVS STRNG2, STRNG1 4. 执行下列程序后,AX的内容是多少?程序功能 是什么? MOV AX, 0085H MOV CL, 3 SHL AX, CL ADD AX, AX
三、分析程序
1.执行下列程序后,AX的内容是什么?完成了什 么功能? MOV AX, 5678H NOT AX INC AX 2. 执行下列程序后,DX寄存器的内容是什么?此 段程序具有什么功能? MOV DX, 0F0FH MOV BX, 4322H PUSH DX PUSH BX POP DX POP BX

单片机补充练习题共32页PPT

单片机补充练习题共32页PPT
单片机补充练习题
16、自己选择的路、跪着也要把它走 完。 17、一般情况下)不想三年以后的事, 只想现 在的事 。现在 有成就 ,以后 才能更 辉煌。
18、敢于向黑暗宣战的人,心里必须 充满光 明。 19、学习的关键--重复。
20、懦弱的人只会裹足不前,莽撞的 人只能 引为烧 身己的饭量自己知道。——苏联
41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——德国
43、重复别人所说的话,只需要教育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬

单片机第二次作业(二)2024

单片机第二次作业(二)2024

单片机第二次作业(二)引言概述:本文档旨在介绍单片机第二次作业的相关内容。

在本次作业中,我们将深入研究单片机的应用,包括IO口控制、定时器/计数器、中断控制、串行通信等方面的内容。

通过分析和实践,我们将学习到如何合理利用单片机的功能,实现各种实际应用。

正文:一、IO口控制1.1 了解IO口的基本概念及作用1.2 掌握IO口的配置和初始化方法1.3 实践:通过IO口控制LED灯的点亮和熄灭1.4 掌握输入输出状态的读取和设置方法1.5 实践:设计一个简单的IO口输入输出控制的应用二、定时器/计数器2.1 了解定时器/计数器的基本原理2.2 掌握定时器/计数器的配置和初始化方法2.3 实践:利用定时器实现LED灯的闪烁效果2.4 掌握定时器中断的使用方法2.5 实践:设计一个定时器中断控制的应用三、中断控制3.1 了解中断的基本概念和分类3.2 掌握中断向量表的构成和使用方法3.3 实践:编写中断服务函数,实现外部中断功能3.4 掌握中断优先级的设置方法3.5 实践:设计一个带有中断功能的实时监测系统四、串行通信4.1 了解串行通信的原理和常用通信协议4.2 掌握串口的配置和初始化方法4.3 实践:利用串口进行数据的发送和接收4.4 掌握串口中断的使用方法4.5 实践:设计一个串口通信的数据传输系统五、总结本文档介绍了单片机第二次作业的相关内容,包括IO口控制、定时器/计数器、中断控制、串行通信等方面的知识。

通过深入学习和实践,我们对单片机的应用有了更深入的了解。

希望通过这次作业的学习,能够提升大家的单片机编程水平,并能在实际应用中灵活运用相关知识。

特此总结。

单片机补充练习题PPT共32页

单片机补充练习题PPT共32页
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。
单片机补充练习题
6













7、翩翩新 来燕,双双入我庐 ,先巢故尚在,相 将还旧居。
8













9、 陶渊 明( 约 365年 —427年 ),字 元亮, (又 一说名 潜,字 渊明 )号五 柳先生 ,私 谥“靖 节”, 东晋 末期南 朝宋初 期诗 人、文 学家、 辞赋 家、散
1
0















谢谢!
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5-40 以中断方式,用汇编语言编写定时器T0方式0,1,2下,定时1ms 的程序。

设系统focs = 12MHz 。

解1:方式0 确定装入T0的常数。

机器周期为: 设所需初值为x ,则 =1C18H = 1 1100 0001 1000B根据13位定时器的特性,TH0放x 的高8位,TL0放低5位,我们将x 值重排如下:x = 1110 0000 1 1000,即得本任务的时间常数为:TH0 = E0H ,TL0 = 18H 。

ORG 0000HAJMP MAINORG 000BHLJMP TIME0INTORG 0050HMAIN : MOV SP ,#60HMOV TMOD ,#00HMOV TL0,#18HMOV TH0,#0E0HSETB ET0 ;允许T0中断SETB EA ;开放总中断SETB TR0 ;启动T1定时SJMP $TIME0INT : CLR T R0 ;禁止T0CLR E T0RETI ;中断返回ENDORG 0000HAJMP MAINORG 000BHLJMP TIME0INTORG 0050HMAIN : MOV SP ,#60HMOV TMOD ,#01HMOV TL0,#18HMOV TH0,#0F0HSETB ET0 ;允许T0中断SETB EA ;开放总中断SETB TR0 ;启动T1定时SJMP $TIME0INT : CLR TR0 ;禁止T0CLR ET0 s MHz μ112)(12=分频3613101101)2(--⨯=⨯⨯-x 7192102313=-=xRETI ;中断返回END解3:方式2确定装入T0的常数。

计数器每机器周期计数值加1,机器周期为:方式2为8位常数自动重装,每次溢出最大值为256μS,为编程方便,又减少中断次数,采用4次250μS的方法实现本任务。

其时间常数为:TH0 = 06H,TL0 =06H。

ORG 0000HAJMP MAINORG 000BHLJMP TIME0INTORG 0050HMAIN: MOV SP,#60HMOV R7,#4MOV TMOD,#02HMOV TL0,#06HMOV TH0,#06HSETB ET0 ;允许T0中断SETB EA ;开放总中断SETB TR0 ;启动T1定时SJMP $TIME0INT:DJNZ R7,RETURNCLR TR0 ;禁止T0CLR ET0RETURN:RETI ;中断返回END5-41 以中断方式,用汇编语言编写定时器T1方式0,1,2下,计数的程序。

设计数终值为N,说明在计数值不溢出的情况下,每种方式下N的最大值是多少。

解1:方式013位计数初值(8192-计数值)高8位为NH,低8位为NLORG 0000HAJMP MAINORG 001BHLJMP TIME1INTORG 0050HMAIN: MOV SP,#60HSETB F0 ;F0=1继续,F0=0停止计数MOV TMOD,#40HMOV TL1,#NHHMOV TH1,#NLHSETB ET1 ;允许T1中断SETB EA ;开放总中断SETB TR1 ;启动T1定时SJMP $TIME1INT:JNB F0,STOPT1MOV TL1,#NHHMOV TH1,#NLHSJMP RETURNSTOPT1:CLR F0CLR TR1 ;禁止T1CLR ET1RETURN:RETI ;中断返回END解2:方式116位计数初值(65536-计数值)高8位为NH,低8位为NL。

ORG 0000HAJMP MAINORG 001BHLJMP TIME1INTORG 0050HMAIN: MOV SP,#60HSETB F0 ;F0=1继续,F0=0停止计数MOV TMOD,#50HMOV TL1,#00HMOV TH1,#00HSETB ET1 ;允许T0中断SETB EA ;开放总中断SETB TR1 ;启动T1定时SJMP $TIME1INT:JNB F0,STOPT1MOV TL1,#NHHMOV TH1,#NLHSJMP RETURNSTOPT1:CLR F0CLR TR1 ;禁止T1CLR ET1RETURN:RETI ;中断返回END解3:方式2为8位计数(少用),计数值在TL1中设计数目标为NL。

NL EQU YYHORG 0000HAJMP MAINORG 001BHLJMP TIME1INTORG 0050HMAIN: MOV SP,#60HSETB F0 ;F0=1继续,F0=0停止计数MOV TMOD,#60HMOV TL1,#NLHMOV TH1,#NLHSETB ET1 ;允许T0中断SETB EA ;开放总中断SETB TR1 ;启动T1定时SJMP $TIME1INT:JNB F0,STOPT1SJMP RETURNSTOPT1:CLR F0CLR TR1 ;禁止T1CLR ET1RETURN:RETI ;中断返回END方式0、1、2的最大计数值分别为8192、65536和256。

5-42设中断请求源已接好,外部中断0用电平触发方式,外部中断1用下降沿触发方式,用汇编语言编写它们响应并处理中断的程序。

处理内容可用NOP指令表示。

注意比较两者的异、同。

解1:外部中断0用低电平触发方式ORG 0000HAJMP MAINORG 0003HLJMP INT0INTORG 0050HMAIN: MOV SP,#60HSETB EX0 ;允许外部中断0中断CLR IT0SETB EA ;开放总中断SJMP $INT0INT:NOPRETI ;中断返回END解2:外部中断1用下降沿触发方式ORG 0000HAJMP MAINORG 0013HLJMP INT0INTORG 0050HMAIN: MOV SP,#60HSETB EX1 ;允许外部中断1中断SETB IT1SETB EA ;开放总中断SJMP $INT0INT:NOPRETI ;中断返回END两者对称,只需0,1对调,清IT0,置IT1。

5-43要求发送用查询方式,接收用中断方式。

用汇编语言编写在方式1,2,3下,51机串口发送和接收一帧数据的程序。

设发送和接收的数据都在R5中。

注意:设系统focs = 11.0592MHz,在波特率可变方式下,波特率取9600(Baud),一律不用PCON加速。

解1:方式1发送不用PCON加速时,定时器T1用方式2,查表5-6或计算,T1常数为FDHORG 0000HAJMP MAINORG 0050HMAIN: MOV SP,#60HMOV SCON,#40HMOV PCON,#00HMOV TMOD,#20HMOV TL1,#0FDHMOV TH1,#0FDHSETB TR1 ;启动波特率MOV SBUF,R5WAIT:JBC TI,STOPSJMP WAITSTOP:SJMP $ ;动态停机END方式1接收程序为ORG 0000HAJMP MAINORG 0023HLJMP SERINTORG 0050HMAIN: MOV SP,#60HMOV SCON,#50HMOV PCON,#00HMOV TMOD,#20HMOV TL1,#0FDHMOV TH1,#0FDHSETB ES ;允许串口中断SETB EA ;开放总中断SETB TR1 ;启动波特率SJMP $SERINT:CLR RIMOV R5,SBUFRETI ;中断返回END解2:方式2发送不用计算定时器T1常数。

ORG 0000HAJMP MAINORG 0050HMAIN: MOV SP,#60HMOV SCON,#80H ;SM2=0MOV PCON,#00HMOV SBUF,R5WAIT:JBC TI,STOPSJMP WAITSTOP:SJMP $ ;动态停机END方式2接收程序为ORG 0000HAJMP MAINORG 0023HLJMP SERINTORG 0050HMAIN: MOV SP,#60HMOV SCON,#90H ;SM2=0MOV PCON,#00HSETB ES ;允许串口中断SETB EA ;开放总中断SJMP $SERINT:CLR RIMOV R5,SBUFRETI ;中断返回END解3:方式3发送:不用PCON加速时,定时器T1用方式2,查表5-6或计算,T1常数为FDH ORG 0000HAJMP MAINORG 0050HMAIN: MOV SP,#60HMOV SCON,#0C0H;SM2=0MOV PCON,#00HMOV TMOD,#20HMOV TL1,#0FDHMOV TH1,#0FDHSETB TR1 ;启动波特率MOV SBUF,R5WAIT:JBC TI,STOPSJMP WAITSTOP:SJMP $ ;动态停机END方式3接收程序为ORG 0000HAJMP MAINORG 0023HLJMP SERINTORG 0050HMAIN: MOV SP,#60HMOV SCON,#0D0H;SM2=0MOV PCON,#00HMOV TMOD,#20HMOV TL1,#0FDHMOV TH1,#0FDHSETB ES ;允许串口中断SETB EA ;开放总中断SETB TR1 ;启动波特率SJMP $SERINT:CLR RIMOV R5,SBUFRETI ;中断返回END。

相关文档
最新文档