单片机指令MOV、MOVC、MOVX的区别与联系

这三条都是单片机内数据传送指令。但是它们操作的对象有所不同。

 1、MOV:MOV是内部数据传送指令,什么是内部数据传送呢?就是寄存器之间、寄存器与通用存储区之间的数据传送。

2、MOVX:MOVX是外部数据存储器(外部RAM)与累加器A之间的数据传送指令。因为内部与外部的RAM地址有重叠现象,所以需要用不 同的指令予以区分。

3、MOVC:MOVC是累加器与程序存储区之间的数据传送指令。它比MOV指令多了一个字母“C”,这个“C”就是“Code”的意思,翻译过来就是“代码”的意思,就是代码区(程序存储区)与A之间的数据传送指令。它可以用于内部程序存储区(内部ROM)与A之间的数据传送,也可以 用于外部程序存储区(外部ROM)与A之间的数据传送。因为程序存储区内外统一编址,所以一条指令就可以了。

关键字:单片机指令  区别与联系
来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/article_2016090829235.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

转载于:https://www.cnblogs.com/atcmepk/p/9389498.html

  • 15
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好很详细的资料,看了考试应该没问题的,大家快来下吧!单片机原理复习资料(一)  填空题: 1.MCS—51单片机引脚信号中,信号名称带上划线的表示该信号 或 有效。 2.通过堆栈操作实现子程序调用,首先要把 的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点送回 。 3.某程序初始化时使(SP)=40H,则此堆栈地址范围为 ,若使(SP)=50H,则此堆栈深度为 。 4.在相对寻址方式中,“相对”两字是指相对于 ,寻址得到的结果是 。在寄存器寻址方式中,指令中指定寄存器的内容就是 。在变址寻址方式中,以 作变址寄存器,以 或 作基址寄存器。 5.假定累加器(A)=49H,执行指令: 201AH: MOVC A,@A+PC 后,送入A的是程序存储器 单元的内容。 6.若(DPTR)=5306H,(A)=49H,执行下列指令MOVC A,@A+DPTR 后,送入A的是程序存储器 单元的内容。 7.假定(SP)=45H,(ACC)=46H,(B)=47H,执行下列指令: PUSH ACC PUSH B 后,(SP)= ,(46H)= ,(47H)= 。 8.假定(SP)=47H,(46H)=46H,(47H)=47H。执行下列指令: POP DPH POP DPL 后,(DPTR)= ,(SP)= 。 9.若(A)=56H,(R0)=56H,(56H)=56H。执行指令: ADD A,@R0 后,(A)= ,(CY)= ,(AC)= ,(OV)= 。 10.若(A)=0FFH,(R0)=46H,(46H)=0FFH,(CY)=1。 执行指令: ADDC A,@R0 后,(A)= ,(CY)= ,(AC)= ,(OV)= 。 11.假定(A)=45H,(B)=67H。执行指令: MUL AB 后,寄存器(B)= ,累加器(A)= ,(CY)= ,(OV)= 。 12.假定(A)=0FCH,(B)=35H。执行指令: DIV AB 后,累加器(A)= ,寄存器(B)= ,(CY)= ,(OV)= 。 13.执行如下指令序列: MOV C,P1.0 ANL C,P1.1 OR C,/P1.2 MOV P1.3,C 后,所实现的逻辑运算式为 。 14.假定addr11=00100011001B,标号MN的地址为2099H。执行指令: MN:AJMP addr11 后,程序转移到地址 去执行。 15.假定标号MN的地址为2000H,标号XY值为2022H。应执行指令: MN:SJMP XY 该指令的相对偏移量为 。 16.累加器A中存放着一个其值小于63的8位无符号数,CY清“0”后执行指令: RLC A RLC A 则A中数变为原来的 倍。 17.在MCS—51单片机系统中,采用的编址方式是 。MCS—51可提供 和 两种存储器,其编址方式为 ,扩展后其最大存储空间分别为 和 。对80C51而言,片内ROM和片外ROM的编址方式为 ,片外ROM的地址从 开始;片内RAM和片外RAM的编址方式为 ,片外RAM的地址从 开始。 18.为实现内外程序存储器的衔接,应使用 信号进行控制,对8031, EA= ,CPU对 进行寻址;对80C51, EA=1,CPU对 寻址。 19.访问内部RAM使用 指令,访问外部RAM使用 指令,访问内部ROM使用 指令,访问外部ROM使用 指令。 20.当计数器产生记数溢出时,定时器/记数器的TF0(TF1)位= 。对记数溢出的处理,在中断方式时,该位作为 位使用;在查询方式时,该位作为 位使用。 21.在定时器工作方式0下,计数器的宽度为 位,其记数范围为 ,如果系统晶振频率为6MHZ,则最大定时时间为 。 22.利用定时器/计数器产生中断时,应把定时器/计数器设置成 工作状态,当计数器设置成方式0时,记数初值应为 ;设置成方式1时,记数初值应为 ;设置成方式2或方式3时,记数初值应为 。 23.对单片机而言,连接到数据总线上的输出口应具有 功能,连接到数据总线上的输入口应具有 功能。 24.在多位LED显示器接口电路的控制信号中,必不可少的是 控信号和 控信号。 25.与8255比较,8155的功能有所增强,主要表现在8155具有 单元的 和一个 位的 。 26.单片机实现数据通讯时,其数据传送方式有 和 两种。串行数据传送方式分为 和 两种。 27.专用寄存器“串行发送数据缓冲寄存器”,实际上是 寄存器和 寄存器的总称。 28.在串行通讯中,若发送方的波特率为1200bps,则接收方的波特率为 。 29.D/A转换电路之前必须设置数据锁存器,这是因为 。 30.对于由8031构成的单片机应用系统,EA脚应接 ,中断响应并自动生成长调用指令LCALL后,应转向 去执行中断服务程序。 单选题: 1.80C51与8031的区别在于 内部ROM的容量不同 内部RAM的容量不同 内部ROM的类型不同 80C51使用EEPROM,而8031使用EPROM 2.PC的值是 A.当前指令前一条指令的地址 B.当前正在执行指令的地址 C.下一条指令的地址 D.控制器中指令寄存器的地址 3.假定(SP)=37H,在进行子程序调用时把累加器A和断点地址进栈保护后,SP的值为 A.3AH B.38H C.39H D.40H 4.在80C51中,可使用的堆栈最大深度为 A.80个单元 B.32个单元 C.128个单元 D.8个单元 5.在相对寻址方式中,寻址的结果体现在 A.PC中 B.累加器A中 C.DPTR中 D.某个存储单元中 6.在寄存器间接寻址方式中,指定寄存器中存放的是 A.操作数 B.操作数地址 C.转移地址 D.地址偏移量 7.执行返回指令时,返回的断点是 A.调用指令的首地址 B.调用指令的末地址 C.返回指令的末地址 D.调用指令下一条指令的首地址 8.可以为访问程序存储器提供或构成地址的有 A.只有程序计数器PC B.只有PC和累加器A C.只有PC、A和数据指针DPTR D.PC、A、DPTR和堆栈指针SP 9.若原来工作寄存器0组为当前寄存器组,现要改2组为当前寄存器组,不能使用指令 A.SETB PSW.3 B.SETB D0H.4 C.MOV D0H,#10H D.CPL PSW.4 10.执行以下程序段 MOV SP,#40H MOV B,#30H MOV A,#20H PUSH B PUSH ACC POP B POP ACC 后,B和A的内容分别为 A.20H,30H B.30H,20H C.40H,30H D.40H,20H 11.执行以下程序段 MOV R0,#70H MOV A,R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A 后,实现的功能是 A.把立即数70H循环左移3次 B.把立即数70H×10 C.把70H单元的内容循环左移3次 D.把70H单元的内容×10 12.下列叙述中,不属于单片机存储器系统特点的是 A.扩展程序存储器与片内程序存储器存储空间重叠 B.扩展数据存储器与片内数据存储器存储空间重叠 C.程序和数据两种类型的存储器同时存在 D.芯片内外存储器同时存在 13.如在系统中只扩展两片Intel2764,其地址范围分别为0000H~1FFFH、8000H~9FFFH,除应使用P0口的8条口线外,至少还应使用P2口的口线 A.6条 B.7条 C.5条 D.8条 14.下列有关MCS—51中断优先级控制的叙述中,错误的是 A.低优先级不能中断高优先级,但高优先级能中断低优先级 B.同级中断不能嵌套 C.同级中断请求按时间的先后顺序响应 D.同级中断按CPU查询次序响应中断请求 15.执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。从堆栈弹出的断点地址送给 A.A B.CY C.PC D.DPTR 16.中断查询确认后,在下列各种单片机运行情况中,能立即进行响应的是 A.当前指令是ORL A,Rn指令 B.当前正在执行RETI指令 C.当前指令是MUL指令,且正处于取指令机器周期 D.当前正在进行1优先级中断处理 下列功能中不是由I/O接口实现的是 A.数据缓冲和锁存 B.数据暂存 C.速度协调 D.数据转换 18.为给扫描法工作的键盘提供接口电路,在接口电路中需要 A.一个输入口 B.一个输出口 C.一个输入口和一个输出口 D.两个输入口 19.下列理由中,能说明MCS—51的I/O编址是统一编址方式而非独立编址方式的理由是 用存储器指令进行I/O操作 有专用的I/O指令 有区分存储器和I/O的控制信号 I/O和存储器的地址可以重叠 20.把8155的A2、A1、A0分别与80C51的P0.2、P0.1、P0.0连接,则8155的PA、PB、PC口的地址可能是 A.××00H~××03H B.00××H~03××H C.××01H~××03H D.××00H~××02H 21.调制解调器(MODEM)的功能是 A.串行数据与并行数据的转换 B.数字信号与模拟信号的转换 C.电平信号与频率信号的转换 D.基带传送方式与频带传送方式的转换 22.通过串行口发送数据时,在程序中应使用 A.MOVX SBUF,A B.MOVC SUBF,A C.MOV SUBF,A D.MOV A,SUBF 23.通过串行口接收数据时,在程序中应使用 A.MOVX A,SBUF B.MOVC A,SUBF C.MOV SUBF,A D.MOV A,SUBF 24.在多机通讯中,有关第9数据位的说明中,正确的是 A.接收到的第9数据位送SCON寄存器的TB8中保存 B.帧发送时使用指令把TB8位的状态送入移位寄存器的第9位 C.发送的第9数据位内容在SCON寄存器的RB8中预先准备好 D.帧发送时使用指令把TB8位的状态送入发送SBUF中 25.在使用多片DAC0832进行D/A转换,并分时输入数据的应用中,它的两级数据锁存结构可以 A.提高D/A转换速度 B.保证各模拟电压能同时输出 C.提高D/A转换精度 D.增加可靠性 26.8279芯片与80C51接口电路时,其内部时钟信号是由外部输入的时钟信号经过分频产生的。如80C51的fosc=6MHz,8279为取得100KHz的内部时钟信号,则其定时值为 A.20D B.10D C.20H D.10H 分析程序后,回答问题。 若(A)=80H,R0=17H,(17H)=34H,执行下段程序后,(A)=? ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 写出程序执行后有关寄存器和RAM中有关单元的内容: MOV 30H,#A4H MOV A,#0D6H MOV R0,#30H MOV R2,#47H ANL A,R2 ORL A,R0 SWAP A CPL A XRL A,#0FFH ORL 30H,A 下列程序执行后,(SP)=? (A)=? (B)=? ORG 2000H MOV SP,#40H MOV A,#30H LCALL 2500H ADD A,#10H MOV B,A SJMP $ ORG 2500H MOV DPTR,#200AH PUSH DPL PUSH DPH RET 在程序存储器中,数据表格为: 1010H:02H 1011H:04H 1012H:06H 1013H:08H 执行程序 1000H:MOV A,#0DH 1002H:MOVC A,@A+PC 1003H:MOV R0,A 问结果:(A)=? (R0)=? (PC)=? 在程序存储器中,数据表格为: 7010H:02H 7011H:04H 7012H:06H 7013H:08H 执行程序 1004H:MOV A,#10H 1006H:MOV DPTR,#7000H 1009H:MOVC A,@A+DPTR 问结果:(A)=? (PC)=? 程序如下: CLR RS1 CLR RS0 MOV A,#38H MOV R0,A MOV 29H,R0 SETB RS0 MOV C,RS0 MOV R1,A MOV 26H,A MOV 28H,C ADDC A,26H 试问:(1)区分哪些是位操作指令?哪些是字节操作指令? (2)写出程序执行后有关寄存器和RAM中有关单元的内容。 设单片机采用6MHz晶振,计算如下一段程序的执行时间,并说明这段程序的作用。 MOV R0,#20H MOV R3,#05H MOV A,@ R0 CPL A ADD A,#01H MOV @ R0,A NEXT: INC R0, MOV A,@ R0 CPL A ADDC A,#00H MOV @ R0,A DJNZ R3,NEXT SJMP $ 用80C51单片机的P1端口作输出,经驱动电路接8只发光二极管,如图,输出位是“1”时,发光二极管点亮,输出“0”时为暗。试分析下述程序执行过程及发光二极管点亮的工作规律。 LP:MOV P1,#81H LCALL DELAY MOV P1,#42H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#18H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#42H LCALL DELAY SJMP LP 子程序: DELAY:MOV R2,#0FAH L1:MOV R3,#0FAH L2:DJNZ R3,L2 DJNZ R2,L1 RET 改错题: 把在R4和R5中的两字节数取补(高位在R4中): CLR C MOV A,R5 CPL A INC A MOV R5,A MOV A,R4 CPL A ADDC A,#00H MOV R4,A SJMP $ 问答题 单片机MCS—51系列产品80C51/87C51/80C31三种单片机区别是什么?如何选用? 试说明MCS—51单片机内部程序存储器中6个特殊功能单元(5个中断源和1个复位)的作用及在程序编制中如何使用? 内部RAM低128单元划分为哪3个主要部分?说明各部分的使用特点。 堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大? 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组? MCS—51单片机运行出错或程序进入死循环,如何摆脱困境? 在MCS—51单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线,为什么不会发生冲突? 一个定时器的定时时间有限,如何实现两个定时器的串行定时,以满足较长定时时间的要求? 使用一个定时器,如何通过软硬件结合的方法,实现较长时间的定时? 10.MCS—51单片机属哪一种I/O编址方式?有哪些特点可以证明。 11.多片D/A转换器为什么必须采用双缓冲接口方式? 12.说明利用MCS-51单片机的串行口进行多机通信的原理,应特别指出第9数据位在串行通信中的作用及在多机通信时必须采用主从式的原因。 单片机的fosc=12MHZ,要求用T0定时150μs,分别计算采用定时方式0、定时方式1和定时方式2时的定时初值。 单片机的fosc=6MHZ,问定时器处于不同工作方式时,最大定时范围分别是多少? 编程题: 程序实现c=a2+b2。设a、b均小于10,a存在31H单元,b存在32H单元,把c存入33H单元。 软件延时方法实现变调振荡报警:用P1.0端口输出1KHz和2KHz的变调音频,每隔1s交替变换一次。 使用定时器中断方法设计一个秒闪电路,让LED显示器每秒钟有400ms点亮。假定晶振频率为6MHz,画接口图并编写程序。 以80C51串行口按工作方式1进行串行数据通信。假定波特率为1200bps,以中断方式传送数据,请编写全双工通信程序。 以80C51串行口按工作方式3进行串行数据通信。假定波特率为1200bps,以中断方式传送数据,请编写全双工通信程序。 甲乙两台单片机利用串行口方式1通讯,并用RS—232C电平传送,时钟为6MHz,波特率为1.2K,编制两机各自的程序,实现把甲机内部RAM50H~5FH的内容传送到乙机的相应片内RAM单元。 设计一个80C51单片机的双机通信系统,并编写程序将甲机片外RAM3400H~3500H的数据块通过串行口传送到乙机的片外RAM4400H~4500H单元中去。 求8个数的平均值,这8个数以表格形式存放在从table开始的单元中。 在外部RAM首地址为table的数据表中,有10个字节的数据。编程将每个字节的最高位无条件地置“1”。 单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请编写程序。 假定单片机晶振频率为6MHz,要求每隔100ms,从外部RAM以data开始的数据区传送一个数据到P1口输出,共传送100个数据。要求以两个定时器串行定时方法实现。 用定时器T1定时,使P1.2端电平每隔1min变反一次,晶振为12MHz。 设定时器/计数器T0为定时工作方式,并工作在方式1,通过P1.0引脚输出一周期为2ms的方波,已知晶振频率为6MHZ,试编制程序。 若80C51单片机的fosc=6MHZ,请利用定时器T0定时中断的方法,使P1.0输出如图所示的矩形脉冲。 80C51单片机P1端口上,经驱动器接有8只发光二极管,若晶振频率为6MHZ,试编写程序,使这8只发光管每隔2s由P1.0~P1.7输出高电平循环发光。 从片外RAM2000H地址单元开始,连续存有200D个补码数。编写程序,将各数取出处理,若为负数则求补,若为正数则不予处理,结果存入原数据单元。 80C51单片机接口DAC0832D/A变换器,试设计电路并编制程序,使输出如图所示的波形。 PC/XT的D/A接口使用DAC0832。其有关信号接线如图所示,其输出电压V0和输入数字量DI7-DI0之间呈线性且如表所示。现要求V0从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。 七、画接口电路图: 1.以两片Intel2716给80C51单片机扩展一个4KB的外部程序存储器,要求地址空间与80C51的内部ROM相衔接,请画出接口图。 2.微型机PC的RS-232接口与MCS-51单片机程序通信接口的电路原理图。 3.MCS-51单片机系统中外部扩展程序存储器和数据存储器共用16位地址线和8位数据线,如何处理不会发生冲突?试画出MCS-51单片机外扩展ROM(2732EPROM)和RAM(6116)的系统接线原理图,并说明其工作过程。 一片6116芯片(2K×8)和一片27128芯片(16K×8)构成存储器系统,要求存储器的起始地址为0000H,且两存储器芯片的地址号连续,试画出连线原理图,并说明每一芯片的地址范围。 用74LS138设计一个译码电路,利用80C51单片机的P0口和P2口译出地址为2000H ~ 3FFFH的片选信号CS 。 用一片74LS138译出两片存储器的片选信号,地址空间分别为1000H~1FFFH,3000H~3FFFH。试画出译码器的接线图。 80C31单片机要扩展4K字节外部RAM,要求地址范围为1000H~1FFFH,请画出完整的电路图。
1. 微处理器的组成。运算器的组成。完整计算机的组成 2. 各寄存器的主要功能 3. 码制之间的转换 4. Bcd码 ASCII码中字符0-9 、A-Z、a-z的值 5. 原码反码补码之间的转换(含求真值问题) 6. 片内外程序、数据寄存器的大小(片外的最大可扩充量)和作用、起始地址 7. 控制信号引脚的含义 8. 端口引脚之复用功能 9. 三种不同的数据传送指令mov movc movx 10. 表2-3 2-7、图2-12 2-13 所涉相关知识 11. 那些寄存器可以按位寻址 12. 默认寄存器组的选择 PSW程序状态字各位之含义 12.堆栈与SP指针的移动 13.基本时序定时单位的名称概念及之间的关系 14.各寄存器复位值 两种复位操作方式 15.P0-3口的主要功能 16.寻址方式的含义 七种寻址方式 17.各种指令与伪指令的含义 指令对应机器码长度的判断 18. 汇编语言程序的四种结构形式 19. 中断与中断系统的概念 20.中断的主要功能 中断的全过程 中断源的个数与分类 中断响应的条件 中断所涉寄存器及其各位含义 中断矢量地址 21 各个控制寄存器的地址、作用和各位的含义、设置方式 22 定时器/计数器对应控制寄存器各位的含义 各个模式的特点,最大定时时间 23 三种系统总线特点 地址总线之线数与地址空间大小的关系 24. 两种通信方式、串行通信的三种传送方式的含义 25.各个控制信号线的含义和有效电平值 26.扩展数据存储器所用到的引脚及其作用 27. 讲过的例题和上机题 28.定时器、串行通信几种工作方式的意义 29.前向后向通道 A/D D/A 转换的含义 30.键盘的分类 行扫描法原理 31.判断一条汇编语言语句所对应机器码的长度 32.哈佛结构和普雷斯顿结构 全面复习所讲述内容。 考试题型含单项选择、填空、简答 上述为该门课程知识重点,与考试无直接关系 ----------------------- 2016年单片机课程知识重点全文共1页,当前为第1页。
ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 ORG 0100H MAIN: MOV SP,#60H ;设定堆栈 MOV TMOD,#01H ;定时器T0模式1 MOV TH0,#3CH ;加载高字节计数初值 MOV TL0,#0B0H ;加载低字节计数初值 SETB TR0 ;启动定时器T0开始计时 SETB EA SETB ET0 MOV 50H,#10 ;立即数10给存储单元50 LP: ACALL CHAIFEN ;调用拆分子程序 ACALL XIANSHI ;调用小时子程序 SJMP LP ;跳回到LP ORG 0200H CHAIFEN: ;拆分子程序 MOV R0,#51H ;立即数 51给R0 MOV R1,#58H ;立即数58给R1 MOV R7,#3 ;立即数3给R7 CF1: ;拆分1子程序 MOV A,@R0 ;将R0的值给A ANL A,#0FH ;取出后四位,给A MOV @R1,A ;将A的值给R1 INC R1 ;R1加1 MOV A,@R0 ;将R0的值给A SWAP A ;累加器高四位与低四位交换 ANL A,#0FH ;在取出A的低四位 MOV @R1,A ;将A的值给R1 ,累加器送内部RAM中 INC R1 ;寄存器R1加1 INC R0 ;寄存器R0加1 DJNZ R7,CF1 ;寄存器R7减1 不为0转移 RET ORG 0300H XIANSHI: ;小时子程序 MOV R1,#58H ;立即数58给R1 MOV R4,#01H ;立即数01给R4 MOV R7,#6 ;立即数6给R7 XS1: ;小时子程序1 MOV DPTR,#0FFDDH ;将OFFDDH 给DPTR MOV A,R4 ;将R4给A MOVX @DPTR,A ;将A给外RAM单元 RL A ;累加器左移一位 MOV R4,A ; MOV DPTR,#LEDTAB ; MOV A,@R1 ; INC R1 ; MOVC A,@A+DPTR ; MOV DPTR,#0FFDCH ; MOVX @DPTR,A ; MOV R6,#255 ;计数初值为255 DJNZ R6,$ ;寄存器减1不为0跳转 DJNZ R7,XS1 RET LEDTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ORG 0400H INTT0: PUSH ACC PUSH PSW SETB RS0 DJNZ 50H,DOWN ;减1不为0跳转DOWN MOV 50H,#10 MOV A,51H ADD A,#1 DA A MOV 51H,A CJNE A,#60H,DOWN MOV 51H,#0 MOV A,52H ADD A,#1 DA A ;十进制调整 MOV 52H,A CJNE A,#60H,DOWN ;累加器与立即数不等跳转 MOV 52H,#0 MOV A,53H ADD A,#1 DA A MOV 53H,A CJNE A,#24H,DOWN MOV 53H,#0 DOWN: CLR TR0 ;清0 MOV A,TL0 ADD A,#0B7H MOV TL0,A MOV A,TH0 ADDC A,#3CH MOV TH0,A SETB TR0 POP PSW POP ACC RETI END
目 录 第1篇 序 幕 单片机是什么?单片机有何用?如何系统学习单片机单片机系统设计的流程是怎样的,需要掌握哪些辅助软件?本篇将针对这些问题一一阐述,为读者掀开单片机完全学习与应用的华丽序幕。 第1章 单片机在哪里 1.1 ■寻找单片机 1.1.1 电磁炉与单片机 1.1.2 MP3播放机与单片机 1.1.3 更多单片机 1.2 ■学习单片机 1.2.1 掌握单片机基础知识 1.2.2 理解单片机系统 1.2.3 成为单片机系统设计师 1.3 ■单片机之家 1.3.1 Intel 8051单片机 1.3.2 PIC单片机 1.3.3 AVR单片机 1.3.4 其他单片机 1.4 ■应用体验——数字温度计 1.4.1 数字温度计工作原理 1.4.2 体验数字温度计 1.5 ■实例解读——装小球系统 1.5.1 需求分析 1.5.2 系统框架 第2章 如何成为单片机系统设计师 2.1 ■需要准备哪些 2.1.1 综合素质 2.1.2 软件工具 2.1.3 硬件工具之一:面包板 2.1.4 硬件工具之二:万用板和 印制电路板 2.1.5 焊接工具 2.1.6 焊接方法 2.2 ■单片机系统设计流程 2.2.1 需求分析 2.2.2 电路设计 2.2.3 程序设计 2.2.4 系统调试 2.3 ■应用体验——单片机控制下的 发光二极管 2.3.1 发光二极管工作原理 2.3.2 单片机的控制 2.3.3 体验单片机控制发光二极管 2.4 ■实例解读——反应时间测试仪 2.4.1 需求分析 2.4.2 电路设计 2.4.3 程序设计 第3章 单片机系统登场 3.1 ■单片机系统组成 3.1.1 单片机本身 3.1.2 系统的构成 3.2 ■单片机系统抽丝剥茧 3.2.1 AT89S51单片机的“外衣” 3.2.2 AT89S51单片机的管脚 3.2.3 常见外设 3.3 ■元器件插曲之一:变压器 3.3.1 变压器基础知识 3.3.2 电源变压器 3.4 ■元器件插曲之二:二极管与整流 3.4.1 二极管基础知识 3.4.2 整流 3.4.3 整流全桥 3.5 ■元器件插曲之三:电容 3.5.1 电容基础知识 3.5.2 电容的种类 3.5.3 电源滤波 3.6 ■元器件插曲之四:三端稳压与 单片机系统电源 3.6.1 三端稳压基础知识 3.6.2 单片机系统电源方案一: 自制直流稳压电源 3.6.3 单片机系统电源方案二: 电源适配器 3.6.4 单片机系统电源方案三: USB口供电 3.7 ■元器件插曲之五:晶振与振荡器 3.7.1 晶振基础知识 3.7.2 振荡器 3.8 ■诠释单片机最简系统 3.8.1 单片机最简系统 3.8.2 电源端(VCC、GND) 3.8.3 时钟信号端(XTAL1、 XTAL2) 3.8.4 复位端(RST) 3.8.5 外部程序存储器访问控制端 ( ) 3.8.6 从最简系统出发 3.9 ■元器件插曲之六:电阻 3.9.1 电阻基础知识 3.9.2 电阻的参数和种类 3.9.3 电阻的分压、限流、上拉作用 3.10 ■从单片机最简系统开始设计 3.10.1 发光二极管交替发光 3.10.2 程序设计 3.10.3 初见汇编语言 3.10.4 初识指令 3.10.5 立即数 3.11 ■应用体验——发光二极管的交替 发光 3.11.1 控制交替发光的原理 3.11.2 体验交替发光 3.12 ■元器件插曲之七:开关 3.12.1 开关基础知识 3.12.2 常用开关 3.13 ■实例解读——与发光二极管的 交互 3.13.1 需求分析 3.13.2 电路设计 3.13.3 程序设计 3.13.4 延时子程序 第4章 单片机系统设计辅助软件 4.1 ■Proteus单片机系统仿真软件 4.1.1 Proteus软件界面 4.1.2 用Proteus仿真 Vision单片机程序开发4.2 ■ Vision软件界面4.2.1 4.2.2 新建和保存项目 4.2.3 向项目中添加文件 4.2.4 汇编程序,生成执行代码 4.2.5 生成下载到单片机的执行 代码HEX文件 Vision的调试及仿真功能4.3 ■ 4.3.1 调试界面 4.3.2 虚拟逻辑分析仪 4.4 ■应用体验——把程序下载到 单片机里 4.4.1 下载器与单片机 4.4.2 体验下载过程 4.5 ■实例解读——流水灯 4.5.1 需求分析 4.5.2 电路设计 4.5.3 软件设计 第2篇 揭 密 单片机的内部结构是怎样的?单片机开发经常会用到哪些电子技术和元器件知识?还有那困扰了很多人的单片机编程语言……本篇将生动地通过诸多实例带出单片机的基础知识,在遇到相关模拟电路、数字电路、元器件知识时会有及时的补充说明,带领读者一点点揭开单片机的神秘面纱。 第5章 单片机的触角——I/O口 5.1 ■何谓I/O口 5.1.1 I/O口的功能 5.1.2 I/O口与单片机的关系 5.1.3 I/O口的操作 5.2 ■元器件插曲之八:场效应管 5.2.1 JFET 5.2.2 MOSFET 5.3 ■元器件插曲之九:逻辑门 5.3.1 非门 5.3.2 或门 5.3.3 或非门 5.3.4 与门 5.3.5 与非门 5.3.6 异或门 5.3.7 缓冲器 5.4 ■元器件插曲之十:锁存器与触发器 5.4.1 门控D锁存器 5.4.2 边沿D触发器 5.5 ■I/O口结构探密 5.5.1 P1口 5.5.2 P3口 5.5.3 P0口 5.5.4 P2口 5.5.5 I/O口小结 5.6 ■应用体验——控制流水灯 5.6.1 功能与电路 5.6.2 体验控制流水灯 5.7 ■实例解读——晃晃灯 5.7.1 原理分析 5.7.2 需求分析 5.7.3 电路设计 5.7.4 软件设计 第6章 七段数码管显示 6.1 ■二进制与数据 6.1.1 二进制与数字 6.1.2 二进制与语音 6.1.3 二进制与图像 6.2 ■元器件插曲之十一:七段数码管 6.2.1 七段数码管原理 6.2.2 七段数码管显示数字 6.3 ■应用体验——计时器 6.3.1 功能与电路 6.3.2 体验计时器 6.4 ■元器件插曲之十二:蜂鸣器 6.4.1 蜂鸣器 6.4.2 蜂鸣器如何工作 6.5 ■元器件插曲之十三:三极管及 三极管开关 6.5.1 三极管基础 6.5.2 三极管的直流放大特性 6.5.3 三极管的直流增益 6.5.4 三极管的电流关系式 6.5.5 三极管开关 6.6 ■实例解读——带声音提示的秒表 6.6.1 需求分析 6.6.2 电路设计 6.6.3 开关抖动的处理 6.6.4 计时中数字的增加 6.6.5 软件设计 第7章 解剖单片机 7.1 ■单片机的功耗 7.1.1 运行功耗 7.1.2 I/O口驱动功耗 7.1.3 空闲模式 7.1.4 待机模式 7.2 ■单片机内部结构 7.2.1 从I/O口到内部结构 7.2.2 数据在内部交换 7.2.3 算术逻辑单元(ALU) Vision中观察寄存器7.2.4 在 7.3 ■单片机的程序存储器 7.3.1 整体结构 7.3.2 程序下载到哪里 7.3.3 片内程序存储器 7.3.4 程序计数器PC 7.3.5 是片内还是片外程序存储器 Vision中观察程序存储器7.3.6 在 7.4 ■单片机的数据存储器 7.4.1 片内数据存储器 7.4.2 工作寄存器区(00H~1FH) 7.4.3 位寻址区(20H~2FH) 7.4.4 开放区(30H~7FH) Vision中观察数据存储器7.4.5 在 7.5 ■单片机的特殊功能寄存器 7.5.1 特殊功能寄存器分布图 7.5.2 特殊功能寄存器的功能 7.5.3 特殊功能寄存器的字节操作 7.5.4 特殊功能寄存器的位操作 Vision中观察特殊功能7.5.5 在 寄存器 7.6 ■应用体验——用取表方式实现 流水灯 7.6.1 取表法 7.6.2 取表法小结 7.6.3 体验流水灯 7.7 ■实例解读——直接驱动七段 数码管 7.7.1 需求分析 7.7.2 电路设计 7.7.3 软件设计 第8章 单片机与汇编指令 8.1 ■汇编语言真面目 8.1.1 汇编语言与高级语言 8.1.2 从汇编程序到执行代码 8.1.3 伪指令 8.2 ■指令的执行 8.2.1 振荡周期、机器周期、指令 周期 8.2.2 指令的执行 8.3 ■寻址方式 8.3.1 直接寻址 8.3.2 间接寻址 8.3.3 寄存器寻址 8.3.4 寄存器特征寻址 8.3.5 立即寻址 8.3.6 变址寻址 8.4 ■指令分类 8.4.1 指令概述 8.4.2 指令的长度 8.5 ■算术运算指令 8.5.1 加法指令——ADD A, <src-byte> 8.5.2 带进位的加法指令——ADDC A, <src-byte> 8.5.3 带借位的减法指令——SUBB A,<src-byte> 8.5.4 自增/自减指令——INC <byte> / DEC <byte> 8.5.5 乘法指令——MUL AB 8.5.6 除法指令——DIV AB 8.5.7 十进制调整指令——DA A 8.6 ■逻辑运算指令 8.6.1 与操作——ANL <dest-byte>,<src-byte> 8.6.2 或操作——ORL <dest-byte>,<src-byte> 8.6.3 异或操作——XRL <dest-byte>, <src-byte> 8.6.4 累加器A清0操作——CLR A 8.6.5 累加器A取反操作——CPL A 8.6.6 累加器A位移动操作——RL、 RLC、RR、RRC 8.6.7 累加器A高低位交换操作 ——SWAP A 8.7 ■数据装载指令 8.7.1 片内数据装载指令——MOV   <dest>, <src> 8.7.2 数据指针DPTR装载指令 ——MOV DPTR, #data16 8.7.3 堆栈指令——PUSH、POP 8.7.4 数据交换指令——XCH、 XCHD 8.7.5 片外数据装载指令——MOVX   <dest>, <src> 8.7.6 查表指令——MOVC  <dest>, <src> 8.8 ■布尔指令 8.8.1 清0、置1、取反操作——CLR、 SETB、CPL 8.8.2 布尔逻辑运算指令——ANL、 ORL 8.8.3 位数据装载指令——MOV <dest-bit>,<src-bit> 8.8.4 布尔跳转指令——JC、JNC、 JB、JNB、JBC 8.9 ■调用子程序指令 8.9.1 长调用指令——LCALL 8.9.2 绝对调用指令——ACALL 8.9.3 返回指令——RET、RETI 8.10 ■跳转与循环指令 8.10.1 无条件跳转指令——LJMP、 AJMP、SJMP、JMP 8.10.2 条件跳转指令——JZ、JNZ 8.10.3 比较跳转指令——CJNE <dest-byte>, <src-byte>, rel 8.10.4 循环指令——DJNZ <byte>,<rel-addr> 8.10.5 无操作指令——NOP 8.11 ■应用体验——七段数码管的串行 控制技术 8.11.1 串行与并行传输 8.11.2 串行控制七段数码管 8.11.3 程序设计 8.12 ■实例解读——指令应用(程序) 实例 8.12.1 数据求和 8.12.2 减法与二进制的二补数 8.12.3 异或操作指令XRL用于比较 寄存器数值 8.12.4 利用布尔指令产生矩形波 信号 8.12.5 布尔指令应用于控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值