版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子计算机是由各种电子器件组成的能够自动、高速、精确地进行逻辑控制和信息处理的现代化设备。1.1微型计算机系统的基本知识按其性能来分:巨型、中型、小型和微型计算机自1946年第一台电子计算机出现至今,经历了电子管计算机、晶体管计算机、集成电路计算机、大规模/超大规模集成电路计算机,并开始了以神经网络功能为基础的第五代计算机的研究。每代都向体积小、重量轻、高性能的方向发展。
微型计算机(简称微机)是第四代计算机的典型,于70年代随着大规模、超大规模集成电路的诞生而发展起来。性能价格比高,且小巧灵活,深受用户欢迎并发展迅速。微机的核心部件是微处理器MPU(Microprocessor),也叫中央处理器或中央处理单元CPU(CentralProcessingUnit)。微型计算机的发展是与微处理器的发展同步,微处理器的集成度和性能几乎每2、3年提高一倍,已经推出了四代产品,并进入第五代。各代的划分通常是以其字长、位数和功能,还有速度为主要依据。1.第一代(1971~1973)——4位和8位机,4004,80082.第二代(1973~1978)——高档8位机8080,Z80、MC68003.第三代(1978~1984)——16位机:8086,8088、MC680004.第四代(1985~1991)——32位机:80386、80486、MC680405.第五代(1992~1999)——32、64位机:Pentium/PentiumPro/PentiumⅡ/PentiumⅢ/Pentium4/Itanium课程的基本要求:1.课程的性质:考试课,是专业基础课2.课程的辅导:辅导教师3.课程的要求:(1)课前要简单概括地预习。(2)课堂要注意听课,把握重点和难点。必要时要做笔记。(3)课后要注意及时复习,整理所学过的内容。(4)认真独立地完成作业。做一些习题加以巩固。工业控制计算机简介电子计算机是科技发展的产物计算机的飞速发展归功于半导体集成技术的发展计算机的发展趋势微型化巨型化网络化智能模拟化单片机的概念微型机是由LSI、VLSI等组成的具有功能强,结构紧凑、系统可靠性高的特征,它由一片集成电路为主组成的中央处理器(CPU)、存储器、通用或专用I/O接口电路等组成的。它分单片微机、单板微机和多板微机。单片机的概念将组成微型计算机的各功能部件:中央处理器、存储器、I/O接口电路及定时/计数器等制作在一块集成电路芯片中从而构成完整的微型计算机。故称作单晶片微型计算机,简称单片机(Singlechipmicrocomputer)。或称微控制器(MCU:Microcontroller)单片机的发展历史初级阶段(1974~1976)FAIRCHILD两片集成芯片(集成工艺限制)低性能阶段(1976~1978)INTERMCS-48高性能阶段(1978~1982)MCS51更高性能阶段(1983~多种机型并行发展单片机的应用应用特点体积小:基本功能部件满足要求可靠性高:BUS大多在内部;易采取电磁屏蔽功能强:实时响应速度;I/O直接操作使用方便:硬件设计简单;提供开发工具资料性能价格比高:电路板小;接插件少易产品化:研制周期短应用:量大面广机电一体化:电脑缝纫机智能仪表:测量仪实时控制:汽车家电:(MOTOROLA)网络通信:通信协议集成其中计算机外设:键盘、打印机保健产品:按摩器提示单片机的出现使得电路设计简单化单片机的应用典型单片机产品器件厂家美国:IntelMotorola、Microchip、Atmel荷兰:Philips德国:Siemens日本:Nec典型单片机产品
•根据每种型号的存储器的类型无ROM型:8031ROM型:8051EPROM:8751EEPROM型:8951单片机的发展趋势性能不断提高CPU功能增强:速度、精度内部资源增多:A/D、D/A、EEPROM多功能引脚:寻址范围大高新技术下移,重点发展8位机性能单片机的发展趋势单片机的多品种:超微型化:MC68HC705:20PIN,2KEPROM、112BYTERAM、15BITTIMERWATCHDOG低功耗,低电压:CHMOSA工艺、空闲等待和掉电停机方式、电压2.4~5.5V:单片机系统开发条件单片机芯片开发工具资料手册第三节计算机中的数值和编码
十进制到二进制的转换整数:除二余数法小数:乘二取整法二进制到十进制的转换直接按权展开二进制到十六进制的转换十六进制到二进制的转换第三节计算机中的数值和编码定点数和浮点数原码、反码和补码第四章MCS-51单片机的结构和原理主要掌握基本组成(内部资源)存储器的配置I/O口的应用功能工作方式时序及电路第一节MCS-51系列单片机的结构以8051为代表讲解基本组成内部结构特殊功能寄存器
一基本组成框图二8051的内部结构算术逻辑部件ALU定时控制部件寄存器组见下页常用寄存器(PC、ACC、B)
PC:程序地址寄存器,16位,执行指令后自动加一,常将PC值设置成程序第一条指令的内存地址。访问范围:0000~0FFFFHACC:累加器,8位,特殊用途的寄存器,专门存放操作数或运算结果。MOVA,#03HADDA,#05HB:8位,专门为乘除法而设置的寄存器常用寄存器(PSW、SP、DPTR)PSW:程序状态字,8位,存放指令执行后的有关状态。(见P79)SP:堆栈指针,8位,专门存放堆栈的栈顶位置。遵循“先进后出”的原则。注意:禁止用传送指令存放数据。DPTR:数据地址指针,16位,存放程序存储器的地址和外部数据存储器的地址。可分DPH和DPL两个独立8位寄存器使用寄存器区的使用内部RAM的00~1FH分为4个区,每个区有8个单元,分别用R0~R7来表示。RS1:RS2=00时:(R0)=20HRS1:RS2=01时:(R0)=20HRS1:RS2=10时:(R0)=20HRS1:RS2=11时:(R0)=20H第二节存储器配置5个存储空间片内/片外程序存储器64K(0000~0FFFFH)P81128B的片内数据存储器(00~7FH)128B特殊功能寄存器SFR(80~0FFH离散分布)位寻址区(20H~2FH)片外数据存储器64K(0000~0FFFFH)第三节输入/输出口(I/O口)四个双向8位I/O口,共32根I/O口线,每个I/O线均由锁存器,输出电路和输入缓冲器组成。每个I/O既可作输入又可作输出,每一条口线可独立用作输入又可用作输出,作输出时可锁存数据,作输入时可缓冲数据。P0口输出输入读--修改-写操作P0作A/D总线P0口组成结构P0口输出时接上拉电阻可驱动8个LSTTL负载作A/D总线时,分时输出A0~A7和D0~D7P1口组成结构P2口组成结构P3口组成结构I/O口小结:从应用功能上P0:系统扩展;一般I/O口(输出时,需接上拉电阻。)P1:专供用户使用的I/O口P2:系统扩展;通用I/O口P3:功能口,每位独立定义;通用I/O口。I/O口小结:负载能力P0驱动8个LSTTL负载P1~P3驱动3~4个LSTTL负载I/O口小结:读入方式每个I/O口均有两种读入方式(用命令区分)读锁存器读引脚ANLA,#0FHMOVA,P1注意:读引脚时,需先向锁存器写“1”。系统复位时,所有口锁存器均置“1”。说明双向口:可使引脚悬浮作高阻输入准双向口:其引脚具有内部拉高电阻,其特点:当外部维持在低电平时,准双向口输入要能提供源电流,而外部低电平消失时,又会自动地使自己拉向高电平。第四节MCS51的引脚功能
各类单片机均兼容,只是功能略有差异。封装:双列直插(DIP)方形:PLCC扁平封装:QFP第四节MCS51的引脚功能管脚功能P88逻辑符号图片外三总线AB:P0口经地址锁存后提供低8位地址,P2口直接提供高8位地址DB:P0口提供8位数据CB:EA,ALE,PSEN,RD,WR,RST等时序电路及时序时钟电路内部方式P83外部方式时序:注意ALE的地址锁存T机器=12T时钟(6个状态12拍)取指令执行指令复位电路RST引脚保持两个机器周期以上的高电平复位电路上电复位电路外部复位电路外部上电复位电路抗干扰复位电路单片机的工作方式复位工作方式正常工作方式单步工作方式编程工作方式省电工作方式思考题片内RAM的容量?8051最大可配置的RAM/ROM容量?单片机主要有哪些组成部分?8051的PSEN、RD、WR的作用?ALE线的作用?当8051不和RAM/ROM相连时,ALE线的输出频率是多少?堆栈的作用?堆栈指示器SP有多少位?时钟周期、机器周期和指令周期的含义?一个机器周期包含有多少个时钟周期?第三章MCS-51单片机指令系统重点掌握寻址方式指令分类第一节概述机器语言汇编语言格式:标号段:操作码段,操作数;注释段指令系统常用符号含义:P95指令分类数据传送类:28条算术运算类:24条逻辑运算类:25条控制转移类:17条位操作类:17条第二节寻址方式七种寻址方式寄存器寻址直接寻址立即寻址寄存器间接寻址变址寻址相对寻址位寻址1立即寻址指令码中直接含有所需地址的操作数MOVA,#30HMOVDPTR,#3000H注意:#是唯一区别与地址的标志。2直接寻址指令码中含有操作数的地址,机器根据地址找到操作数MOVA,30H注意:若直接寻址的地址是SFR中的某一个时,可用名称符号MOVA,TH0MOVA,8CH3寄存器寻址所需的操作数在某个工作寄存器中(R0~R7)INCR0注意:指令表中INCRn,n取0~74寄存器间接寻址指令码中含有操作数地址的寄存器号。实际上是二次寻址间接寻址采用@Ri或@DPTR,@是区别寄存器寻址的标记若(RO)=30H,(30H)=0FFHMOVA,R0MOVA,@R0寄存器寻址可使单片机寻址扩大到64K5相对寻址指令码中含有相对地址的偏移量MOVA,40HADDA,#30HSJMPSOUT;PC=PC+2+rel。;。。SOUT:MOV50H,A6变址寻址基地址寄存器和偏移量MOVCA,@A+PCMOVCA,@A+DPTR注意:变址寻址区是程序存储器而不是数据存储器。执行前,应预先在DPTR和A中存放地址,为指令执行提供条件。7位寻址指令中含有位地址位地址和字节地址的区分通过指令区分:MOVA,20HMOVC,20H可供位寻址的区域片内RAM的20H~2FH为位寻址空间(00~7FH)某些SFR:凡是地址能被8整除的SFR,共11个。位地址的表示方法MOVC,ACC.7MOV20H,CMOV24H.0,C第三节指令系统MCS-51汇编语言是用42种操作码助记符描述33种操作功能,一种功能可能有几种助记符,与寻址方式结合共产生111条指令。数据传送类:28条算术运算类:24条逻辑运算类:25条控制转移类:17条位操作类:17条1数据传送类28条传送数据可在ACC,R0~R7,内部RAM,外部RAM间进行,其中A,R0~R7的操作最多传送类指令不影响PSW(除P位)已知(70H)=60H,(60H)=20HMOVR0,#70HMOVA,@R0MOVR1,AMOV40H,@R1MOV@R0,P1查表指令举例1ORG8000HMOVA,#40HMOVCA,@A+PC;A=?…ORG8040HDB41H42H43H44H查表指令举例2ORG8000H…MOVA,#03HMOVDPTR,#8040HMOVCA,@A+DPTR;A=?…ORG8040HDB41H42H43H44H数据传送类指令小结内部RAM的数据传送方式ROM与ACC的数据传送2算术操作类24条加、减、乘、除、增1、减1影响PSW中的CY、AC、OV、P不带进位加法4带进位加法4带借位减法4加1指令5减1指令4十进制调整指令1乘除法指令2加、减法指令(ADDADDCSUBBINCDEC)无符号数和有符号数由用户自己决定均以ACC作为目的操作数带符号数运算时,必须检查溢出位OV若进行不带进位的减法时,用CLRC,将进位位清零即可。DAA为十进制调整指令,紧跟加法指令BCD码减法
求BCD码减数的补数:9AH-减数被减数加补数结果用十进制加法调整指令例:91-36=?CLRCMOVA,#9AHSUBBA,#36HADDA,91HDAA乘除法指令只能进行无符号的乘除法虽影响0V,但意义不同MULAB;BA,OV=1表示B≠0DIVAB;A…B,0V=1,B=0,除法无意义举例MOVA,#5AHADDA,#6BH0101101001101011(+---------------------11000101CY=AC=OV=3逻辑运算类24条读-修改-写指令对数据进行逻辑处理模拟各种硬件电路的逻辑功能逻辑与ANL逻辑或ORL逻辑异或XRL逻辑移位RRRRCRLRLC累加器清零与取反CLRCPL带进位移位和不带进位移位例M1和M1+1单元存有16位二进制数,试编程将其扩大二倍程序CLRCMOVR1,#M1MOVA,@R1RLCAMOV@R1,AINCR1MOVA,@R1RLCAMOV@R1,A4控制转移指令17条无条件转移绝对转移LJMP、AJMP短转移SJMP间接转移JMP@A+DPTR有条件转移JZ、CJNE、DJNZ子程序调用与返回ACALL、LCALL、RET中断返回RETI空操作NOP举例
MOVR2,#0AHMOVR0,#40HCLRALOOP:ADDA,@R0INCR0DJNZR2,LOOPMOVSUM,A5位操作指令17条位传送MOVBIT,BIT(错误)位逻辑操作与ANL、或ORL、取反CPL位条件转移JC、JNC、JB、JNB、JBC位置位,清零(SETB、CLR)举例例1将内部数据存储器的60H、61H单元中的连续存放着4位BCD码。试编写一段程序将这4位BCD码倒序排列程序MOVR0,#60HMOVR1,#61HMOVA,@R0SWAPAXCHA,@R1SWAPAMOV@R1,A例2已知外部RAM的3000H开始放一数据区,缓冲区中以回车符0DH结束,编程将正数送入片内RAM以30H开始的正数区,将负数放入以40H开始的负数区程序法一MOVR0,#30HMOVR1,#40HMOVDPTR,#3000HNEXT:MOVXA,@DPTRMOV10H,ACJNEA,#0DH,END1SJMPOVEREND1:ANLA,#10000000BJZZHSJMPNEGZH:MOV@R0,10HINCR0INCDPTRSJMPNEXTNEG:MOV@R1,10HINCR1INCDPTRSJMPNEXTOVER:RET法二MOVR0,#30HMOVR1,#40HMOVDPTR,#3000HNEXT:MOVXA,@DPTRCJNEA,#0DH,COMPSJMPOVERCOMP:JBACC.7,LOOPMOVR0,#30HMOV@R0,AINCR0INCDPTRSJMPNEXTLOOP:MOV@R1,AINCR1INCDPTRSJMPNEXTOVER:RET第四章汇编语言程序设计汇编语言的基本知识常用汇编程序设计方法汇编语言的基本知识
汇编语言的基本知识
汇编语言的格式LABLE:OPCODE,OPRAND;OMMENT汇编语言的构成指令性语句指示性语句:伪指令程序设计流程伪指令ORG:ORG2000HENDEQU: AAAEQU20HMOVA,20H(MOVA,AAA)DATA(可前可后)DB、DWBIT:A1BIT00H(MOVC,A1)程序设计流程明确要求和要达到的目的确定解决问题的计算方法和步骤画出流程图分配内存地址按流程图编写程序上机汇编、调试、修改及最后确定源程序$2简单程序(顺序结构)大量使用数据传送类指令注意正确选择指令以提高效率编程将20单元内的两个BCD熟变换成ACSII码放在20H,21H单元内(EX2.ASM)将20H单元内两个BCD码变换成相应的ASCII码放在21H:22H中Org0hLjmp2000hORG2000HMOVR0,#22HMOV@R0,#00MOVA,20HXCHDA,@R0ORL22H,#30HSWAPAORLA,#30HMOV21H,ASJMP$END15BYTE,11TMOVA,20HMOVB,#10HDIVABORLB,#30HMOV22H,BORLA,#30HMOV21H,ASJMP$END;15BYTE14T求16位二进制补码的绝对值MOVA,20HCPLAADDA,#01H;INCAMOV20H,AMOVA,21HCPLAADDCA,#0ANLA,#7FHMOV21H,ASJMP$分支程序根据程序要求无条件或有条件改变程序执行执行的顺序,选择程序的流向.特点:程序中含有转移类指令关键:正确选用转移指令正确运用转移指令无条件分支程序程序设计者事先设计好的LJMP、AJMP、SJMP有条件分支程序根据已经执行的程序对标志位、ACC或内部RAM的某些位的影响结果决定程序的流向JZ/JNZ、CJNE、DJNZ、位控制转移类指令注意使用条件转移指令形成分支前一定安排可供条件转移指令进行判别的条件。JCLOOP正确选定所用的转移条件及转移目标地址$循环程序循环初始化循环次数计数器,工作寄存器设初值等循环体尽量简练;注意地址指针的修改循环控制检查结束条件,及时退出循环注意循环嵌套允许外重循环嵌套内重循环循环体不能交叉不能从循环程序外部跳入循环程序内部例例:200名学生参加考试,成绩放在8031的外部RAM的一个连续存储单元,95~100分颁发A级证书,90~94分颁发B级证书,编一程序,统计获A、B级证书的人数。将结果存入内部RAM的两个单元。注意地址指针的分配ORG0030HEG XDATA1000HGA DATA 20HGB DATA21HMOVGA,#00MOVGB,#00MOVDPTR,#EGMOVR2,#200LOOP:MOVXA,@DPTRCJNEA,#95,LOOP1
LOOP1:JNCNEXT1CJNEA,#90,LOOP2LOOP2:JCNEXTINCGBSJMPNEXTNEXT1:INCGANEXT:INCDPTRDJNZR2,LOOPSJMP$END数据排序
常用气泡法(两两比较法)它先使E100和E99进行比较,若E100>E99,则两数交换,否则不动,然后E99和E98进行比较,按同样的原则,决定是否交换,一直比较下去,最后完成E2和E1的比较及交换。经过N-1次比较后,E1位置必然得到数组中的最大值。犹如一个气泡冒到水顶。如此下去,经过N-1次便完成N个数据的排序。例:100个数据,从小到大进行排序
MOVR2,#100BUB:MOVR0,#20HCLRF0DECR2BL:CJNER2,#0,BBMOV7F,R2MOV20H,@R0MOVA,@R0INCR0MOV21H,@R0CJNEA,21H,LOPLOP:JCBMOV@R0,20HDECR0MOV@R0,21HINCR0SETBF0B:DJNZ7FH,BLJBF0,BUBBB:SJMP$$查表程序的设计
主要用于:复杂代码转换显示数据补偿:传感器补偿复杂函数计算:Y=SIN(X)查表指令在51中有两条查表指令:MOVCA,@A+DPTR使用MOVCA,@A+PC须注意:1.
使用传送指令将数据表格项数送入ACC2.
ADDA,#DATA指令对A进行修改:PC+DATA=表格首地址3.
MOVCA,@A+PC完成查表.例1ADDA,#01H MOVCA,@A+PCRETDB00,01,04,09,10H,19H,24H,31H,30H,51H…例2设一巡回报警系统,对16路输入进行控制,现根据测量路数,找出每路的最大允许值.若大于允许值就报警.
TB3: MOVA,R2 ADDA,R2 MOVR3,A ADDA,#6 MOVCA,@A+PC XCHA,R3 ADDA,#3 MOVCA,@A+PC MOVR4,A RETTAB3:DW1520,3721,4256;表格最大长度256 DW…散转程序设计
JMP@A+DPTR
转移指令表地址偏移量 采用”RET”指令进行散转
采用”RET”指令实行散转
RET执行后,堆栈的内容弹出后并装入PC中,利用这个特点,将转向地址表存入堆栈,然后执行RET指令,即可转向相应的操作程序.例采用”RET”指令实行散转
JP5:MOVDPTR,#TAB5 MOVA,R7 ADDA,R7 JNCNADD INCDPHNDD:MOVR3,AMOVCA,@A+DPTRXCHA,R3INCAMOVCA,@A+DPTRPUSHAMOVA,R3PUSHARETTAB3:DW:OPR0,OPR1,OPR2,…,OPRN
子程序的设计
子程序和运算程序是程序设计的两大支柱.1子程序的概念:完成确定任务,并能为其他程序反复调用的程序段.要求子程序在结构上具有通用性和独立性.例如:代码转换,运算程序等.子程序编写注意的问题
子程序调用:ACALLLCALL子程序返回:RET子程序嵌套注意的问题:嵌套深度与堆栈区大小的问题.子程序第一条必须有标号.
正确传递参数:入口参数和出口参数.
注意现场的保护和恢复子程序的参数传递
通过寄存器传递MAIN:MOVR0,#30H MOVR7,#0AH ACALLSUBR …SUBR:…通过堆栈传递参数主程序用PUSH将参数压入堆栈,子程序按栈指针来间接访问.例
HASC:MOVR0,SPDECR0DECR0XCHA,@R0ANLA,#0FHADDA,#2MOVCA,@A+PCXCHA,@R0RETDB‘01234565789’ DB‘ABCDEF’第五章中断系统及定时器
中断的概念在执行程序的过程中,由于某种外界的原因,必须尽快终止当前的程序执行,而去执行相应的处理程序,待处理结束后,在回来继续执行被终止的程序。这个过程叫中断。微机和外设数据传送(通过不同的接口电路):同步传送异步传送中断传送DMA传送中断技术的优点:提高CPU的效率。提高实时数据的处理时效。故障处理中断系统的功能:中断优先权排队实现中断嵌套自动响应中断实现中断返回。8051的中断系统
5个中断源,具有二个中断优先级,可实现二级中断服务程序的嵌套。每个中断源均可软件编程为高优先级或低优先级中断,允许或禁止向CPU请求中断。有关的特殊功能寄存器(SFR)有:中断允许寄存器IE中断优先级控制寄存器IP中断源寄存器(TCON、SCON中的有关位)注:均可位寻址。中断系统结构图
中断源
外部中断源INT0、INT1:中断标志和触发方式控制位锁存在TCON的低四位。
IE0(IE1)=1表示正在向CPU申请中断,响应后自动清零。
IT0(IT1)=0:低电平触发;IT0(IT1)=1:边沿触发注意:电平触发时,在中断返回前应撤除中断源。中断源内部中断源T0:TF0定时器T0的溢出中断请求T1:TF1定时器T1的溢出中断请求串行口中断:发送中断TI和接收中断RI逻辑或后做为内部的一个中断源。注意:响应中断后,CPU并不清零中断标志位,必须软件清零。(SCON的低两位。
中断控制
中断使能控制IE(A8H)EA——ESET1EX1ET0EX0实现两级控制注意:复位时,禁止所有中断中断优先级控制IP(B8H)———PSPT1PX1PT0PX0每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高到低)中断的响应过程
每个机器周期都顺序检查每一个中断源,若查询到某个中断标志位为1如果不被下述条件所阻止,则将在下一个机器周期的状态1响应激活最高中断请求。阻止条件:1)CPU正在处理相同或更高级的中断请求;2)现在的机器周期不是执行指令的最后一个机器周期(MOVR1,20H)3)正在执行的指令是RETI或对IE、IP的写操作指令。(执行这些指令后,至少再执行一条指令后才会响应中断)CPU响应中断时完成工作置位相应的优先级状态触发器执行一条硬件子程序调用(内部),使控制转移到相应的中断入口地址;PC的内容进栈;(断点地址)被响应的中断服务程序的入口地址送PC注意
各个中断源的中断入口地址均已由系统规定,不能改动。
中断源:INT0、C/T0、INT1、C/T1、串行口
入口地址:0003H、000BH、0013H、001BH、0023H
中断系统初始化开相应中断源的中断;(IE)设定中断优先级;(IP)若为外部中断,设定外部中断的触发方式。例中断初始化例CLRIT1 SETBPX1 SETBEX1 SETBEA
ORLIP,#04HANLTCON,#0FBHMOVIE,#84H
中断服务程序的一般格式
CLREA ;注意:子程序与中断服务PUSHPSW ;程序的区别(参数传递)PUSHACC…SETBEA中断服务程序CLREA…POPACCPOPPSWSETBEARETI例1外部中断的应用:8051单片机的P1口控制8个LED灯,要求8个灯加1移位点亮,当中断来时,灯全灭或全亮,然后继续加1移位点亮。
ORG0HAJMPSTORG0003HAJMPEXT0ORG0030HST:MOVSP,#70HMOVIE,#81HMOVIP,#01HMOVTCON,#00HRES:MOVR1,#08H MOVA,#0FFHLOOP:MOVP1,ADECAACALLDELAYACALLDELAYDJNZR1,LOOPSJMPRES 中断服务程序EXT0:PUSHACCMOVA,#00 MOVP1,AACALLDELAYACALLDELAYCPLAMOVP1,AACALLDELAYACALLDELAYPOPARETI
例:实验三定时器实验org0sjmpstartorg000bhajmpct0org0030hstart: movsp,#70h movtmod,#01h movth0,#3ch movtl0,#0b0h movr1,#14h movr2,#0h movdptr,#tab setbet0 setbea setbtr0loop:cjner1,#0,loop1 movr1,#14h mova,r2 movca,@a+dptr movp1,a incr2loop1:cjneR2,#08h,loop
movr2,#0h sjmploopct0: decr1 movth0,#3ch movtl0,#0b0h retitab: db0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh
定时器/计数器
两个16位定时计数器相关的SFR:TMOD(工作方式)TCON(状态)。定时功能时,每个机器周期定时器加1计数功能时,在外部事件相应输入脚(T0和T1)产生负跳变,计数器加1。
定时器的控制字
定时器控制寄存器TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0C/T方式寄存器TMOD(89H)GATAC/TM1M0|GATAC/TM1M0注意:不能位寻址定时工作过程
定时器的工作方式:方式0:13位定时计数器注意:TL0的低5位和TH0共同组成方式1:16位定时计数器方式2:自动重装入的8位定时计数器溢出后(TF0=0)由TH0→TL0方式3:T0成为两个独立的8位计数器TL0作为定时计数器;TH0仅作定时器用TL0的控制用原T0的,TH0用原T1的控制位T1工作在方式0~2,溢出时送串行口,经常作为串行口波特率发生器
定时器/计数器的初始化
1根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器响应的工作方式;2根据需要给C/T选送初值以确定需要的定时时间或计数的初值;3根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级;4给TCON送命令字以启动或禁止C/T的运行。初值的计算
计数器初值:设计数模值为M,计数初值设定为TC,计数器计满为零所需的计数值为C,则:TC=M-C(M=213,216,28)定时器初值:
T=(M-TC)T机器
几种工作方式的最大定时时间若TC=0,定时时间为最大,设FOSC=12MHZ,几种工作方式下的最大定时时间为:方式0:TMAX=8.192MS;方式1:TMAX=65.536MS;方式2、3:TMAX=0.256MS;
例:FOSC=12MHZ,试计算定时时间2MS所需的定时器的初值.
方式2、方式3TMAX=0.256MS,所以必须将工作方式设在方式0或方式1:方式0:TC=213-2MS/1US=6192=1830HTL0=10H,TH0=0C1H方式1:TC=216-2MS/1US=63536=0F830HTL0=30H,TH0=0F8H编程方式采用查询方式:程序一直检测TF0(TF1),若TF0=1(TF1=1),说明定时时间到或计满数采用中断方式:程序初始化时,设置定时器溢出中断允许后,内部硬件自动检测到TF0=1(TF1=1)时,自动响应中断,进入中断服务程序。应用举例例1选用T1方式0产生500US的定时,在P1.1输出周期为1MS的方波;FOSC=6MHZ
注意:T0不用时的处理,一般置0方式,禁止进入方式3.初值计算:T=500US=(213-TC)*2US,TC=7942TC=7942D=8F06H主程序BEGIN:MOVTMOD,#0 MOVTL1,#06H MOVTH1,#0F8H SETBTR1LOOP:JBCTF1,PF0 SJMPLOOPPF0:MOVTL1,#06H MOVTH1,#0F8H CPLP1.1AJMPLOOP例2
从P3.4T0输入低频脉冲,要求该脉冲每发生一次跳变时由P1.0输出一个500US的负脉冲,与此同时由P1.1输出一个宽为1MS的正脉冲.
先设T0为计数方式,当外部脉冲来一个负跳变时,计数加1,并产生溢出,TF0=1;检测到TF0=1时,即可设定T1为定时方式;T0设为方式2;初值设为0FFH即加1即刻产生溢出.ORG0HSJMPBEGINORG000BHAJMPTT1ORG0030HBEGIN:MOVTMOD,#06H MOVTH0,#0FFH MOVTL0,#0FFHCLRP1.1Setbet0SetbeaSETBP1.0SETBTR0S1:SJMP$中断服务程序ORG300HTT1:MOVTMOD,#20HMOVTH1,#0AH;06HMOVTL1,#0AH ;06HSETBP1.1CLRP1.0SETBTR1DEL2:JBCTF1,RP1SJMPDEL2RP1:SETBP1.0DEL3:JBCTF1,RP2SJMPDEL3RP2:CLRP1.1CLRTR1RETI例3:门控位的应用
GATE位是控制外部输入脉冲对定时计数器的控制,利用这个特性。可测量输入脉冲的宽度。如:利用T0门控位测试INT0引脚上出现的正脉冲的宽度,并以周期数显示。
ST:MOVTMOD,#09HMOVTL0,#00HMOVTH0,#00HWAIT1:JBP3.2,WAIT1SETBTR0WAIT2:JNBP3.2,WAIT2WAIT3:JBP3.2,WAIT3CLRTR0MOVA,TL0MOVR0,#DISBUFXCHDA,@R0INCR0SWAPAXCHDA,@R0INCR0MOVA,TH0XCHDA,@R0INCR0SWAPAXCHDA,@R0DIS:LCALLDISPAJMPDIS第十章
MCS—51串行通信接口技术微机联网:单片机与单片机;单片机与其他微机之间实现信息共享;典型的计算机测量与控制系统构成:一个典型集散式(DCS)控制系统的构成
§10.1串行通信基础
数据通信方式:并行通信与串行通信并行通信:一次传输8(16、32Bit)
8根数据线,1根控制线,
1根状态线,地线,共11根;特点:速度快,适合近距离传输计算机并口,打印机,8255串行通信:数据一位一位地发送,一根发送线,一根接受线,地线,共3根 特点:硬件方便,适合距离远,速度要求不高的场合分类:同步串行通信和异步串行通信一、异步通信:
串行通信就是将并行的数据分开后,一位一位地发送出去,接收方也是一位一位地接收数据,这就需要通信的双方有一个协议,什么时候开始发送,什么时候发送完毕;接收方收到的信息是否正确等,而这些信息只能以电平的高低来表示,构成这些位的数据称为一帧。异步串行通信规定了传输数据的结构即帧格式:起始位数据位奇偶校验位停止位1.起始位:在数据发送线上规定无数据时电平为1,当要发送数据时,首先发送一个低电平0,表示数据传送的开始,这就是起始位。2.数据位:真正要传送的数据,可以是8位、10位等多位,数据位是由低位开始,高位结束;3.奇偶校验:数据发送完后,发送奇偶校验位,以检验数据传送的正确性,这种校验方法是有限的,但是容易实现。
4.停止位:表示数据传送的结束,可以是一位或两位。
帧格式:
二、同步通信
同步通信先发送一个字符,作为同步字符,之后便连续发送数据,数据之间不能有间隔,直到数据发送完毕。速度要比异步通信快通用异步接受/发送器(UNIVERSALASYNCHRONOUSRECEIVER/TRANSMITTER):UART:82506850
三、单工、半双工、全双工通信方式
1.
单工方式:一端是发送端,另外一端是接收端:
半双工发式
每端口由一个发送器和接收器,通过开关连接在线路上,数据可以双方交换,但不能同时发送和接收.
3.全双工方式
通信双方用两个独立的收发器单独连接,可以同时发送和接收数据,因而提高了速度。
4.波特率
单位时间内传送的信息量。以每秒传送的位为单位:电传机:10字符/秒,1个字符11位,波特率为:10×11=110(波特)位宽:传送过程中平均每位占用时间
Td=9.1ms(1/110)串行通信总线标准及接口
测控系统中,计算机通信主要采用异步串行通信方式,常用的异步串行通信接口标准有三种:●RS-232(RS-232ARS-232BRS-232C)●RS-449(RS422RS423RS485)●20mA电流环一、通信方式的选取
1.
1.
通信速率和通信距离这两个方面是相互制约的,降低通信速率,可以提高通信距离
RS-232C:速率:20Kbit/S,最大通信距离:15mRS422:10Mbit/s,:300m90Kbit/s,:1200m1.
2.抗干扰能力采用标准的通信接口,本身具有一定的抗干扰能力,但是工业现场的情况往往很恶劣,因而要根据具体情况进行选择。
RS232C:一般场合
RS422:共模信号比较强光纤:电磁干扰较强二、RS232C简介
美国电子工业协会(EIA)公布的一种异步通信标准:RS232C标准:●设备之间通信的距离不大于15米●最大传输速率20KB/S●采用负逻辑:“1”——―5V∽―15V“0”——+5V∽+15V●不带负载时输出电平:―25V∽+25V●输出短路电流:<0.5A●最大负载电容:2500pF
TTL电平可以由专用集成电路转换成RS232C标准;
如:MC1488或75188TTLRS232CMC1489或75189RS232CTTL由于MC1488需要采用±12V电源,一般在单片机通信中大量使用的是只需要+5V电源、具有发送和接收的一体化芯片,如:MAX232、ICL232、ADM202等。
MAX232芯片内部有两路接收器和发送器具有电源变换电路
MCS—51双机通信(利用MAX232)
三、调制与解调
RS232C通信距离很短,RS422通信距离不过1200米;更长距离需采用调制与解调。
MCS-51的串行口的结构
8051有一个可编程的全双工串行通信接口,它可作UART用,也可作同步移位寄存器,其帧格式可有8位、10位或ll位,并能设置各种波特率,给使用者带来很大的灵活性。
一、结构
805l通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.l,串行数据发送端)与外界进行通信。图中有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据。发送缓冲器只能写入,不能读出,接收缓冲器只能读出、不能写入。
串行发送与接收的速率与移位时钟同步。8051用定时器T1作为串行通信的波特率发生器,T1溢出率经2分频(或不分频)又经16分频作为串行发送或接收的移位脉冲。移位脉冲的速率即是波特率。接收器是双缓冲结构,在前—个字节被从接收缓冲器SBUF读出之前,第二个字节即开始被接收(串行输入至移位寄存器),但是,在第二个字节接收完毕而前—个字节CPU未读取时会丢失前一个字节。
串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的,当向SBUF发“写”命令时(执行MOVSBUF,A指令),即是向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行口接收中断标志位RI〔SCON.0〕=0的条件下,置允许接收位REN(SCON.4)=1就会启动接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使RI=l。当发读SBUF命令时(执行MOVA,SBUF指令),即是由接收缓冲器(SBUF)取出信息通过8051内部总线送CPU。
对于发送缓冲器,因为发送时CPU是主动的,不会发生重迭错误,所以不需要用双缓冲结构来保持最大传送速率。
二、串行口控制字及控制寄存器
8051串行口是一个可编程接口,对它的编程只用两个控制字分别写入特殊功能寄存器:串行口控制寄存器SCON(98H)电源控制寄存器PCON(97H)
第七章微机控制系统应用举例
模/数(A/D)转换电路的种类很多,例如,计数比较型、逐次逼近型、双积分型等等。选择A/D转换器件主要是从速度、精度和价格上考虑。我们主要学习后二种典型A/D电路芯片与8051单片机的接口以及程序设计方法。逐次逼近法A/D转换器,在精度、速度和价格上都适中,是最常用的A/D转换器件。双积分A/D变换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。近年来在微机应用领域中也得到广泛应用。
一、逐次逼近型A/D转换器原理
逐次逼近法A/D转换器是一种速度较快、精度较高的A/D转换器,它是通过最高位DN—1至最低位D0的逐次检测来逼近被转换的输入电压。
一个N位的逐次逼近法A/D转换器的原理图如下所示:
其转换原理如下:
在启动信号控制下.置数控制逻辑电路置N位寄存器最高位DN-1为l,其余位清0,N位寄存器的内容经D/A转换后得到整个量程—半的模拟电压Vn,与输入电压Vx比较。若Vx>Vn时,则保留DN-1=1,若Vx<Vn时,则DN-1清0。然后,控制逻辑使寄存器下一位DN-2置1,与上次的结果一起经D/A转换后与Vx比较,重复上述过程,直至判别出D0取1还是0为止,此时DONE发出信号表示转换结束。这样,经过N次比较后,N位寄存器的状态就是转换后的数字量,经输出缓冲器读出。整个转换过程就是这样对分搜索比较逼近实现的,其转换速度由时钟频率决定,一般在几微秒到上百微秒之间。例如ADC0809,当时钟频率为640kHz时,转换时间为64μs。
二、双积分A/D转换器原理
双积分A/D转换器是基于间接测量原理,将被测电压值Vx转换成时间常数,由测量时间常数得到未知电压值的,
其原理见下图所示:所谓双积分,就是进行一次A/D转换需要二次积分。①定时积分:控制门通过电子开关把被测电压Vx加到积分器的输入端,在固定时间T0内对Vx积分,积分输出终值与Vx成正比;②控制门将电子开关切换到极性与Vx相反的基准电压Vr上,进行反相积分,由于基准电压Vr恒定,所以积分输出将按T0期间积分的值以恒定的斜率下降(称定值积分),由比较器检测积分输出过零时,停止积分器工作。反相积分的时间Tx与定值积分的初值(即定时积分的终值)成比例关系,故可以通过测量反相积分时间Tx计算出Vx,即:
Vx=(Tx/T0)×Vr反相积分时间T1由计数器对时钟脉冲计数得到。
下图表示出了两种不同输入电压(Vx>Vˊ)的积分情况:显然Vˊ值小,在T0定时积分期间积分器输出终值也就小,而下降斜率相同,故反相积分时间Tˊ也就小。
由于双积分方法二次积分时间比较长。所以A/D转换速度慢,但精度可以做得比较高;对周期变化的干扰信号积分为零,抗干扰性能也比较好。
目前国内外双积分A/D转换器集成电路芯片很多,大部分是应用于数字测量仪器上。适用单片机接口的有3位半双积分A/D转换器MC14433(精度相当于1l位二进制数)和4位半双积分A/D转换器ICL7135(精度相当于14位二进制数)。
三、A/D转换器的主要技术指标
1.分辨率(Resolution)
对于ADC来说,分辨率表示输出数字量变化一个相邻数码所需输入模拟电压的变化量。
转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。例如:具有12位分辨率的ADC能够分辨出满刻度的1/212或满刻度的0.0245%一个10v满刻度的12位ADC能够分辨输入电压变化的最小值为2.4mv。
2.转换速率(Conversion
Rate)
ADC的转换速率就是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间)是转换速率的倒数。
3.线性度(Linearity)
线性度有时又称为非线性度(Non-Linearity),它是指转换器实际的转移函数与理想直线的最大偏移。理想直线可以通过理想的转移函数的所有点来描述。ADC的线性度如图所示,其典型值是土1/2LSB。
MCS-51单片机与A/D转换器接口
一、ADC0809A/D转换芯片ADC0809是CMOS工艺、采用逼近法的8位A/D转换芯片,28引脚双列直插式封装,片内除A/D转换部分外还有多路模拟开关部分。
有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。
ADC0809的内部结构逻辑图
引脚功能说明
IN0—IN7:8路输入通道的模拟输入端。DB0一DB7:8位数字量输出端。START:启动信号。加上正脉冲后,A/D转换开始进行。ALE:地址锁存信号,高电平时把三个地址信号送入地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道。ADDA、ADDB、ADDC:地址线
EOC:转换结束信号,是芯片的输出信号。转换开始后,EOC信号变低;转换结束时。EOC返回高电平。这个信号可以作为A/D转换器的状态信号来查询。也可以直接用作中断请求信号。OE:输出允许控制端。CLK:时钟信号,最高允许值为640kHz。Vref(+)、Vref(-),:A/D转换器的参考电压。Vcc:电源电压。由于是CMOS芯片,允许的电源范围较宽,可从十5——
十15V。
8位模拟开关的地址输入通道的关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024公司高层向企业借款协议范例
- 诚信合规协议样本(2024年)
- 南京信息工程大学《主任工作技能》2022-2023学年第一学期期末试卷
- 南京信息工程大学《证券投资学》2021-2022学年第一学期期末试卷
- 2024年建筑保温服务协议及特别约定
- 党纪学习计划个人
- 福建省龙岩市非一级达标校联盟2024-2025学年高二上学期期中考试数学试卷(无答案)
- 房产代理销售法律协议样本2024年
- 2024年电子商务培训方案:打造未来电商领袖
- 摩托车的行车安全与事故预防考核试卷
- 锂电池供应商的合作协议书范文
- 杭州市2025届高三教学质量检测(一模) 英语试题卷(含答案解析)
- 培训教学课件模板
- 系统架构师论文(经典范文6篇)
- 农业科技园区发展规划
- 降低患者外出检查漏检率-品管圈课件
- 五年级上册生命安全教育全册教案
- 2024年中国烟花鞭炮市场调查研究报告
- 第二单元 成长的时空(知识清单)-【上好课】2024-2025学年六年级道德与法治全一册同步课堂(统编版五四制2024)
- 国开2024年秋《机电控制工程基础》形考任务4答案
- JBT 1306-2024 电动单梁起重机(正式版)
评论
0/150
提交评论