没有合适的资源?快使用搜索试试~ 我知道了~
[详细完整版]2单片机总结.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 74 浏览量
2022-06-19
11:17:59
上传
评论
收藏 186KB DOC 举报
温馨提示
试读
12页
【1、数据总线 (Data Bus,DB):传送数据 ;双向 ;一般来说,微处理器的位数和数据总线的位数一致。地址总线Address Bus,AB) :在计算机中,通过地址来访问外设及存储器 ;单向 ;地址总线的数目决定了可以直接访问的内存储器的单元数目 。 控制总线 (Control Bus,CB):传送CPU发出的控制信号,也可以传送其他外设信号到微处理器;对于一条 具体的控制线,其方向是固定的 ;控制总线的数目与微处理器的位数没有直接关系,一般受引脚的限制,控制总线的数 目不会太多。 】 【1)ROM:掩膜编程的ROM简称为ROM,它的编程是由半导体制造厂家完成的,适合于大 批量生产的产品。2)PROM :在出厂时并未存储任何信息,用户只能写入一次(编程 一次)。(3)EPROM :可改写的现场编程ROM,整片一起擦除,能够重复编程;(EP:Erasable Programmable)用电信号编程,可用专门的编程器编程UVEPROM:用紫外线擦除的EPROM 。 EEPROM:用电信号进行内容擦除的EPROM 】【.单片微型机是由CPU存储器I/0接口三部分组成】 【PU主要由运
资源推荐
资源详情
资源评论
2 单片机总结
【1、数据总线 (Data Bus,DB):传送数据 ;双向 ;一般来说,微处理器的位数和数
据总线的位数一致。地址总线 Address Bus,AB) :在计算机中,通过地址来访问外设及存
储器 ;单向 ;地址总线的数目决定了可以直接访问的内存储器的单元数目 。
控制总线 (Control Bus,CB):传送 CPU 发出的控制信号,也可以传送其他外设信号到
微处理器;对于一条具体的控制线,其方向是固定的 ;控制总线的数目与微处理器的位数
没有直接关系,一般受引脚的限制,控制总线的数目不会太多。 】
【1)ROM:掩膜编程的 ROM 简称为 ROM,它的编程是由半导体制造厂家完成的,适合
于大批量生产的产品。2)PROM :在出厂时并未存储任何信息,用户只能写入一次(编
程 一次)。(3)EPROM :可改写的现场编程 ROM,整片一起擦除,能够重复编程;
(EP:Erasable Programmable)用电信号编程,可用专门的编程器编程 UVEPROM:用紫
外线擦除的 EPROM。
EEPROM:用电信号进行内容擦除的 EPROM 】【 .单片微型机是由 CPU 存储器 I/0 接口
三部分组成】 【PU 主要由运算器,控制器组成,CPU 中的布尔处理器用来处理位操
作,】【零标志 Z(ZeroFlag) :当运算结果为零时,Z 标志就置 1,否则,Z 就被置零。 两
个数是否相等。符号标志 S(SignFlag) :符号标志总是和运算结果中最高一位的值一致 。判
断有符号数的正负。有符号数运算时才有意义奇偶标志 P(Parlty F1ag):奇偶标志用来标记
运算结果中 1 的个数的奇偶性,可用于检查在数据传输中是否发生错误。 有奇校验和偶校
验之分】【单片机的特点:单片机的存贮器有片内存贮器和片外存贮器之分;单片机内的
ROM 和 RAM 严格分工;单片机有很强的位处理功能;单片机的引脚出线一般都是多功能
的;系列齐全,功能扩展性强。】【半导体存储器从工艺上分为双极型和 MOS 型两种。
双极型存储器的工作速度较快,但集成度较差。MOS 存储器的集成度较高,价格便宜。现
在一般用的半导体存储器都是 MOS 存储器。】 【只读存贮器(ROM)的信息在制造时或
通过一定的编程方法写入。在系统中通常只能读出不能写入;在断电时,其信息不会丢失
它用来存放固定的程序及数据,如监控程序、数据表格等。随机存取存储器 (RAM)信息
可读可写;可随时直接写入数据;掉电后信息丢失。RAM 有双极型和 MOS 型两种,MOS
存储器因其集成度高,功耗较低,价格便宜而得到广泛应用。】【 8 位 CPU,4K 字节在系
统可编程 Flash 存储器,程序存储器的寻址范围为 64KB,片外数据存储器的寻址范围为
64KB,片内带振荡器,振荡频率范围为 1.2~12MHz;可有时钟输出,128 个字节的片内数
据存储器,21 个字节专用寄存器,32 个可编程 I/O 口线,2 个 16 位定时器/计数器,5 个中
断源,两个优先级
一个全双工 UART 串行通道,可多机通信,111 条指令,含乘法指令和除法指令,有强位
寻址、位处理能力,片内采用单总线结构,用单一的+5V 电源。】【控制器是由指令寄存
器 IR、指令译码器 ID、程序计数器 PC、数据指针 DPTR、堆栈指针 SP、RAM 地址寄存器、
时钟发生器以及控制逻辑组成的】。【向上生长型堆栈出栈入栈的操作原则是“先进后出”
或“后进先出”。入栈操作规则为:先 SP 中的内容加 1,后写入数据;出栈操作规则为:先
读出数据,后 SP 中的内容减 1。主要用于数据传送;子程序调用及返回和中断处理断点的
保护及返回。】【8051 内部有两个 16 位可编程定时/计数器,记为定时器 To 和 T1。
在定时工作时,时钟由单片机内部提供,即系统时钟经过 12 分频后作为定时器的时钟。
计数工作作时,两个计数器的时钟脉冲(计数脉冲)由 T0 和 T1(即 P3.4 和 P3.5)两个引脚
输入。可以产生中断。】 【8051 的中断系统允许接受 5 个独立的中断源,即两个外部中
断申请,两个定时/计数器中断以及一个串行口中断。可以设置两个中断优先级,即高优
先级和低优先级,由中断优先控制寄存器 IP 来控制 】【物理上分为: 4 个空间,即片内
ROM、片外 ROM 片内 RAM、片外 RAM 逻辑上分为: 3 个空间,即程序内存(片内、外)
统一编址 MOVC 数据存储器(片内)MOV 数据存储器(片外)MOVX】【 0003H ——
2 单片机总结
外部中断 0 入口,000BH —— T0 溢出中断入口 ,0013H —— 外中断 1 入口,001BH ——
T1 溢出中断入口,0023H —— 串口中断入口】【00H~7FH:是真正的 RAM 区,可以读写
各种数据;
80H~FFH:是专门用做特殊功能寄存器(SFR)的区域。】【位寻址区是对字节存储器的有效
补充,通过位寻址可以对各个位进行位操作,可以用于开关量的控制。在程序设计阶段,
通常用于存放各种程序的运行标志、位变量等,位寻址是 51 单片机特有的功能,这种使用
方式大大提高了存储器的工作效率。 】【 P0 口是一个多功能的三态双向口,能驱动 8 个
LSTTL 负载。作通用 I / O 口输出时:是开漏输出,应外接上拉电阻 P1 口是一个准双向口,
它只作通用的 I/O 口使用,其功能与 P0 口作为通用 I/O 口时的功能相同。作为输出口使用
时,由于其内部有上拉电阻,所以不需要外接上拉电阻;P1 口能驱动 4 个 TTL 负载。P2
口也是一个准双向口 ,P2 口能带 3~4 个 TTL 负载。P3 口是一个多功能准双向口,第一功能
是作为通用的 I/O 口使用,其功能和原理与 P1 口相同。可以驱动 4 个 TTL 负载。第二功能
是作为控制和特殊功能口使用,可以字节访问也可以位访问,】【 1、P0 口:地址低 8 位
与数据线分时使用端口,2、P1 口:按位可编址的输入输出端口,3、P2 口:地址高 8 位输
出口 4、P3 口:用第二功能。若不用第二功能,也可作通用 I / O 口。】【复位状态:1.程
序计数器 PC 初始化为 0000H,使单片机从 OOOOH 单元开始执行程序。在运行中,当单
片机的程序受外界因素干扰陷入死循环或跑飞时,为摆脱困境,可将单片机复位,重新启
动。2.复位也可使单片机退出低功耗工作方式而进入正常工作状态。】【掉电保护方式:
其保护措施是:单片机系统在运行中突然掉电故障时,先保存重要的数据,然后启用备用电
源维持供电。】【80C51 单片机有两种功耗节电方式:空闲方式和掉电方式。空闲方式和
掉电方式都是由特殊功能寄存器中的电源控制寄存器 PCON 的有关控制位来控制的。】
【空闲方式的退出可采用两种方式:中断方式和硬件复位方式。退出掉电方式的惟一方法
是硬件复位】【51 单片机的时序单位共 4 个,从小到大依次是:节拍、状态、机器周期和
指令周期。一个状态包括两个节拍一个节拍的宽度实际上就等于一个振荡周期,一个机器
周期由 6 个状态周期组成。振荡周期 Tosc = 1/fosc 一个机器周期 = 12 个振荡周期 =
12×1/fosc 。例如:若 fosc = 12MHz,则一个机器周期 = 1μs。】【 51 单片机有 111 条指令,
概括为以下几种:单字节单机器周期指令、单字节双机器周期指令、双字节单机器周期指
令和双字节双机器周期指令,三字节指令都是双机器周期指令,而单字节乘除指令均为四
机器周期指令。】 【单片机与外部器件数据交换遵循原则:一是:地址唯一性,一个单元
一个地址。二是:同一时刻,CPU 只能访问一个地址,即只能与一个单元交换数据。不交
换时,外部器件处于锁闭状态,对总线呈浮空状态。】
【指令通常由两部分构成,即操作码和操作数】【5 大类 111 条。数据传送指令 28,条算
术运算指令 24 条,逻辑运算及移位指令 25 条,控制转移指令 17 条,位操作(布尔操作)
指令 17 条 单字节:49 条双字节:45 条三字节:17 条】【立即寻址,寄存器寻址,直接寻
址,寄存器间接寻址,变址寻址(基址寄存器偏移量寄存器)相对寻址,位寻址】 【立即
数。例如:MOV A,#3AH;A ← 3AHMOV DPTR,#8000H。寄存器寻址,例如 MOV
A,R0 ;( A)←(R0)直接寻址,例如:MOV A,3AH;A ← (3AH)寄存器间接寻
址例如:MOV A,@R0;A←(R0)变址寻址例如: MOVC A,@A+PC ;( A)+
(PC))→ A MOVC A,@A+DPTR; ((A)+(DPTR))→A PUSH direct(1) SP←SP +
1(2)( SP) ←( direct )POP direct 自动进行两步操作:(1)( direct ) ←( SP )
(2) SP←SP - 1】【编程题:例、试编写一程序段,实现将外 RAM 0FAH 单元中的内容
传送到外 RAM 04FFH 单元中。?解: MOV DPTR,#04FFH MOV R0 ,#0FAH
MOVX A,@R0 MOVX @DPTR, A 】【例、设( A)= 一个 BCD 码常数,试用查表法
获得其相应的 ASCII 码。? MOV DPTR,#TAB MOVC A , @.A+DPTR TAB:DB 30H
2 单片机总结
DB 31H DB 32H,33H,34H,35H 】【 16 位数的算术左移,16 位数在内存中存放在 M1
和 M1+1 单元,低 8 位先存。?CLR C MOV R1,#M1 MOV A,@R1 RLC A
MOV @R1,A INC R1 MOV A,@R1 RLC A MOV @R1,A】
【例:将片内数存 30H~39H 单元清零。?MOV R0,#30H CLR A MOV R7,#10 LOOP:
MOV @R0,A INC R0 DJNZ R7,LOOP SJMP $】【 16 位数的一次循环移位,16 位数在
内存中存放在 M1 和 M1+1 单元,低 8 位先存。?MOV A,M1+1 ;高 8 位送 A MOV C,
ACC.7 ;最高位送进位 Cy MOV R1,#M1 ;操作数地址送 R1 MOV A,@R1 ;低 8 位送
A RLC A ;低 8 位左移,最低位添 0,Cy ← A MOV @R1,A ;送回 INC R1 ;指向高 8
位 MOV A,@R1 ;高 8 位送 A RLC A ;A7 移入,高 8 位左移 MOV @R1,A ; 送
回 】【 将 单 字 节 压缩 BCD 码 ( 存 于数 据 内 存 30H 单 元 ) 分 离 转换 成 ASCII 码 放 在
31H、32H 单元。?MOV 30H,#68H MOV A,30H;用除法分离 MOV B,#10H DIV AB;商 6
在 A,余数 8 在 B 中 MOV 31H,B;转换成分离的 BCD MOV 32H,A
ORL 31H,#30H;存结果 ORL 32H,#30H】【将 8 位二进制数(存于数据内存 30H 单元)转
换成三位分离的 BCD 码放在 31H、32H 、33H 单元?MOV A,30H;用除法分离 MOV
B,#10
DIV AB;商 25 在 A,余数 4 个位在 B 中 MOV 31H,B MOV B,#10 DIV AB;商 2 百位在 A,
余数 5 十 位在 B 中 MOV 32H,B ; 存 结果 MOV 33H,A 】 【 将三 位 分离 的 BCD 码放 在
31H、32H 、33H 单元转换成 8 位二进制数(存于数据内存 30H 单元) ?。MOV A,33H;
MOV B,#10 MUL AB;积 BA,最大 20 即 33H 中存的数不能超过 2 ADD A,32H;百位乘以
10 加十位,在 A 中 MOV B,#10 MUL AB;再乘以 10 ADD A,31H ;存结果 MOV 30H,A
【 ( 30H ) =X7X6
X5X4X3X2X1X0(3lH)=Y7Y6Y5Y4Y3Y2Y1Y0(40H)=Y2Y1Y0X4X3X2X1X0?
ORG 0100H MOV A,30H ANL A,#00011111B MOV 30H,A MOV A,31H ANL
A,#00000111B SWAP A RL A ORL A,30H;组装 MOV 40H,A END】
【将内部 RAM 中 20H 单元和 30H 单元的无符号数相加,结果存入 R0(高位)和 R1(低
位)中。?ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV A,20H
CLR C ADD A,30H MOV R1,A CLR A ADDC A,#00 MOV R0,A SJMP $
END】
a-b (a≥0)
【 Y =
a+b (a < 0)
ORG 0030H BR: JB ACC.7,ADD1 CLR C;计算分支 a-b SUBB A,B
SJMP DONE ADD1: ADD A,B;计算分支 a+b DONE: MOV R2,A;存结果
SJMP $ END 】【如果累加器 A 的 D1D0 位都为 0,则 R2 加 1,否则,R3 减
1,试编写程序。 A=D7D6D5D4D3D2 0 0 ? 解:根据 A 和 00000011B 逻辑“与”的结果
来判定。ORG 0030H MOV B,A;保存 A ANL A,#00000011B
JNZ R3DEC1 INC R2 SJMP DONE R3DEC1 : DEC R3;计算分支
DONE: MOV A,B;恢复 A SJMP $ END 】【根据 R7 的值,转移到不同的分支中的 1
个。例中 R7=0~3.? ORG 0000 MOV A,R7 RL A ADD A,R7 MOV DPTR,#TAB
JMP @A+DPTR TAB:LJMP L0 LJMP L1 LJMP L2 LJMP L3 L0:INC R0
JMP TOEND L1:INC R1 JMP TOEND L2:INC R2 JMP TOEND L3:INC R3 TOEND:SJMP
$ END】【内部数据区清零? ORG 0030H Zero: mov R0,#30H mov R7,#10
mov A,#00H Loop: mov @R0,A inc R0 djnz R7,Loop sjmp $ END】【 n 个单字节数相加,
和为双字节。单字节数据存在 40H 开始的 RAM 单元中,n 放在 R2 中,和存在 R3,R4 中?
剩余11页未读,继续阅读
资源评论
是空空呀
- 粉丝: 168
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功