单片机原理与应用-赵德安.pdf

上传人:l**** 文档编号:72858566 上传时间:2023-02-13 格式:PDF 页数:30 大小:1.47MB
返回 下载 相关 举报
单片机原理与应用-赵德安.pdf_第1页
第1页 / 共30页
单片机原理与应用-赵德安.pdf_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《单片机原理与应用-赵德安.pdf》由会员分享,可在线阅读,更多相关《单片机原理与应用-赵德安.pdf(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1/30 单片机原理与应用 第 1 章 微机基础知识 考试知识点:1、各种进制之间的转换(1)各种进制转换为十进制数 方法:各位按权展开相加即可。(2)十进制数转换为各种进制 方法:整数部分采用“除基取余法,小数部分采用“乘基取整法。(3)二进制数与十六进制数之间的相互转换 方法:每四位二进制转换为一位十六进制数。、带符号数的三种表示方法()原码:机器数的原始表示,最高位为符号位(+1),其余各位为数值位。(2)反码:正数的反码与原码相同。负数的反码把原码的最高位不变,其余各位求反。(3)补码:正数的补码与原码相同.负数的补码为反码加。原码、反码的表示范围:7+127,补码的表示范围:128+

2、27。3、计算机中使用的编码()BD码:每位二进制数对应位十进制数。(2)ASCII码:7 位二进制数表示字符。09的 ASCII码 3H39H,A 的 ASCII码1H,a 的SCI码 6H。考试复习题:1、求十进制数-02 的补码(以 2位 16 进制数表示),该补码为 。2、123=H.、只有在_码表示中 0 的表示是唯一的.4、真值000000B 的反码为 ;其补码为 .5、+0010B 的反码是 ;10011的补码是 。6、101.11转换成十进制数是()。()4665 (B)2。65 ()62 (D)21.6 7、D。0H转换成二进制数是()。(A)111101.0010 (B)1

3、1100。00101B(C)111.10B ()1100101B 8、7。5 转换成十六进制数是()。(A)94。8H (B)9.8H (C)11 ()9H 9、十进制 29的二进制表示为原码()A 111010 10101111 C 11101 01111 1、49D的二进制补码为.()A 10111 B 11101101 C 0100 D 11000 11、已知某数的 BCD 码为11 010 000 001 则其表示的十进制数值为()a)75H b)75 c)742H d)7542 2/30 第 2 章 SC5单片机的硬件结构 考试知识点:1、0C1单片机的内部逻辑结构 单片机是把P、存

4、储器、输入输出接口、定时计数器和时钟电路集成到一块芯片上的微型计算机,主要由以下几个部分组成。(1)中央处理器PU 包括运算器和控制器。运算电路以 AU 为核心,完成算术运算和逻辑运算,运算结果存放于 AC中,运算结果的特征存放于 PS中。控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。程序计数器 PC 是一个 16 位寄存器,P的内容为将要执行的下一条指令地址,具有自动加功能,以实现程序的顺序执行。(2)存储器 分类:随机存取存储器 RAM:能读能写,信息在关机后消失。可分为静态 R(M)和动态 RA(D)两种。只读存储器:信息在关机后不会消失。掩膜 ROM:信息在出厂时

5、由厂家一次性写入。可编程 PRO:信息由用户一次性写入。可擦除可编程 EPROM:写入后的内容可由紫外线照射擦除.电可擦除可编程 EEM:可用电信号进行清除和改写.存储容量:存储容量指存储器可以容纳的二进制信息量,M 位地址总线、N 位数据总线的存储器容量为 2MN位。801 单片机的存储器有内部 RAM(28B,高 128为专用寄存器)、外部AM(4KB)、内部 ROM(4K掩膜OM)、外部O(64KB)。()输入输出接口 4 个 8位并行/口(P0、P1、P2、P3)()其它资源 一个全双工串行口、5个中断源、2 个6位的定时/计数器、时钟电路。2、8051 单片机的信号引脚(1)电源部分

6、:VCC 接5V、VS接地。(2)时钟电路部分:TL1 和 XAL接晶振.个机器周期=6个状态12 个拍节 MZ的晶体机器周期 2us,2MH的晶体机器周期 1u。(3)I/O 口部分:8 位数据总线/地址总线低 8 位、P1-用户口、P2-地址高8 位、P3第二功能。()控制部分:地址锁存控制信号LE,用于控制把 P口输出的低 8 位地址送入锁存器锁存地起来。外部程序存储器读选通信号 PSN,低电平有效,以实现外部O单元的读操作。访问程序存储器控制信号 EA,低电平时只读外部 R,高电平时先读内部 ROM,再读外部 RO。复位信号 RT,当输入的复位信号延续 2 个机器周期以上高电平时即为有

7、效。3/30 复位值:PC=000H,S=0,P00FH。3、内部AM 的基本结构与功能 80C的内部数据存储器低 18单元区,称为内部 RAM,地址为07FH.(1)寄存器区(01FH)共分为 4 组,组号依次为 0、1、2、3,每组有个寄存器,在组中按 R7R0 编号。由 PSW 中 R、R0位的状态组合来决定哪一组。()位寻址区(2H2FH)可对单元中的每一位进行位操作,16 个字节单元共 12个可寻址位,位地址为 007FH.位起始地址 D=(字节地址-0H)*8(3)用户 RAM区(HFH)堆栈、缓冲区 堆栈是在内部 RAM中开辟的,最大特点就是“后进先出”的数据操作原则.两项功能:

8、保护断点和保护现场.两种操作:进栈和出栈。SP 堆栈指针,它的内容就是堆栈栈顶单元的地址。4、专用寄存器(内部数据存储器高2单元)(1)累加器(AC)(2)寄存器 B(3)程序状态字 C进位标志位,最高位的进位或借位。AC-半进位标志位,低 4 位向高 4 位的进位或借位。OV-溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和减数符号相同,有溢出。P-中 1 的个数,奇数个 P1,偶数个=0。(4)数据指针PTR:80C1中惟一一个供用户使用的 16 位寄存器.高 8 位 D,低 8位DPL。考试复习题:1、C单片机的()口的引脚,还具有外中断、串行通信等第二功能。a)P

9、b)P1 c)P2 d)P3、单片机应用程序一般存放在()a)RAM )R )寄存器 d)PU 3、CPU主要的组成部部分为()a)运算器、控制器 b)加法器、寄存器 c)运算器、寄存器 d)运算器、指令译码器、80C51是()位的单片机 a)1 b)4 )8 )准 5、051 复位后,与 SP 的值为()0000H,)00H,07H c)003,07H d)0800,00H 6、80C5单片机中既可位寻址又可字节寻址的单元是()20H )30H )00H d)7H 、PSW=18H时,则当前工作寄存器是()A0 组 B。1组 。2 组 D 组 8、MC51 单片机外部有 40 个引脚,其中,

10、地址锁存允许控制信号引脚是 ()4/30(A)AL(B)PSEN(C)EA (D)RST 9、C中存放的是()A下一条指令的地址 B.当前正在执行的指令 C。当前正在执行指令的地址 D。下一条要执行的指令 1、MCS-51单片机的堆栈区应建立在().片内数据存储区的低 12字节单元 片内数据存储区 C.片内数据存储区的高 12字节单元 D.程序存储区 1、CS-51 单片机有片内 RM容量()A。B B 8KB C.2B D。6 12、MCS51 单片机的S1,RS=1 时,当前寄存器0R7 占用内部AM()单元。A。00H07H B。08H0FH C.0H17H D。18H1FH、单片机即一

11、个芯片的计算机,此芯片上包括五部分:运算器、_、_、输入部分、_。14、半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。15、在CS51单片机内部 RAM 中,字节地址范围是 2H 2FH 的区域称为 而字节地址范围是 30H 7FH 的一段区域称为 。16、MC-51 系列单片机内部数据存储器,即内AM 中位寻址区的地址范围是 工作寄存器区的地址范围是 。内0M 中寻址区的地址范围是 。17、若由程序设定 RS、S01,则工作寄存器 R07的直接地址为_。18、MCS5l单片机的堆栈区只可设置在 ,堆栈寄存器 5P 是 位寄存器。、P0、P1、P2、P四个均是_位的_口(填“串

12、行还是“并行”),其中 P0的功能是_;P口的功能是_;而_是双功能口;_是专门的用户口.20、程序状态标志字寄存器S中的 PS.的含义是 ;PSW0 的含义是 。21、当 MC-51 引脚 信号有效时,表示从0 口稳定地送出了低 8位地址.22、当 E接地时,MC-51 单片机将从_的地址0开始执行程序.23、1 个机器周期=个状态,1个状态=个拍节。24、MCS51系列单片机的内部资源有哪些?说出 803、01和 87的区别。25、简述累加器的 ACC 的作用。26、0C51 的振荡周期、机器周期、指令周期是如何分配的?当晶振频率为 6MHz 时,一个机器周期为多少微秒?27、开机复位后,

13、CPU 使用的是哪组工作寄存器?它们的地址是什么?CPU 如何确定和改变当前工作寄存器组?28、85单片机片内 256的数据存储器分为哪几个区?分别作什么用?2、851 单片机的程序存储器和数据存储器共处同一地址空间,为什么不会发生总线冲突?5/30 第章 单片机指令系统 考试知识点:1、寻址方式 ()立即寻址(dat,#da1)例:MOV,#0H()直接寻址(direc)内部 RAM:007H、特殊功能寄存器 例:MO A,00(3)寄存器寻址(A、B、DPTR)(4)寄存器间接寻址(、DPR)例:MO A,DPTR(5)变址寻址(A+DPTR,A+PC)例:MOVC A,+DPR()位寻址

14、(bit)02FH:007FH、特殊功能寄存器 例:MV,H(7)相对寻址(rel)例:Z rel 2、数据传送类指令(1)内部 RAM 数据传送指令 V 目的,源;目的源 交换指令:XCH,drecRnR;A 和源交换 XCD A,Ri;只换低 4 位 SWAP A;A 的高低位交换 注意:作目的操作数会影响 P。PUS direct POP di(2)外部 RM数据传送指令 MOX A,Ri/DPTR;外部地址内容A OVXRDPTR,;A外部地址内容(3)RO数据传送指令 MOC A,A+DTR/A+PC;查表指令 3、算术运算指令(1)加法指令 DD/DC A,da/drect/Rn/

15、Ri;会影响 CY、AC、OV、P INC A/dirct/Rn/RDPTR;加 1,P A A;十进制调整,大于 9 加(2)减法指令 SUB,#at dirct/Rn/i;会影响Y、A、P DE rect Rn/i;减 1()乘除指令 MUL B;(A)*(B)BA,会影响 C0,O,DIV AB;(A)/(B)的商A,余数、逻辑运算及移动指令(1)逻辑运算指令 ALRLXRL,#t irct/RnRi NL/ORLXL iect,/at 与清 0,或置,异或取反 CRCPL A;清 0 和取反()移位指令 RLRR/RLC/RRC A 6/30 注意:每左移一位相当于乘 2,每右移一位相

16、当于除 2,带进位的移会影响 C和 P.5、控制转移类指令()无条件转移指令 LJMP add16;adr16PC,64B AM addr11;(PC)+2,d11PC100,2KB SMP rel;(C)+2+relP,6B JM PR;(A)+(DR)C,64KB(2)条件转移指令 累加器 A判 0 转移指令 Z rel;为 JNZ rel;A 不为 比较不相等转移指令 CNE A/Ri,#data,re NE A,diret,rel 注意:第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY0,第一小于第二,CY=1。第一操作数和第二操作数相等,程序顺序执行,CY=。减 1不为

17、0转移指令 DJ/direct,rel;(n/drect)1不为 0,程序转移。(3)调用和返回指令 LCL addr;(PC)+3C,先入低 8位,再入高 8 位,adr16C ALL dr;(C)+2PC,先入低 8位,再入高位,add1PC100 T;先出高位,再出低位 6、位操作类指令()位传送指令 MOV,bit MOV bit,C(2)位赋值指令 CR C/bit TB C(3)位逻辑运算指令 NOL C,bit或bit PL Cit 注意:实现逻辑表达式()位控制转移指令 C rel;(CY)1 JNC re;(CY)=0 JB bit,rel;(b)=1 JNB bit,e;(

18、it)=0 JBC bit,rel;(bi)=1,转移,清 考试复习题:1、下列指令中不影响标志位 C的指令有().a)ADD A,20H b)R c)RC A d)INC A 2、当需要从 MCS51 单片机程序存储器取数据时,采用的指令为()。)MO A,R1 b)MOVC ,A+PTR 7/30 c)MOVX A,0 )MOV A,DPT 3、下列哪条指令是正确的()a)USH R b)ADD ,A c)OVX A DPTR d)OV R0,4、MOX ,R指令中,源操作数采用()寻址方式,指令作用在()区间。(A)寄存器,外部数据存储器 (B)直接,程序存储器 (C)寄存器间接,内部数

19、据存储器 (D)寄存器间接,外部数据存储器 5、在中断服务程序中,至少应有一条()A、传送指令 B、转移指令 C、加法指令 、中断返回指令、要用传送指令访问 80C51 外部A,它的指令助记符应是()、O B、MOVX C、MOV D、MVD 7、执行ALL 40指令时,8C51 所完成的操作是()A、保护 PC 、P4000 C、保护现场 D、C入栈,P4000H 8、以下运算中对溢出标志V 没有影响或不受 OV 影响的运算是()A、逻辑运算 B、符号数加减法运算 、乘法运算 D、除法运算 9、必须进行十进制调整的十进制运算()A、只有加法 B、有乘法和除法 、有加法和减法 D、只有减法 1

20、0、指令M的跳转范围是()A、56B 、K C、2KB D、1、执行 PUSH ACC指令,0C1完成的操作是()A、SP(P)+1 (P)(AC)B、(P)(C)S(SP)1 C、SP(S)-1 (SP)(ACC)D、(SP)(C)SP(P)+1 2、A7和 5B两个立即数相加后,和为(),(CY)是()。(A)1CH,0 (B)CH,0 ()02H,1 ()C1,1 3、若()=86H,(PSW)=0H,则执行 R A 指令后()(A)CH (B)B3H ()DH (D)6 14、如果(P0)=5H,则当 CPL P。2 SET MO P.,C 执行后(P0)()(A)1H ()75H (

21、)71 ()17H 15、80C单片机中,将累加器中的数送入外AM 的 40H 单元,可执行的指令()。(A)MO R1,4H (B)MOV R,#40 OVX R1,A MOX R1,A(C)MOVX H,(D)MOV R1,40H MOVX R,A 16、ORG 2000 LACLL 3000H R 300H RT 上边程序执行完ET指令后,PC=()A。200 3000H 2H .33H 8/30 1、JNZ R指令的寻址方式是()A。立即寻址 B.寄存器寻址 C.相对寻址 D。位寻址 8、下面哪条指令产生WR信号()A。MOVX A,DPTR .MOC A,PC 。OVC A,A+DP

22、TR D.MOX DPTR,A 1、MOVX A,DTR指令中源操作数的寻址方式是()A 寄存器寻址 B.寄存器间接寻址 .直接寻址 D。立即寻址 0、已知累加器 A 的数值为 98H,它与 0FAH 相加,相加后会影响标志位 CY、A和 OV位。各个位的值是()。(A)0、0、()1、0、1 (C)1、(D)、1、0 21、R 003H LJP 200H ORG 00BH LJMP 30H 当 CPU响应外部中断 0 后,PC 的值是()A。00H .200H C。00B D。00H 22、假定设置堆栈指针P 的值为 37H,在进行子程序调用时把断点地址进栈保护后,P的值为()A、3 B、3

23、7H 、8H 、9H 3、要把 P0口高 4位变,低 4位不变,应使用指令()A.OL P0,#0F 。R P0,#0F0H C。NL P0,0F0H D。ANL P0,#0H 2、MS-51执行完 MOV ,#08H后,SW 的哪一位被置位()A B.F CO .P 25、对于指令 JNB 1H,其操作码为 80H,其操作数(即偏移量)为_.26、J 的操作码地址为 10H,e=20H,它的转移目的地址为 .27、执行下列程序段后,(P1)=_.M P1,#5H CP P.1 PL 1.CLR P1.6 ET P1 28、执行下列程序段后,(A)=_,(Y)=_。MOV A,5 RL A 9

24、、下列程序段执行后,(R0)=_,(EH)=_,(7F)=_。MOV R0,7EH MOV EH,FH OV 7FH,0 NC R0 1NC R0 1C 0 0、已知(SP)=60H,子程序 SBTRN 的首地址为 03,现执行位于 0123H 的CALL SUT双字节指令后,()=_,(1H)=_,(62H)_。9/30 31、ORL ,#0F0H 是将 A 的高 4 位置 1,而低 4 位 .2、SJP e 的指令操作码地址为 005H,65H,那么它的转移目的地址为 。33、假定(A)=0FH,(B)=12H。执行指令:DIV 后,Y 的内容为 ,OV 的内容为 。、假定(S)=4H,(

25、39H)=3H,(40)=0.执行下列指令:PP D PO L 后,DPTR 的内容为 ,P 的内容是 。35、下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A 中的结果是什么?设(0H)=35H,()=19H,(0)3H,(0)0FH.(1)OV A,8H;寻址方式:(A)=()ADD A,60H;寻址方式:(A)=(3)L A,R ;寻址方式:(A)=6、()=H,执行NL,9EH指令后,(A)(CY)=37、JZ REL为 2B指令,放于 1308H,转移目标地址是 134H,求偏移量 REL 8、若(A)=H,(R0)AAH,执行 AD A,R0 后,(A)=()=(OV

26、)(A)=39、若()=0H,(B)=A0H,执行 ML AB后,(A)=(B)=(CY)=(O)40、SJMP 0E7H为 2B指令,放于 F010H,目标地址=41、判断以下各条指令是否正确(L1 和 PRO为标号)(分)()MX R0,B (2)MOV A,30H (3)MOVX A,()ADDC ,R7 (5)U ,R2()AL#99H,3 (7)MO C,C。0 (8)L P0,3 ()B0,LL1 (0)CLLPROC 42、判断指令(或伪指令)正误(1)MOV 20H,R1 ()(2)D A,0H ()(3)。CLR A ()(4).MOVX 40H,#30H()()。ORG 0

27、00H ()(6).OVC +PC,()()。OVX A,200H()(8)。DJNZ dt,l ()(9).IN R5 ()(1).DEC DP ()(11)。MV ,2()(12)。SAP R1 ()(13)ET 200H ()(14)。JZ ,LOOP ()(15)DA R2 ()43、设(A)=8,0=28H,(28H)=18H,执行下列程序后,(A)10/30 ORL A,27H N ,2H XCHD ,R0 CP A 44、设(A)=38H,(0H)=9H,PW=0H,(B)=2H,填写以下中间结果。SB C ADC ,2H (A)=(CY)=(AC)RL A (A)=(CY)=(

28、P)L AB (A)=(B)=(V)=45、若(10)=0H,(11)=00H,(12H)=0FH,(13H)=00H,写出每一步指令运行结果 MOV ,10H (A)=,AL ,0H (A)=,MOV ,11H (A)=,ORL A,01H (A)=,MOV A,12H (A),XRL ,01H ()=,O ,3H (A)=,XRL ,A (A)=,(10)=,(11H),(12H)=,(13H)=6、MV 3H,60H MV R0,0 MOV A,30H M B,A MOV ,B (A)=,(R0)=,(B)=,7、MOV SP,#0H V A,#H (A)=,MV B,#02H ()=,

29、U A (),PUSH B (P)=,OP A POP B ()=,48、若 PSW=00H,当执行完下面三条语句后,PS应为多少?MV A,0FB OV PSW,1H ADD A,#FH 11/30 49、已知(R0)=20H,(0)10H,(P)=30H,(2)=20H,执行如下程序段后(40)=M 0,#11H MO A,R AD A,20H MOV PSW,#0H SUBB A,P0 XRL ,#45H MV 4H,A 50、设在 3H单元存有23H,执行下面程序:OV A,31 ANL A,#F V 41,MO A,31H ANL ,#F0H SAP A MV 2,A 则(41H)=

30、(4H)=51、若 PW0,执行下列程序后,PSW的各位状态如何?MOV A,0FB MOV PSW,1 DD A,#7F CY C O P F S1 52、位地址为 M、N、,程序如下:MO C,M NL ,M ,C MV C,M ANL C,N ORL O Y,C 求程序功能表达式:53、阅读下列程序并回答问题 CLR C O A,#9AH UB ,60H DD A,1H,DA A MO 62H,A(1)请问该程序执行何种操作?()已知初值:(60H)=3H,(1H)=6H,请问运行程序后:(62H)=()?12/30、已知(B)=3H,(A)=4H 在执行下列指令后,(SP)=_,内部

31、RA(5H)=_。MOV SP,#0H CCUSH B、执行下列程序后,(A)=_,(B)=_ _。MOV A,FHMO B,#6H ANL ,ASEB DDC A,B 5、设 RAM 中(256)=66H,(245H)=34H,OM 中(2456H)=5H,(2457H)=6H。请分析下面程序执行后各寄存器的内容。(A)_,(DPT)=_。MOV A,#1MV PR,245H MOVC A,A+DPT 第 5 章 汇编语言程序设计 考试知识点:、汇编语言的语句格式【标号:】操作码 【操作数】【;注释】标号:语句地址的标志符号。操作码:语句执行的操作内容,用指令助记符表示。操作数:为指令操作提

32、供数据。注释:对语句的解释说明。、伪指令 起始地址 O、结束 END、赋值 EQU、字节 DB、字W、空 DS、位 BT 3、汇编语言程序的基本结构形式()顺序结构(2)分支结构(3)循环结构:数据传送问题、求和问题 4、定时程序 例:延时 100ms 的子程序,设晶振频率 6MHZ。DELAY:MOV 5,2 LP2:MO R4,9 LP1:NO NOP DJ 4,OP1 DJNZ R5,LOOP RT 5、查表程序(1)要查找的数据在表中的位置给 A(2)表的首地址给 DPTR(3)MOVC A,A+PR(4)数据表 考试复习题:1、下列标号中,正确的标号是()。A。BT:B.EGIN:。

33、AD:D。STAB1:2、下列伪指令汇编后,存放数据 401H 的存贮单元分别是:_存放 4H,_存放 51H。RG 40H TM EQ 2000H 13/30 TAB1:S H BUF:451H 3、已知单片机晶振频率为Mz,假设、Y 为变量,当 X=_,=_时,下列程序执行时间最长,其最长值为_。MOV R6,;需个机器周期 DE1:MOV 7,#;需个机器周期 D0:DJN R7,D0;需 2 个机器周期 DNZ R6,D1 ;需 2 个机器周期 RT ;需个机器周期 4、设 R=20H,R15H,(20H)=80H,()=90H,(2)=A0H,(5H)0H,(2H)6FH,(2H)7

34、H,下列程序执行后,结果如何?并给出部分语句的注释。LR MOV 2,#3 LOOP:OV A,R0 AD ,1 MOV R0,A IC 0 INC R1 JZ R,LOP ;JNC NET ;MV R,#0 JM NET:DE R0 SJP (20H)=、(21)=、(H)=、(23)、CY=、A=、R0=、R1=、阅读下列程序,说明其功能。MOV R0,#daa MOV A,R0 RL A OV ,RL A R A A A,R1 MV 0,6、阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(5分)MR,#30H(;1)V A,6H ;(A)=AD,#47H;(A)=

35、,(CY)=,(AC)=DA A (;)=,(CY)=,(AC)MOVR1,A;(R1)=,(30H)=7、50H M5:MOV S,58H 14/30 2509H MV H,#0H 2CH MOV 11H,#0B 25 F AC LL XH ;P +2PC,701581001,1,SPSP PCSPSPSP PCSPaddrPC OV 20H,1H 214H M5A:SJMP 5A XHD:PSH 0H PSH 1 PP 0 POP 11 ET 问:()执行 POP 10H 后堆栈内容?(2)执行 M5A:SJ M5A后,(SP)=(20H)=、A程序存储空间表格如下:地址 000H 201

36、H 202H 200H。.。内容 3 06 5BH 4。已知:片内 RAM 的 20H 中为 01H,执行下列程序后(0H)=MOV A,2H NC MOV DPT,#2 VC A,A+DTR CL A MOV 30H,A SJMP 9、解读下列程序,然后填写有关寄存器内容()MO R1,48H MOV 48H,51H CN R1,#1H,00 JNC NEXT1 MOV ,#0FFH SJP NEXT2 NE:OV A,0AAH EXT2:SJP NEXT2 累加器 =()()MOV A,#0FBH MV PSW,1H ADD A,7FH 若 PW=00,当执行完上述程序段后,将 PS各位状

37、态填入下表:CY F0 S O F P 15/30 10、内部 RAM 从 lt 单元开始存放一单字节正数表,表中之数作无序排列,并以-1 作结束标志.编程实现表中找出最小值。MOV R0,LIT OV A,R0 MOV MN,A LOP5:C MOV A,R _,LOP3 ET LOO:J A,MIN,LOP1 OOP1:_ LOOP MOV MIN,OOP2:SJP LOOP 1、设两个十进制数分别在内部 RAM40H单元和 50单元开始存放(低位在前),其字节长度存放在内部H 单元中。编程实现两个十进制数求和,并把求和结果存放在 4H开始的单元中。M R0,#40H O,50 OV R2

38、,#30 _ LOO:MO,R ADDC,R _ MOV R0,A INC R0 NC R1 JZ R2,LOP ET 1、比较两个 ASI码字符串是否相等。字符串长度在内部 RAM单元,两字符串的首地址分别为H、50。如果两个字符串相等,置 CY=1,否则,置 C=0。MOV R,40H MV R1,#50HMOV 2,3FH OO:A,R0LR _,R1NZ LP2INC R0 IC R1 _,LOOPB C RT LOOP2:CLR CET 1、将以表格形式存放在从ale 开始的内部单元中的 8 个单字节正数求平均值.OV R0,TABE MOV R,#MOV R4,0 LOOP1:MO

39、V A,0 _ MV 4,A INC DJNZ R2,LOOP1 16/30 MOV B,8 _ ET 1、分析下列程序的功能,并给出部分语句的注释。SRT:MOV R,40H O R7,09H MV ,R0 LOOP:INC R0 ;MOV 0H,R0 NE A,30,NEX ;NEXT:JN BIE ;MOV ,0H ;IE1:DJNZ R7,O ;MOV 0H,A ;REI 15、已知在累加器中存放一个 BCD数(09),请编程实现一个查平方表的子程序。16、请使用位操作指令实现下列逻辑操作:BIT(10HP1。0)(11HC)7、已知变量存于 VAR单元,函数值 Y存于 FU单元,按下

40、式编程求 Y 值。Y=100100 xxx 1、已知在 R2中存放一个压缩的 BCD 码,请将它拆成二个 BC字节,结果存于UM 开始的单元中(低位在前).19、将存于外部AM 00H 开始的 50H数据传送00H的区域,请编程实现。20、编程将片内 RM30H 单元开始的 1B 的数据传送到片外AM300H 开始的单元中去.21、请将片外 RAM20H25H 单元清零 22、阅读程序并填空,形成完整的程序以实现如下功能。有一长度为字节的字符串存放在 8C51 单片机内部 RAM 中,其首地址为 40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。)源程序如下:OR 10

41、00H M R0,0H MV 7,#1 NEXT:OV A,CALL SA MOV R0,A INC R0 Z ,NEXT P EPA:AD,00 PW.0,SRT ORLA,SRET:23、从内部 RAM0H 单元开始,有 1个单字节数据.试编一个程序,把其中的正数、负数17/30 分别送 40和 50开始的内部AM 单元。24、将字节地址0H3单元的内容逐一取出减 1,然后再放回原处,如果取出的内容为 00H,则不要减 1,仍将 0 放回原处。2、将 31H、32H 单元与 41 H、4H 单元的双字节十进制无符号数相加,结果存入32H,1H,3H 单元。26、编程实现字符串长度统计:设在

42、单片机内AM 中从TR 单元开始有一字符串以ASC II 码存放,该字符串以其值为H结束,试统计该字符串的长度,其结果存于 LN 单元.求平方子程序计算 X=a+2 2、片内 RA0H 开始的单元中有 10B的二进制数,请编程求它们之和。设和26。第 4 章 单片机的其他片内功能 考试知识点:、中断源和中断请求标志位 中断名称 中断请求标志 中断向量 外部中断 IE0 003H T0中断 TF 0B 外部中断 1 IE1 003H T1中断 TF1 001BH 串行发送中断 T 0023H 串行接收中断 RI 002H 2、和中断相关的寄存器的设置(1)定时器控制寄存器 TN 格式如下:位 D

43、7 D D5 D4 3 D D D0 CON T1 T1 TF TR T1 I0 0 位地址 F 8E 8D 8 B 8A 89 8 IT00,为电平触发方式。低电平有效.T1,为边沿触发方式。输入脚上电平由高到低的负跳变有效.I0=1,说明有中断请求,否则 IE0=0.(2)中断允许控制寄存器 IE 其各位的定义如下:位 D7 D6 5 D 3 2 D1 D0 代号 A S ET1 E ET0 EX A:开放或禁止所有中断。E:开放或禁止串行通道中断。ET1:开放或禁止定时/计数器 T1 溢出中断。EX:开放或禁止外部中断源。T0:开放或禁止定时/计数器溢出中断.X:开放或禁止外部中断源。(

44、3)中断优先级控制寄存器 IP 各位的定义如下:0INT0INT18/30 位 D7 D6 D5 D D3 D2 1 D0 代号 PS P1 PX1 PT PX0 1 为高优先级、0 为低优先级。如果同级的多个中断请求同时出现,则按U 查询次序确定哪个中断请求被响应。查询次序为:外部中断 0、T中断、外部中断 1、T1 中断、串行中断.3、响应中断的必要条件()有中断源发出中断请求.(2)中断允许寄存器 IE相应位置“”,CPU 中断开放(E1).(3)无同级或高级中断正在服务.(4)现行指令执行到最后一个机器周期且已结束。若现行指令为I 或需访问特殊功能寄存器E或 IP 的指令时,执行完该指

45、令且其紧接着的指令也已执行完。中断响应的主要内容是由硬件自动生成一条长调用指令,指令格式为“LALL ddr6”.这里的 add16 就是程序存储器中断区中相应中断的入口地址。4、中断程序设计(1)在 000处存放一条无条件转移指令转到主程序。(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。(3)设置触发方式(IT0IT)(4)设置 IE 和 IP。(5)设置 SP.(6)原地踏步。(7)中断服务子程序。最后EI.、定时计数的基本原理(1)定时功能:每个机器周期计数器加 1.(2)计数功能:T0(P。4)和 T1(P3。5)输入计数脉冲,每一来一个脉冲计数器加1.6、用于定时计数的

46、寄存器的设置()定时器控制寄存器 TCON 格式如下:位 D7 6 D5 D4 D D D D0 TCN F1 R1 TF0 R0 I IT IE0 I0 位地址 8F 8E 8D 8C 8B 8A 9 88 TF1、-计数溢出标志位.当计数器产生计数溢出时,由硬件置 1.采用查询方式,它是供查询的状态位。采用中断方式,作为中断请求信号。TR1、T0计数运行控制位。为 1 时,启动定时器计数器工作;为 0 时,停止定时器/计数器工作。(2)工作方式控制寄存器 TMD 其格式如下:19/30 GATE:门控位。当T=时,同时 INT为高电平,且 Tx 置位时,启动定时器,外部启动。当 GE=0时

47、,每当 TRx置位时,就启动定时器,是内部启动方式./T:选择定时器功能还是计数器功能.该位置位时选择计数器功能;该位清零时选择定时器功能.M1M0:这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式:1 M0 方式 说明 0 0 0 TLx 低 5位与 Tx 中位构成3位计数器 0 1 1 Lx 与 Tx构成 16位计数器 1 0 2 可自动再装入的 8 位计数器,当 TLx 计数溢出时,THx 内容自动装入Lx。1 1 3 对定时器,分成两个 8位的计数器;对定时器 1,停止计数。7、各种工作方式计数初值计算公式 方式:定时时间=(192计数初值)机器周期 计数次数=892

48、X 方式 1:定时时间 T=(5536计数初值)机器周期 计数次数 C=65536X 方式 2:定时时间=(56-计数初值)机器周期 计数次数 C=256-X、定时器程序设计 查询方式:(1)在00H 处存放一条无条件转移指令,转到主程序。()设置工作方式 TMOD。()设置计数初值.(4)启动定时计数。()等待时间到或计数计满。OOP:B F0TF1,LOOP1 SJ LP O1:(6)重新设置计数初值(除方式 2),再转第 5 步。中断方式:()在 0000H处存放一条无条件转移指令,转到主程序。(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。(3)设置工作方式MD。20/30

49、(4)设置计数初值。(5)启动定时计数。(6)设置 IE和 IP。(7)设置P.(8)原地踏步。(9)中断服务子程序.重新设置计数初值(除方式 2),最后ETI.例 选用定时器/计数器1 工作方式 0 产生 500定时,在1。输出周期为ms 的方波,设晶振频率6MHZ。()根据定时器/计数器 1的工作方式,对 TMOD 进行初始化。按题意可设:ATE=0(用 T1 位控制定时的启动和停止),(置定时功能),M1M0=00(置方式 0),因定时器/计数器 T不用,可将其置为方式 0(不能置为工作方式 3),这样可将MOD 的低 4 位置 0,所以(TMD)=00H。(2)计算定时初值(X)500

50、 X=7942111110000011 将低 5 位送 T,高 8位送 TH1得:(1)8,(L)=6H(3)编制程序(查询方式)O 000H LP MAIN OR 300H MAN:MO MD,00 ;TMO初始化 M 1,#0F8H ;设置计数初值 MO T1,06H ET TR1 ;启动定时 LOO:JC TF,LO ;查询计数溢出 AJMP OOP LOOP1:CL 1.;输出取反 OV TL1,#06H ;重新置计数初值 MOV TH1,0H AJM LP ;重复循环 END 例 用定时器计数器 T1 以工作方式 2 计数,要求每计满0 次进行累加器加 1操作。(1)TMOD初始化

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com