版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、MCS-51单片机的内存结构(89s52为例MCS-51840个管脚,8根数据线,16根地址线,寻址空间64KB(数据区和程序区分开)8大组成:CPU、ROM、RAM、I/O、定时/计数器、串口、SFR89S52机的内存结构物理上分为:4个空间,片内ROMROM片内RAM逻辑上分为;3个空间,程序内存(片内、外)统一编址数据器(片内)数据器(片外)1、程序寻址范围:0000H~FFFFHEA*=1,寻址从内部ROM;EA*=0,寻址从外部地址宽度:16位器地址空间为64KB80516个具有特殊含义的地址0000H——系统复位,PC0003H——0000BHT0溢出中断0013H——1001BH——T1溢出中断0023H——串口中断89S52,还增加了002BHT2中断2、内部数据物理上分为两大区:00H~7FH128B内RAM和用户RAM/SFR280H~FFH为SFR128BRAM单元统一编址,但属于另一专00H~1FH3248BR7~R0。可通过指令改变RS1、RS0(通用寄存器也是有地址的)20H~2FH16128位可位寻址,也可字节寻址。如:21H.7(字节)→0FH(位30H~FFHFFH的特殊功能寄存器区只能采用直接寻址方式。89S52内部数据寻址空间离散分配在:80H~FFH(注意PC不在此范围内08SFR具有位寻址功能。位地址=SFR字节地址+SFR字节地址.位如:TCON.688H堆栈可以设置在片内地址区(不可设在片外1CPU累加器—PCY(PSW.7)——进位/AC(PSW.6)——辅助进/借位标志;用于十进制调整。FO(PSW.5)——用户定义标志位;软件置位/。OV(PSW.2)——溢出标志;硬件置位/。 (PSW.0)——奇偶标志;A中1的个数为奇数P1P0RS1、RS000:0R0~R7(01:1R0~R7(10:2R0~R7(11:3R0~R7(2程序计数器PC的内容是指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC0000H,具有自动加1功能,不可寻址(即不能通过指令。堆栈指针指明栈顶元素的地址,8位,可软件设置初值,复位时SP 数据指针@Rn(n≠0,1内容加1CLRMOVA,DPLSUBBA,#1MOVDPL,AMOVA,DPHSUBBA,#0MOVDPH,A单片机内的都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序MOVAR0、MOVA,MOVCA@A+DPTR、MOVXA,@DPTR、INC一个指令周期含若干机器周期(单、双、四周期每个状态周期含两个振荡周期,即相位P1、P2:振荡周期Tosc=1/fosc1212×1/fosc。例如,若fosc=12MHz,则一个机器周期=1μs。XAL1(19XAL(18I/O8位I/O口:P0、P1、P2、P0口可作通用I/O口使用,又可作地址/P0P0作为输使用时:是准双向口作通用I/O口输出时:是开漏输出(外部管脚必须接上拉电阻P0无地址/作I/O输时:是一准双向口,不是开漏输出(无需外接上拉电阻P1“1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入”MOVP1,#0FFHMOVA,读端口数据方式是一种对端口锁存器中数据进行读入的操作方式,CPU读入的这个数据(对端口进行读-修改-写类指令CPLP1.0是读端口锁存器而不是管脚当P2口作为通用I/O从P2口输入数据时,先向锁存器写“1”8A8~A154、P3B0H作通用I/O时,是一准双向口,不是开漏输出(无需外接上拉电阻P3P08P1P28P3口:双功能口。若不用第二功能,也可作通用I/O地址线:P08位地址,P28数据线:P08 MCS-517直接寻址立即寻址寄存器寻址寄存器间接寻址相对寻址寄存器变址寻址位寻址5有四种寻址方式,不影响标志位(对A的数据传送只影响状态标志位片内RAM和SFR指令格式16位传送指令MOVDPTR,片外RAM(4条MOVXA,@RiMOVXA,@DPTR(这两条指令是读片外RAM的数据伴随着控制信号RD*有效完整的16位地址其中DPH给出了片外器的地址DPL给出了地位地Ri指令之前通过给P2明确赋值等方法来给出。如: DPTR,#2000H A,@DPTR2000H单元的内容取出来给累加器 P2, R0,#00H A,@R0MOVX@Ri,AMOVX@DPTR,A(这两条指令是写片外RAM的数据伴随着控制信号WR*有效送给
程序器ROM(2条指令MOVCA,@A+PC(这两条指令是读程序ROM的数据伴随着控制信号PSEN*有效【例】1000H:MOVCA,@A+PC;如果A=30H,这是将程序器(1031H)的内 不影响任何标志位。DirectRAM128 (1(SP) (SP)+(2(SP) 09H(DPTR)=执 后,各单元中的内容。 (0BH)=01H (1(direct) (2(SP) (SP)-40H(40H)=12H(3F)=执 3EH(DPTR)结论:1)PUSH与POP操作过程刚好相反;下列指令后(DPH)= (DPH)=3CH(DPL)=5FH(SP)=50H 执行POP 50H弹出来更新了SP,因此SP被赋予了新值50H。 (A) (A)+(Rn) 无符号数相加时:若C1,说明有溢出(255OVD7c⊕D6c1,说明有溢出。影响COVACP由累加器A【例(A)=53H(R0)=FCH,试判定ADD A,R0 Ac、OV、P等标志位的影响。0101+)11111←0100OV如何变化的。这个结果相当于83+252=335(14FH,Cy=1,而(A)=4FH。Cy83-4=79(4FH,可见累加器A的内容也是4FH,而且没有溢出,因此OV=0特点是进位标志位C ;(A)+(Rn)+C→A,n=0~7,下同 影响COVACP由累加器A31 (A) 不影响COVACP由累加器A 对压缩的BCDADDADDC ;(A)-(Rn)-Cy→A,n=0~7 影响COVACP由累加器A C;将前次CY 61 ;(direct)-1→direct 不影响COVACP由累加器A 积的低字节在累加器AB中255,则OV1OV0C0 商(为整数)存放在AB0OV124清0、求反指令 (A) A8这里只能用A作数,Rn不行,不影响标志 (A)∧(Rn (P1)=35H404 此做法称为“”位 (A)∨(Rn 【例】将A3位送入P1P15 (P1)= (A)⊕(Rn 【例】设(P1)=0B4H= 结果按#00110001 10000101B=ANL、ORL、XRL操作中,用于端口操作时,无论P0~P3是第一,还是第二操作用:改变程序计数器PC addr16 @A+ 转移目的地址 (PC;0000H 转移目的地址的形成:先 (PC)+后PC15~11不变,PC10~0 addr10~064KB=216=25×211=32×2KB转移目的地址与(PC)+22KB 转移目的地址=(PC)+2+rel,所以rel=但实际使用中常写成 具体标号,汇编时会自动转换出rel @A =(A)+(DPTRcase (PC)+ (SP)+(SP) 0 2(SP) 8 ,目的地址送PC【例】设(SP)07H3456H (SP)=09(09H)=21(08)=03H(P)= 转移范围与(PC)+22KB内。不影响任 (PC)+ (SP)+(SP) (PC7~ (SP)+(SP) (PC15~(PC10~ addr10~ ( (PC15~ (SP)-(PC7~ (SP)-0BH(0AH)=23H(0BH)=执行 (SP)=09H(PC)=JZrel;若(A)0,则转移,否则顺序执行。JNZrel;若(A)≠0,则转移,否则顺序执行。转移目的地址=(PC)+2+relRAM的一个数据块(DATA1)RAM(首地址为DTA2 LOOP1:MOVX LOOP2: =(PC)+3+若第一操作数内容小于第二操作数内容,则(C)1,否则(C)0。【例】设P1口的P1.0~P1.31时,说明各项工作 ;P1.0~P1.31 (二字节指令 (三字节指令11后,若差值不为零,则转移;否则顺序执行。转移目的地址=(PC)+23+rel【例】将MCS-51内部RAM的40H~4FH单元置初值#0A0H~#0AFH。 LOOP:MOV (使用位寄存器名来表示;如C、OV、F0用字节寄存器名后加位数来表示:如PSW.4、P0.5、ACC.320H.0、21H.4、27H.7 功能(C) (bitCy为桥梁来传送,像这样写是错的MOVACC.7
MOVC,20H.1MOVACC.7, (bit) (bit) (bit) (/【例】编程通过P1.0线连续输出256个宽度为5个机器周期长的。 有5条,分别对C和直接位地址进试,并根据其状态执行转移JCrel (C)=JNCrel (C)=不影响标志。转移地址(PC)(PC)+rel【例】比较内部RAM30H40H20H单21HRAM1271。解 7FH LOOP2:MOV 20H,40H JB (bit)=JBC (bit)=JNBbit,rel (bit)=【例】试判断A中的正负,若为正数,存入20H单元;若为负数则存入21H单元。 JBACC.7,LOOP 伪指令是程序员发给汇编程序令不会生成机器码具有控制汇编程序的输/输出、定义数据和符号、条件汇编、分配空间等功能1、ORGORG【例】 A,#00H;规定标号START2000H在一个源程序中可多次用ORG伪指令但地址必须由小到大排列不能交叉2、END整个源程序中只能有一条END3、EQU【例】 LabelAEQU LabelB 5、DW定义数据字命令(,低位在后 6、BIT【例】QA P1.6;把P1.6的位地址赋给变量 MCS-51MCS-51拥有五个中断源(89S526个中断源6T0T1T2有了中断请求,如何通知CPU?通过中断请求标志位来通知CPU。外部中断源、定时/计数器的中断请求标志位分布在TCON中;串口中断标志位分布在SCON中。IE0(INT0)IE1(INT1)TF0(T0)TF1(T1)TI/RI(串口)TF1——T1的溢出中断标志。10(0TF0T0(TF1,只是针对T0的IE1——1(INT1*)外部有中断请求时,硬件使IE110。IE0——0(INT0*)请求标志。IT1——1(INT1*)触发类型控制位。IT1=0,低电平触发。IT11IT0——0(INT0*)触发类型控制位,用法同IT1。INT0*、INT1*触发方式有电平触发和跳变触发TI——发送完数据,硬件使TI置1,软件清0(CLR RI——串行口接收中断标志位。二、中断控制(两级管理在中断源与CPUIEEA——ES——串口控制 ET1——T1中断控制 EX1——INT1*控制 例如 ET0——T0中断控制 EX0INT0*CPU按中断申请时间先后顺序响应中断,同一时间只能响应一个中断请求。若同时来了CPU5个中断源分成高级、低级两个级别,高级优先,由以上各位与IE的低五位相对应,为“1”时为高级。初始化编程时,由软件确定。如:SETB 或SETB PX05(注意是同级INT0*中 T0中 厂家出厂时已好顺 T1中断串口中 INT0*RETI。而如果串口中hold住的话。 MCS-51定时/1、2、初值计算、初始化/MCS-51拥有两个定时器/T0、T1四种工作方式(89S523T0、T1、T2T2定时器的使用方法仅做了解)/T0、T116 工作方 GATE1硬件启动,软件置TR0(TR1)1INT0*INT1*管脚高C/T*——外部计数器/C/T*=0C/T*=1M1M0——M1(很少用)0013位定时/计数器8位TH(7~0)+5位TL(4~01116位定时/计数器TH(7~0)TL(7~1028位计数初值自动重 TL(7~0)TH(7~ T08位定时/计数运行(T1TR0——/0运行控制位。GATE0时,若TR01T0若TR0=0T0GATE=1 时,若TR01且INT0*1时,开启T0计数;若TR0=1但INT0*0,则不能开启T0若TR0=0,停止T0TR1——/1运行控制位。用法与TR0类似。C/T*=0——定时C/T*1——对外计数。定时:fosc/121/(12/fosc)=1 左图定时时间为n×Tcy。n
外部管脚输入(T0—P3.4、T1—P3.5) (要求计数脉冲的高、低方式 X=213-N=8192-方式 方式 1 TMOD TH0(TH1,# TL0(TL1,#DATA【例】设计一个P1.0能产生t=1ms的周期信号发生器。解:选T0,C/T*=0,GATE=00.5ms/(12×(1/fosc)=XM5000、11,M=216X=65536-500=65036=FE0CH ORG0000HLJMPMAINORG000BHLJMPINSE1ORG1000HMAIN: 重点掌握的概念:异步串行通信概念、数据帧形式、波特率、4种工作方式(1/2/3MCS-51RXD(P3.0)发送,(串行通信有单工、半双工、全双工),805145~845H(0100,0101B 发发收 全双 收收发发收即串行通信速率b/s、【例】设有一帧信息,1个起始位、8个数据位、1240个字符。求波(1+8+1)×240=2400b/s24004、串行通CPUMOVSBUF,ATI1,通过TI=1TI=0(CLR110接收:必须置位寄存器SCON.REN1才能启动串口接收数据,当接收一帧数据后,RI1,CPURI=1MOVA,SBUF来取走接收的RI=0(CLRRI)001
二、MCS-51单片机内有:通用异步接收/发送器全双工,4SBUFSM2:多机通信控制位,常与RB8RITI:中断标志SMOD:波特系数选择位,0——201——21= 方式0:是8位同步移位寄存器方式,波特率固定为fosc/12RXD——接收/发送数据TXD——接收/发送完,置位RITI(SM2=SM0、SM1=011:8UART,波特率为(2SMOD×T1的溢出率)1帧信息,10 2SMOD/32×(T1的溢出率)发送完置位TI。RIRIREN1,RI0且SM20或SM211。此时,数据装载SBUFRB8,RI1。SM1=1023送SCON寄存器RB82(固定)2SMOD/643波特率:2SMOD/32×(T1溢出率)TI=1TI=0(CLRTI)接收:必须置位寄存器SCONREN1才能启动串口接收数据,当接收一帧数据后SBUF9位数据(TB8)SCONRB8位,RI1,CPURI=1MOVASBUF来取走接收的数据,并软件复RI=0(CLRRI)((0213可变,波特率=2SMOD/32×(T1的溢出率T1溢出率=单位时间内溢出次数=1/(T1的定时时间T1的定时时间tT1T12(8,T112(28-N故:波特率=2SMOD/32×fosc/12(256-N若已知波特率,则可求出T1y256-2SMOD×fosc/(波特率【例】若fosc6MHz2400波特,设SMOD1,则定时/计数器T1的计数初值为解:y256-2SMOD×fosc/(2400×32×12)242.98≈243同理,fosc11.0592MHz2400,设SMOD0y= 译码法的特点、扩展ROMRAM的方法和基本程序设计。一、MCS-51单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机电路可以工作运行指令的系统.1、8051/8751/89S512、80318031单片机片内无ROM(89S51片内ROM不够用ROM。外接ROM后,P3口、P2口、P0口均被占用只剩下P1口作I/O口用,其它功能不变。二、器的扩1地址总线:(A15~A8A7~A0)数据总线(D7~D0)RD*WR*是片外数据器读、写选通信EA*是片内和片外程序器的选择信号。对于89S52,EA*=1,CPU开始从片内程序器取指令,PC大于1FFF后转向片外程序器取指令。EA*=0,CPU开始从片P08P08位线,A0~A7;P28位线。A8~A15注意:P0/ALE74LS373锁存地址8位(A7~A0选通:CPU与器件交换数据或信息,需先发出地址产生片选信号CE*或CS*,以便选中。读/写:CPU向外部设备发出的读/ ——8K×8b= 23×210=626413 A5 A1最低地址:最高地址:MCS-51单片机寻址范围:64KB 26×210=216即16位地址线地址空间:A15A14A13A12A9A8A7······A0 A12 23= 上式中:“×”0188KB62648KB不能确定——地址浮动。A15·A14·A136264在系统中的地址范围。如,P2.7=0,选中6264的CE1*线。设 P2.5假定全为则:62646000H~7FFFH。同理,P2.7P2.6P2.50则:6264地址范围是0000H~器在系统中地址分布由两个因素决定本身的地址线(与容量有关选通信号的获得方式扩展器时,总是让单片机低位地址与器地址线相接;而让单片机剩余的地址(在P2口常作为片选信号线(CE*)片选信号通过地址线译码取得译码方式有部分译码所谓部分译码就是器的地址线与单片机系统的地址线顺次相间适用于扩张空间有限的器全译码所谓全译码就是器的地址线与单片机系统的地址线顺次相接后,剩余的地址线全部参加译码这种译码方法器的地址空间是唯一确这种方法对RAM、ROM、扩展I/O、外设同样适用译码用到的3/8译和2/4译(注意使用好译的使能端 1
A B C4 RAM——可用来区分ROMROM——2 LED/LED及LED数码管特点(共阴/共阳、静态/动态显示、段码查表、LED及LED数码管显示的基本编程。——10~20ms的延时程序后出键的通断状态。单片机一条I/O口线对应一个按键。若干I/O口线作行线;若干I/O三、LED1、LED2、LEDLED数码管个数较静态显示方式下LED显示器的电路连接方法是:每位LED的字位控制线门共阴极点或共阳极点连在一起,接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津音乐学院《构造地质学含实验》2023-2024学年第一学期期末试卷
- 2搅拌站轮胎销售与租赁劳务承包合同2024
- 上海政法学院《空间信息高性能计》2023-2024学年第一学期期末试卷
- 2024智能家居网络安全保障合同
- 探索医疗科普教育小学生夏令营的策划与执行纪实
- 2024年项目借款保证合同模板
- 二零二五年度桉树种植与生态旅游合作合同2篇
- 保湿是肌肤的保鲜剂
- 2024高考地理一轮复习课练25世界地理分区与主要的国家含解析
- 宁德职业技术学院《个人理财实务》2023-2024学年第一学期期末试卷
- 眼科优势病种中医诊疗方案
- 统编版六年级语文上册专项 专题11文言文阅读-原卷版+解析
- 高中数学联赛历年真题分类汇编解析(高分强基必刷)
- 高中数学笔记总结高一至高三很全
- 011(1)-《社会保险人员减员申报表》
- 2024年工程部工作总结与计划
- 电厂C级检修工艺流程
- 刑事案件律师会见笔录
- 金属的拉伸实验(实验报告)
- 锅炉定期检验
- 普通话课件(完整版)
评论
0/150
提交评论