单片机知识点总结_第1页
单片机知识点总结_第2页
单片机知识点总结_第3页
单片机知识点总结_第4页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机知识点总结 - 啪磊 论 a . . . 单片机考点总结 1. 单片机由 cpu、存储器及各种 i/o 接口三部分组成。 2. 单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 3. mcs-51 系列单片机为 8 位单片机,共 40 个引脚,mcs-51 基本类型有 8031、8051 和 8751. 8031、8051 和 8751 的区别 : 8031 片内无程序存储器、 8051 片内有 4kb 程序存 储器 rom、8751 片内有 4kb 程序存储器 eprom。 4 . rst/vpd(9 脚)复位输入信号端。 高电平有效 o 幸当振荡器运行时,在此引脚输入最少两个

2、机器周期 以上的高电平,将使单片机复位。 *复位后单片机将从程序计数器 pcr000h 地址开始 执行稈序。 对 1imos 工艺的单片机此引脚还有备用电源 vpd 功能口 4 该引脚接上备用电源,在 vcc 掉电期间,可以保持 片内 ram 的数据不去失口 费控制引脚包 ale/prog.pi ea /vpp. rst/vpd o 1-ale/(30 脚):地址锁存使能信号输出端。 f 存取片外存储器时,用于锁存低 8 位地址口 -即使不访问片外存储器,仍以时钟振荡频率 1/6 的 定频率向外输岀脉冲信号,因此,它可用作对外输 出的时钟。 f 要注意的是:每当访问片外存储器时,有些指令将 跳

3、过一个 ale 脉冲。 ale 端可以驱动 8 个 lsttl 负载。 f 铳 55 是对于 epk0m 型单片机,在 eproms 程期间,此 引脚用于输入编程脉冲 o _ i (1 ) i/o 引脚 布 磊 册卅 2 两飯 ( 29 脚),程序存储器输出使能端。 申它是片外程序存储器的读选通信号; 斗低电平有效: *在由片外程诘存储器取指(或常数)期间,每个机器 周期扇两次有效; 卒在访问片外数据存储器时,这两次的隔将不出现 psbj 同样可以驱动 8 个 lsttl 负载口 3.w/vpp ( 31 脚):片内程序存储器屏蔽控制端. :*低电平有效。 当瓯端保持低电平时将屏蔽片内的程序存

4、储器. 只艺问片外程序存储器。 当耳端保持高电平时,执行(访问)片内程序存储器, 但在 pc (程序计数器)值超过 offfh (对 51 子系列)或 1fffh (对 52 子系列)时,将自动转向执行片外程序存 储器内的程序。 齐 vff 加入编程电压端。对 efkom 型单片机,社 efkom编 程期间,此引脚用于施加 21 的编程电压 (vpp ) . 4. mcs-51 单片机共有 16 位地址总线,p2 口作为高 8 位地址输出口, p0 口可分时复用 为低 8 位地址输出口和数据口。 mcs-51 单片机片外可扩展存储最大容量为 216=64kb, 地址范围为 0000h ffff

5、h 。 ( 1.以 p0 口作为低 8 位地址/数据总线;2.以 p2 口作为高 8 位地址线) 5. mcs-51 片内有 128 字节数据存储器(ram),21 个特殊功能寄存器(sfr )。 (1)mcs-51 片内有 128 字节数据存储器(ram),字节地址为 00h 7fh; 00h - -1fh: 工作寄存器区; 00h - -1fh: 可位寻址区; 00h - -1fh: 用户 ram 区。 (2)21 个特殊功能寄存器(sfr)( 21 页一 23 页) 时磊忖呎 (3)当 mcs-51 上电复位后,片内各寄存器的状态,见 34 页表 2-6 。 pc=ooooh, dptr

6、=ooooh, acc=ooh, psw=ooh, b=ooh, sp=07h, tmod=ooh, tcon=ooh, th0=00h, tlo=ooh, th1=00h, tl 仁 00h, scon=ooh, po p3=ffh 6. 程序计数器 pc :存放着下一条要执行指令在程序存储器中的地址, 即当前 pc 值或现行 值。程序计数器 pc 是 16 位寄存器,没有地址,不是 sfr. 7. pc 与 dptr 的区别:pc 和 dptr 都用于提供地址,其中 pc 为访问程序存储器提供地 址,而 dptr 为访问数据存储器提供地址。 8. mcs-51 内部有 2 个 16 位定时

7、/计数器 t0、t1,1 个 16 位数据指针寄存器 dptr,其中 move dptr, #data16 是唯一的 16 位数据传送指令,用来设置地址指针 dptr。( 46 页) 定时/计数器 t0 和 t1 各由 2 个独立的 8 位寄存器组成,共有 4 个独立寄存器:th1、 tl1、th0、tl0,可以分别对对这 4 个寄存器进行字节寻址,但不能吧 t0 或 t1 当作 1 个 16 位寄存器来寻址。即: mov t0,#data16 ; mov t1,#data16 都是错的, mov th0,#data ; mov tl0 ,,#data 是正确的。 9. 程序状态字寄存器 ps

8、w( 16 页) (1)psw 的格式: d7 d6 d5 d4 d3 d2 d1 d0 psw cy ac f0 rs1 rs0 ov 一 p d0h (2) psw 寄存器中各位的含义; cy:进位标志位,也可以写为 c。 ac:辅助进位标志位。 rs1、rs0:4 组工作寄存区选择控制位。 时磊忖呎 rs1 rs0 所选的 4 组寄存器 0 0 0 区(内部 ram 地址 00h07h ) 0 1 1 区(内部 ram 地址 08h0fh ) 1 0 2 区(内部 ram 地址 10h17h ) 1 1 3 区(内部 ram 地址 18h仆 h ) p 为奇偶标志位:该标志位用来表示累加

9、器 a 中为 1 的位数的奇偶数 p=1, a 中 1 的个数为奇数; p=0, a 中 1 的个数为偶数。 另:使用加法指令时,累加器 a 中的运算结果对各个标志位的影响: (1) 如果位 7 有进位,则置 1 进位标志位 cy,否则清 0 cy ; (2) 如果位 3 有进位,置 1 辅助进位标志位 ac,否则清 0 ac; (3) 如果位 6 有进位,而位 7 没有进位,或者位 7 有进位,而位 6 没有,则溢出标志位 ov 置 1,否则清 0 0v。即只要位 7 和位 6 中有一个进位,而另一个没进位, 0v 就置 1. 10. mcs-51 指令系统的七种寻址方式 , 熟练掌握各寻址

10、方式。 ( 40 页)。 寻址方式 使用的变量 寻址空间 寄存器寻址方式 r0 r7、a、b、c(位) 4 组通用工作寄存区、部分特殊功能寄存器 dptr、ab 直接寻址方式 内部 ram128b、特殊功能寄存器 寄存器间接寻址方式 r1 , r0 , sp 片内 ram r1 , r0 , 片外数据存储器 dptr 时磊 论呎 立即寻址方式 #data 基址寄存器加变址寄存 器间接寻址方式 a+dptr, a+pc 程序存储器 位寻址方式 内部 ram20h2fh 单兀的 128 个可寻址位、 sfr 中的可寻址位(85 个) 相对寻址方式 pc+偏移量 程序存储器 11. 访问 mcs-5

11、1 单片机中:(1 )访问片内 ram 应使用 mov 指令; (2 )访问片外 ram 应使用 mo 指令; (3 )访问程序存储器应使用 movc 指令。 12. mcs-51 有 5 个中断源,2 级中断优先级。5 个中断源名称及其中断入口地址分别是什 么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标 志位必须使用软件清除?记住各个中断请求标志位, 优先级标志位,触发方式标志位。 ( 102 页一 108 页 ) 中断源 入口地址 响应中断时 中断请求标志位 外部中断 0 0003h 硬件自动清除 ie0 定时器/计数器 t0 000bh 硬件自动清除 tf

12、0 外部中断 1 0013h 硬件自动清除 ie1 定时器/计数器 t1 001bh 硬件自动清除 tf1 串行口中断 0023h 软件清除 ti 或 ri 前面 4 种都是硬件自动清 0,串行中断必须使用软件清除,因为串行接收和发送 共享串行中断,在中断处理中必须使用 t1 和 r1 判断串行接收还是发送中断。 时磊忖呎 13. mcs-51 的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式 的帧格式和波特率是什么? 串行口有 4 种工作方式: sm0 sm1 方式 功能说明 0 0 0 冋步异位寄存器方式(用于扩展 i/o 口)波特率固定,为 fosc/12 0 1 1

13、 8 位异步收发,波特率可变(有定时器控制) 1 0 2 9 位异步收发,波特率为 fosc/64 或 fosc/32 1 1 3 9 位异步收发,波特率可变(有定时器控制) sm0、sm1 :串行口 4 中工作方式的选择位。 (1)方式 0 :帧格式及波特率 d0 d1 d2 d3 d4 d5 d6 d7 方式 1 的波特率是固定的,为 fosc/12 (2)方式 1:帧格式及波特率 起始位 d0 d1 d2 d3 d4 d5 d6 d7 停止位 方式 1 的波特率为 2smod/32 x 定时器 t1 的溢出率 (3)方式 2 :帧格式及波特率 起始位 d0 d1 d2 d3 d4 d5

14、d6 d7 d8 停止位 方式 2 的波特率为 2smod/64 x osc (4) 方式 3 :帧格式及波特率 起始位 d0 d1 d2 d3 d4 d5 d6 d7 d8 停止位 方式 3 的波特率为 2smod/32 x 定时器 t1 的溢出率 14. 8255a 可扩展 3 个 8 位并行 i/o 口( pa 口、pb 口和 pc 口),其中 pc 口具有按位置 时磊 5 说- 为/复位功能。 15. 系统总线(仅了解) 所谓总线,就是连接计算机各部件的一组控制信号。 mcs-51 使用的是哈佛结构, 即并行总 线结构(程序存储器和数据存储器的空间是截然分开的) ,按其功能通常把系统总

15、线分为三 组:(1 )、地址总线(address bus ,简写 ab) 地址总线用于传送单片机发出的地址信号, 以便进行存储单元和 i/o 端口的选择。地址总线 是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。 mcs-51 单片机最多可以扩展 64kb,即 65536 个地址单元,因此,地址总线为 16 条。 (2) 、数据总线(data bus,简写 db) 数据总线用于单片机与存储器之间或单片机与 i/o 之间传送数据。mcs-51 单片机是 8 位字 长,所以,数据总线的位数也是 8 位的。数据总线是双向的,可以进行 2 个方向的传送。 (3) 、控制总

16、线(control bus,简写 cb) 控制总线实际上就是一组控制信号线, 包括单片机发出的,以及从其它部件传送给单片机的。 15单片机外部扩展存储器地址分配的方法线选法和译码法。外部扩展存储器容量大小的确 定方法(1)由该存储器芯片上的地址根数决定,如程序存储器芯片 27128 有 a0 a13 共 14 根地址线,故 27128 的存储容量=214=16kb ; (2)用存储器芯片型号后面的数字十 8 即 可得到该芯片的存储容量,如 27128 的存储容量=128 迪=16kb ; 16. 存储器扩展的读写控制:(做最后一题时需要用到) 外扩的 ram 芯片既能读出又能写入,所以通常都有

17、读写控制引脚,记为 0 e 和 w e。外 扩的 ram 的读写控制引脚分别与 mcs-51 的 r d 和 wr 引脚相连。 外扩的 eprom 在正常使用中只能读出, 不能写入,故 eprom 的芯片没有写入控制引脚, 只有读出引脚,记为 oe,该引脚与 mcs-51 的 psen 相连。 时 需 sr 彳 17. 在 mcs-51 单片机系统中,外接程序存储器和数据存储器共用 16 位地址线和八 8 位数 据线,为何不发生冲突? 外接程序存储器和数据存储器虽然共用 16 位地址线和 8 位数据线,但由于访问程序存储器 时是 psen 信号有效, 而访问数据存储器时是 rd 或 wr 信号

18、有效。而这些控制信号 是由 mcs-51 执行访问外部外序存储器和或访问外部数据存储器的指令产生,任何时候只 能执行 1 种指令,只产生 1 种控制信号,所以不会产生数据冲突的问题。 17. 8 段共阴极数码管的断码如何编写。 (227 页) 记两点即可:(1 )共阴极时 1 为亮 0 不亮; (2) abcdef 是按照顺时针走的,知道 g,dp 的位置。 18单片机晶振频率 fosc 与机器周期 tcy 的关系式:1tcy=12/fosc 。 19.编程题 (1 )循环程序的编写(即延时程序的编写) (94 页 例 4 17) 例 4-17、50ms 延时程序。(注:一条 djnz 指令消

19、耗两个机器周期) del: mov r7, #200 del1: mov r6, #125 del2 : djnz r6, del2 mov r7,del1 ret (2)中断初始化程序的编写(104 页 例 5 1,107 页 例 5 2) 知识点:(1 )中断允许寄存器 ie mcs-51 的 cpu 的中断源的开放或屏蔽,是由片内的中断允许寄存器 ie 控制的。ie 的字 时 需 sr 彳 节地址为 a8h,可进行位寻址。ea es et1 ex1 et0 ex0 ea :中断允许总控制位; es :串行口中断允许位; et1 :定时器/计数器 t1 的溢出中段允许位; ex1 :外部中

20、断 1 中段允许位; eto :定时器/计数器 t1 的溢出中段允许位; exo :外部中断 0 中段允许位; 注:当上述值置为 0 时,表示禁止;置为 1 时表示允许。 如当 et1=0 表示禁止 t1 溢出中断,et1=1 表示允许 t1 溢出中断。 (2)中断优先级寄存器 p mcs-51 的片内有一个中断优先级寄存器 ip,其字节地址为 b8h,可位寻址。 ps pt1 px1 pt0 px0 ps:串行口中断优先级控制位; pt1 :定时器 t1 中断优先级控制位;px1 :外部中断 1 中断优先级控制位; pt0 :定时器 t0 中断优先级控制位;px0 :外部中断 0 中断优先级

21、控制位; 注:当上述值置为 0 时,表示定义为低优先级中断;置为 1 时表示高优先级中断。 例 5-1、若允许片内 2 个定时器/计数器中断,禁止其它中断源的中断请求。请 编写出设置 ie 的相应程序段: (a )、用位操作指令编写如下程序段: clr es ; 禁止串行口中断 clr ex1 ; 禁止外部中断 1 中断 clr ex0 ; 禁止外部中断 0 中断 setb et0 ; 允许定时器/计数器 t0 中断 setb et1 ; 允许定时器/计数器 t1 中断 时磊忖呎 setb ea ; cpu 开中断 时磊忖呎 (b )、用字节操作指令来编写: mov ie,#8ah 例 5-2

22、、设置 ip 寄存器的初始值,使得 mcs-51 的 2 个外中断请求为高优先级, 其它中断 请求为低优先级。 (a )、用位操作指令编写如下程序段: setb px0 ;2 个外中断请求为高优先级 setb px1 clr ps ;串行口、2 个定时器/计数器为低优先级中断 clr pt0 clr pt1 (b )、用字节操作指令来编写: mov ip,#05h (3)定时/计数器 to 或 t1 在指定工作方式下产生一个定时或者计数的程序编写。 (125 页 例 6 1,130 页例 6 4) (4) 书中有一道程序编写,但不知是哪一道,所以都找出来了( 99 页第 10 题、第 11 题

23、, 117 页第 9 题、14,136 页第 4 题) 4.10 m r r 、试编写程序,查找在内部 ram 的 30h50h 单兀中是否有 l , 1 1 tvt ter . a ci -e-h - t r rrthjzr l , i m ter . a m 0aah 这一数据。若有, 则将 51h 单兀置为 01h ;若未找到,则将 51h 单兀置为 00h 。 org 0000h mov r0,#30h mov r2,#21h loop: mov a,r0 cjne a,#0aah,not mov 51h,#01h sjmp dend not: inc r0 djnz r2,loop

24、mov 51h,#00h dend: sjmp dend 4.11 试编写程序, 查找在内部 ram 的 20h40h 单元中出现" 00h"这一数据的次数。并 将查找到的结果存入 41h 单元。 org 0000h 时磊忖呎 mov mov r0,#20h r2,#21h mov 41h,#00h loop: mov a,r0 cjne a,#00h,note inc 41h note: inc ro djnz r2,loop end 5.9 编写出外部中断 1 为跳沿触发的中断初始化程序。 org 0000h ajmp main org 0013h ajmp pint1 org 0100h main: setb it1 setb ex1 setb ea here: ajmp here pint1: reti end 5.14 某系统有 3 个外部中断源 1、2、3,当某一中断源变为低电平时,便要求 cpu 进 行处理,它们的优先处理次序由高到低依次为 3、2、1,中断处理程序的入口地址分别为 1000h,1100h,1200h。试编写主程序及中断服务程序(转至相应的中断处理程序的入口 即可)。 org 0000h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论