版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、整理原则:老师答疑课所列举重点+自己猜测 纯手工,错误存在是必然的,敬请谅解,欢迎指正一、单片机复位后各寄存器状态 课本37页表2-7 重点 PC, Acc(A), PSW, SP,DPTR,P0,P1,P2,P3,IP,DPTR 记: 复位后堆栈指针SP为07H,P0-P3 四个IO口为0XFF 其余均为0二、8051内部RAM划分 课本 24页 图2-4 AT89S51的片内数据存储器(RAM)共有128个字节,字节地址为00H-7FH,对照图2-4,明确它的划分方式。注: 00H-1FH为4组通用工作寄存器,每一组中有8B字节,每一字节对应编号R0-R7,用户可以设定程序状态寄存器PSW
2、中的RS1和RS0来具体选中某一组通用寄存器。 常见考法:RS0=0,RS1=1时,R1的地址为多少? 11H 地址20H-2FH的16个单元的128位可以进行位寻址,(也可以进行字节寻址)。凡是可以进行位寻址的特殊功能寄存器(SFR),其(所在)字节地址的末位只能是0H或者8H。三、寻址方式 课本44-46页 1、 重点:5.基址寄存器加变址寄存器间接寻址方式(基变址寻址) 注:(1)只能对程序存储器(ROM)进行操作,只有读操作 (2)这种寻址方式是以DPTR或者PC作为基址寄存器,以累加器A作为变址寄存器 (3)操作码只能是 MOVC或者JMP(4)作用、适用场合:查表常见考点:基变址寻
3、址方式以DPTR或者PC作为基址寄存器时的区别(几乎必考,解答)答:以PC作为基址寄存器时,只能寻址当前地址以下的ROM中的内容,寻址范围是PC+0PC+255 以DPTR作为基址寄存器时,可以寻址到ROM中的任何一条指令或单元 2、 补充:(1)3.寄存器间接寻址,作为间接寄存器的只能是R0,R1,DPTR,SP (2)区分指令MOV,MOVC,MOVX的区别:MOV(内部RAM); MOVC (ROM ); MOVX (外部RAM) 四、堆栈 课本26页 1、堆栈指针SP的内容 指示出 堆栈顶部在内部RAM块中的位置(SP指向栈顶元素地址) 2、AT89S51堆栈结构属于向上生长型堆栈,即
4、每向堆栈压入一个字节(每执行一次PUSH指令)SP的内容自动加1,每弹出一个字节(POP),SP自动减1 3、堆栈主要是为了子程序调用和中断操作而设立。堆栈的具体功能有两个:保护断点和现场保护。子程序调用(或中断时),CPU执行一条子程序调用指令(或响应中断后)PC的内容由硬件自动将其压入堆栈。(低对低,高对高)在执行子程序调用返回(RET)或者中断返回(RET)时,自动将堆栈栈顶两个元素弹出给PC。(低对低,高对高)。而现场保护与现场恢复(即对A,PSW,B,C,Ri等寄存器的保护与恢复)不是必须的,若需要,则用户应当手动编程实现。五、单片机外部扩展 1、考点:课本146页 单片机外部扩展时
5、,为什么需要加上地址锁存器,常见的锁存器有哪些?(上课一再强调,几乎必考,解答部分)答:AT89S51单片机受引脚数的限制,P0口兼用数据线和地址底8位线,为了将它们分离出来,需要在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373,74LS573. 2、考点:单片机外部扩展时,地址的确定见第十一点六、码制转换程序 背,记,默 (1)BCD码转ASCII 样卷程序分析第三题(考这个可能性较大,其他两个懒,没高兴找,找到了在发群里)(2)16进制转ASCII(3) ASCII转16进制七、数据块交换程序 片内20H开始的10个单元和片外4000H开始的10个单元中的内容相交换
6、样卷程序分析第一题八、中断1、一一对应 中断名称中断入口地址中断允许标志位中断标志位对应单片机引脚号外部中断00003HEX0P3.2定时计数器0000BHET0P3.2外部中断10013HEX1P3.4定时计数器1001BHET0P3.5串行口0023HESRI、TIP3.0 P3.12、中断优先级AT89S51的中断请求源有两个中断优先级,每一个中断请求源可由软件设置为高优先级中断或低优先级中断,也可以实现两级中断嵌套。(1)低优先级可以被高优先级中断,高优先级不能被低优先级中断;(2)任何一种中断(不管是高还是低优先级)一旦得到响应,不会再被它的同级中断源所中断。如果某一中断源被设置为高
7、优先级中断,在执行该中断源的中断服务程序时,则不能被其他中断源的中断请求所中断。AT89S51的片内有一个中断优先级寄存器IP(复位后为00H),其字节地址为B8H(因为字节地址末位为8,所以可以位寻址)。可由用户程序置1或清0,以改变个中断源的中断优先级别DB7DB6DB5DB4DB3DB2DB1DB0IPPSPT1PX1PT0PX0串行口定时器1外部中断1定时器0外部中断0在同时收到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部的查询顺序。内部查询优先顺序由高到低为:外部中断0T0溢出中断外部中断1T1溢出中断串行口中断3、外部中断的出发方式 外部中断的出发方式有两种
8、,即电平低电平触发方式,下跳沿触发方式。用户可以设置IT0位来设置。(IT0=1,下跳沿; IT0=0,低电平出发)(IT0,IT1分别对应外部中断0和外部中断1)4、中断请求的撤销(1)定时计数器的中断是自动撤销的(2)外部中断 A、下降沿出发的外部中断请求也是自动撤销的 B、低电平方式的外部中断,中断请求标志也是自动撤销的,但中断请求信号低电平可能继续存在,在以后的机器周期采样时,又会再次引发中断。但我们可以通过外加电路的方式,使得低电平方式的外部中断的中断请求也是自动撤销。(3)串行口中断 必须手动撤销5、外部中断的初始化(1)开总中断(SETB EA) (2)开外部中断允许(SETB
9、EX0 或EX1) (3)设置中断优先级为高(可忽略,自己编程时一般不用,看到别人写的程序要看懂)(SETB PX0或PX1)(4)设置出发方式(SETB ITO/IT1 或CLR IT0/1)(默认为1,即下降沿触发) 以上顺序可任意交换九、定时计数器中断1、工作方式控制寄存器TMOD(不可位寻址,所以必须整体赋值)D7D6D5D4D3D2D1D0GATACTM1M0GATACTM1M0始终为0定时器为0,计数为1工作方式选择工作方式选择始终为0定时器为0,计数为1工作方式选择工作方式选择定时计数器1定时计数器0M1M2工作方式00方式0 13位01方式1 16位(重点)10方式2 8为自动
10、重装(重点)11方式3(不会考)TCON中还有两位(可位寻址) TR0,TR1, 定时计数器启动标志位,只有将它(们)置1,才会启动定时计数器2、定时器初值计算 (1)课本108页 (2n - X)* 2* 10(-6)=欲定时时间(毫秒) 将算出的X化成16进制,高位给TH01,低位给TL01注:若定时器工作在方式0,n=13 若定时器工作在方式1,n=16 若定时器工作在方式2,n=8 TH=TL(2)个人推荐简便方法 方式1 16为 216-1=65535 TH=(65535-毫秒*100)/256 TL=(65535-毫秒*100)%256 别问为什么,想记能记就记住,到时用就行3、定
11、时器初始化及中断程序设置 A、主程序(1)对TMOD赋初值,确定工作方式。 (2)对TH01 TL01赋值,赋定时器初值(3)开定时器中断(置定时器中断允许标志位为1) SETB ET01 (4)开总中断 SETB EA(5)开始定时计数 SETB TR0,TR1B、中断服务程序(1)除非定时器工作在方式2,不然进中断后重新将初值赋给TH01和 TL01(2)其他操作 4、考点 利用定时器在P1.0引脚上产生周期为2ms的方波 (都说了必考了)课本107-108注:周期2ms,那么每1ms进一次中断,改变一次P1.0的状态引申:产生周期大于65535 比如产生周期为2s的方波 提示: 定时50
12、ms,每进一次中断R1加一,返回主程序若R1=20(已经加了20次了,到一秒了)R1清零,改变P1.0状态,R1不等于20,继续等中断。十、串行口1、控制寄存器SCON (可位寻址)DB7DB6DB5DB4DB3DB2DB1DB0SCONSM0SM1SM2RENTB8RB8TIRI 注:(1)SM0,SM1 工作方式选择位SM0SM1方式功能波特率00方式0同步移位寄存器晶振频率的12分之101方式18位异步串行通信可变10方式29位异步串行通信晶振频率的32或64分之111方式39位异步串行通信可变(2)SM2 多机通信控制位 不会考多机的,所以这位设0(3)REN 允许接收控制位 对接收方
13、,这一位必须为1(4)TB8 发送的第九位数据,可用作校验位或者地址、数据标识位 咱不需要那么复杂,设0就是(5)RB8 接收的第9位数据或停止位 咱不需要那么复杂,也给0吧(6)TI 发送中断标志位 发送完一帧数据后,硬件自动置1,就是根据这个咱来编程判断是否发送完成的 必须软件手动清0(7)RI 接收中断标志位 接收完一帧数据后,硬件自动置1,就是根据这个咱来编程判断是否接受完成的 必须软件手动清0特殊功能寄存器PCONPCON 第8位 SMOD 波特率选择位 SMOD=1波特率加倍 不可位寻址2、方式1、3波特率计算方式 定时器1工作在方式2作波特率发生器 波特率计算: 课本128页 式
14、7-3 公式记住了你就会了3、串行口编程 (1)初始SCON 注:RI,TI必须为0, 接受方REN必须为1 (2)波特率要加倍么? 设置一下PCON吧亲 (3)不是说好要定时器T1工作在方式2坐波特率发生器么? 那么TMOD,TL1,TH1 不要设置一下? 当然还要启动定时器啊 SETB TR1 (4)串行口发送接收是中断方式还是查询方式啊?中断方式的话就再设置一下EA ,ES注:答疑课说了,只考查询方式,那么查询方式编程如下: (1)查询方式发送TRAM:MOVA,R0MOVSBUF,AWAIT:JBCTI,NEXTSJMPWAITNEXT:INCR0SJMPTRAM (2)查询方式接受W
15、AIT:JBCRI,NEXTSJMPWAITNEXT:MOVA,SBUFMOVR0,AINCR0SJMPWAIT十一、外部扩展I0口(必考,不考原题也就是把P2.0换成别的口,或者是P2口的几个口经过译码来和WR RD配合)课本188,189页 原理在188页,结合原理结合程序搞懂一下两个问题就OK: (1)P2.0为什么是0? 假设为1,或门出来为1,那么74LS244就永远不会被选中 P2.0为0的时候,和RD,WR如何配合来依次选中两个芯片的 (2)注意区分 MOV 和MOVX 个人总结:确定地址的方法:P0口是地址低八位,P2口是地址高八位,一起构成16位地址。确定地址时,根据图中接线
16、确定某个或某几个用于片选的口的电平(此图只有P2.0用于片选,P0虽出现,但只是作数据口),没有提及的口就0、1随便啦十二、A/D转换1、分辨率的定义 课本252页2、大题目编程(这是肯定考的) 用定时器控制每1S转换一次ORG0000HLJMPMAINORG0003HLJMP QAZORG000BHLJMPTIMER00ORG0100HMAIN:MOVTMOD,#01H /方式1MOVTH0,#4CH /50msMOVTL0,#00HSETB IT0SETB EX0SETB ET0SETB EASETB TR0 MOV DPTR,#7FF8H /通道INT0 P2口只涉及到P2.7需其为0
17、,其他的没要/求,咱就设1吧 ADC0809通道选择器ABC,全0选择通道0/,ABC全0则P0口低三位应为0,其他的咱也设1吧,好么?MOVA,#00HMOVXDPTR,A /给此时的DPTR赋个数就可以启动转换,上面的给A赋0/也行不赋也行,为啥给DPTR赋个值就能启动了呢?/MOVXDPTR,A 啥意思?还不是写外部RAM? 写,写诶,/那WR是不是有效了?和P2.7或非是不是就是1了?/ADC0809 的START和ALE是不是有效了?那不就开始转换了? SJMP $ TIMER00:MOV TH0,#4CH /能进定时器中断说明到了20毫秒了MOVTL0,#00HINCR0 /20*50=1S,每进一次定时器中断,R0加一,CJNE R0,#20,EXIT /R0等于20了也就到1秒了 不到一秒就返回继续等待MOVR0,#0MOVDPTR,#7FF8H /到1秒,就再次启动中断MOVA,#00HMOVXDPTR,A EXIT:RETIQAZ: MOVDPTR,#7FF8H /能进此中断是因为转换完成了MOVX A,DPTR /通道0的地址7FF8,取出转换结果 MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理课程实体班课件高清分享
- 手术室护理人员的团队合作与协调
- 2026年医疗废物管理条例考核试题及答案
- 央企财务预测及未来十年增长潜力报告
- 意保密工作责任制度
- 房地产企业社会责任制度
- 托育机构岗位责任制度
- 扬尘防治责任制考核制度
- 护士犯错责任制度
- 抽采工责任制度
- 煤矿皮带运输管理办法
- 医院医务人员个人意识形态工作存在问题及整改措施
- 2025年苏州市中考物理试卷真题(含答案解析)
- 中国消防检测系统行业市场发展前瞻及投资战略研究报告2025-2028版
- 村集体林地管理制度
- 保险公司报价管理制度
- 茶艺与茶文化校考考试试题及答案
- 公共卫生基本操作技能1公卫执业医师技能-公卫执业实践技能
- T/CI 178-2023高大边坡稳定安全智能监测预警技术规范
- DB31/T 1057-2017在用工业锅炉安全、节能和环保管理基本要求
- (高清版)DB62∕T 3255-2023 建筑工程施工扬尘防治技术标准
评论
0/150
提交评论