单片微型计算机原理及其应用_2_第1页
单片微型计算机原理及其应用_2_第2页
单片微型计算机原理及其应用_2_第3页
单片微型计算机原理及其应用_2_第4页
单片微型计算机原理及其应用_2_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章MCS-51系统的串行接口71 串行通讯概述一、串行通讯的两种基本方式1异步传送方式 第n个字符(一串行帧)n+1n-1P10D0D1D2D3D4D5D6D7P10D0起始位起始位数数据据位位校验位校验位停止位停止位图 7-2 异步通讯的帧格式开始开始结束结束同步字符同步字符同步字符同步字符数据段数据段CRC字符字符#1CRC字符字符#2图 7-3 同步传送方式二、 波特率图 7-4 串行通讯的制式 三、数据传送的方向1单工制式(Simplex)2半双工制式(Half Duplex)3全双工(Full-duplex)制式72 MCS-51单片机的串行接口一、MCS-51串行口结构图 7-

2、5 MCS-51串行口组成示意1串行口数据缓冲器SBUF 2串行口控制寄存器SCON见表格7-1SM0位地位地址址9F9E9D9C9B9A9998SCONSM1SM2RENTB8RB8TIRI接收中断标志发送中断标志接收数据第9位发送数据第9位接收控制0:禁止接收1:允许接收多机通信0:单机对单机1:多机通信图 7-6 串行口控制寄存器SCON图 7-6 串行口控制寄存器SCON3特殊功能寄存器PCONPCON主要是为CHMOS型单片机的电源控制设置的专用寄存器,单元地址为87H,不能位寻址。其格式如图7-7所示。SMODGF1GF0PDIDL通用标志位空闲控制位0:正常方式1:空闲方式掉电控

3、制位0:正常方式1:掉电方式波特率选择位SMOD=1时,方式1、2和3的波特率加倍图 7-7 PCON各位定义二、MCS-51串行的工作方式MCS-51的串行口有四种工作方式,它是由SCON中的SM1和SM0来决定的,如表格7-1表格 7-1 串行口的工作方式SM0SMl工作方式工作方式方式简单描述方式简单描述波特率波特率000移位寄存器移位寄存器I/O主振频率主振频率/120118位位UART可变可变1029位位UART主振频率主振频率/32或主振频率或主振频率/641139位位UART可变可变1方式0图 7-8 串行口方式0的时序2方式1在方式1时,串行口被设置为波特率可变的8位异步通信接

4、口。其时序如图7-9所示。图 7-9 串行口方式1的时序3方式2串行口工作为方式2时,被定义为9位异步通信接口。其时序如图7-10所示。4方式3图 7-10 串行口方式2、3的时序三、MCS-51串行通信的波特率1方式0的波特率2方式2的波特率 3方式1或方式3的波特率波特率(方式1、3)fosc=6Mfosc=12Mfosc=11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k12FFH19.2k12FDH9.6k02FDH4.8k12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0

5、H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH表格 7-2 常用波特率和定时器T1初值关系表73 MCS-51单片机串行口的应用 一、串行口方式0用作扩展并行I/O口图 7-11 串行口方式0扩展并行输出口MOVSCON,#00H;串行口方式;串行口方式0初始化初始化MOVA,#80H;最左一位发光二极管先亮;最左一位发光二极管先亮CLRP1.0;关闭并行输出;关闭并行输出START1:MOVSBUF,A;开始串行输出;开始串行输出LOOP:JNBTI,LOOP;查询;查询TISETBP1.0;启动并行输出;启动并行输

6、出ACALLDELAY;显示延时;显示延时CLRTI;清发送中断标志;清发送中断标志RRA;准备右边一位显示;准备右边一位显示CLRP1.0;关闭并行输出;关闭并行输出SJMPSTART1;再一次串行输出;再一次串行输出二、方式1与点对点的异步通讯在下面给出的实现指定功能的通讯程序中,发送和接收都通过调用子程序来完成,并设发送数据区的首地址为20H,接收数据区的首地址为40H。主程序:MOVTMOD,#20H;定时器;定时器1设为方式设为方式2MOVTL,#0F3H;定时器初值;定时器初值MOVTH1,#0F3H;8位重装值位重装值SETBTR1;启动定时器;启动定时器1MOVSCON,#50

7、H;串行口设为方式;串行口设为方式1,REN1MOVR0,#20H;发送数据区首址;发送数据区首址MOVR1,#40H;接收数据区首址;接收数据区首址ACALLSOUT;输出一个字符;输出一个字符$:SJMP$;等待中断;等待中断中断服务程序:ORG0023H;串行口中断入口;串行口中断入口AJMPSBRl;转至中断服务程序;转至中断服务程序SBRl:JNBRI,SEND;TI1,为发送中断为发送中断ACALLSIN;RI1,为接收中断为接收中断SJMPNEXT;转至统一的出口;转至统一的出口SEND:ACALLSOUT;调用发送子程序;调用发送子程序NEXT:RETI;中断返回;中断返回发送

8、子程序:SOUT:MOVA,Ro;取发送数据到;取发送数据到AMOVC,P;加上奇校验位;加上奇校验位CPLCMOVACC.7,CINCR0;修改发送数据指针;修改发送数据指针MOVSBUF,A;发送;发送ASCII码码CLRTI;清发送中断标志;清发送中断标志RET接收子程序:SIN:MOVA,SBUF;读出接收缓冲区内容;读出接收缓冲区内容MOVC,P;取出校验位;取出校验位CPLC;奇校验;奇校验ANLA,#7FH;删除校验位;删除校验位MOVR1,A;读入接收缓冲区;读入接收缓冲区INCR1;修改接收数据指针;修改接收数据指针CLRRI;清接收中断标志;清接收中断标志RET三、方式2、

9、方式3与多机通讯TXDRXD80310#从机TXDRXD主机TXDRXD80311#从机TXDRXD8031n#从机图 7-12 多机通讯连接示意图1多机通信原理2多机通信实现四、微机与单片机之间的通讯图 7-13 微机与单片机串行通信接口74 相互通道接口标准及其选择一、相互通道的典型结构 二、关于RS-232C、RS-449、RS-422、RS-423和RS-485接口(a)主从式分布(b)串行总线式串行通讯接口主计算机系统TXDRXD1#单片机应用系统TXDRXD2#单片机应用系统TXDRXDn#单片机应用系统TXDRXD0#单片机应用系统发送接收TXDRXDTXDRXD1#单片机应用系

10、统n#单片机应用系统图 7-14 多机系统的相互通道2 2抗干扰能力抗干扰能力1RS-232C接口公用电话交换网ModemModemRS-232C接口RS-232C接口DTEDCEIBM CompatibleAIBM CompatibleBDTEDCE图 7-15 通过电话网实现远程连接表格 7-3 微机中常用的RS-232C接口信号引脚号引脚号符号符号名称名称说明说明1PGND保护地保护地为了安全和大地相连,有时可不接为了安全和大地相连,有时可不接2TXD发送数据发送数据从从DTE到到DCE的数据线的数据线3RXD接收数据接收数据从从DCE到到DTE的数据线的数据线4RTS请求发送请求发送当

11、当DTE希望在数据线上传递数据时由希望在数据线上传递数据时由DTE发出,发出,DCE通过所得通过所得到的控制信号决定是否响应到的控制信号决定是否响应5CTS允许发送允许发送允许计算机发送数据时,则由允许计算机发送数据时,则由DCE发出发出6DSR数字置位就绪数字置位就绪当数据线已被接好后由当数据线已被接好后由DCE发出发出7SGND信号地信号地作为信号地的公共回路作为信号地的公共回路8DCD数据载波检测数据载波检测当当DCE已经从数据线上接收到信号时发出此信号已经从数据线上接收到信号时发出此信号20DTR数字终端就绪数字终端就绪当当DTE已准备好和调制解调器交换数据时,由已准备好和调制解调器交

12、换数据时,由DTE发出,使用发出,使用公共通信网时才需要公共通信网时才需要22RI振铃指示振铃指示当正在进行通信时,由当正在进行通信时,由DCE发出,使用公共通信网时才需要发出,使用公共通信网时才需要表格7-3微机中常用的RS-232C接口信号123:RS-232C 链路发送接收地微机终端123:图 7-16 简单的RS-232C数据通讯2RS-449、RS-422、RS-423和RS-485接口特性参数RS-232CRS-423RS-422RS-485工作模式单端发单端收单端发双端收双端发双端收双端发双端收在传输线上允许的驱动器和接收器数目1个驱动器1个接收器1个驱动器10个接收器1个驱动器

13、10个接收器32个驱动器32个接收器最大电缆长度15m1200m(1kb/s)1200m(90kb/s)1200m(100kb/s)最大速率20kb/s100kb/s(12m)10Mb/s(12m)10Mb/s(15m)驱动器输出(最大电压)25V6V6V-7V+12V驱动器输出(信号电平)5V(带负载)15V(未带负载)3.6V(带负载)6V(未带负载)2V(带负载)6V(未带负载)1.5V(带负载)5V(末带负载)驱动器负载阻抗3k7k45010054驱动器电源开路电流(高阻抗态)Vmax/300(开路)100A(开路)100A(开路)100A(开路)接收器输入电压范围15V10V12V-

14、7V+12V接收器输入灵敏度3V200mV200mV200mV接收器输入阻抗2k7k4kmin4kmin12kmin第八章 MCS-51单片机的中断系统自然优先级矢量地址自然优先级矢量地址高级中断请求PCPC断请求低级中SCON中断标志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允许总允许优先级硬件查询EA图 8-1 8051的中断系统81 中断系统及其管理中断系统及其管理一、中断源及中断入口中断源中断源入口地址入口地址外部中断外部中断000

15、03H定时器定时器T0中断中断000BH外部中断外部中断10013H定时器定时器T1中断中断001BH串行口中断串行口中断0023H二、外部中断请求标志2SCON的中断标志 1TCON中的中断标志三、中断允许控制四、中断源优先级的设定五、中断响应处理过程2中断处理1中断响应的过程3中断返回 4外部中断响应时间82 扩充外部中断源扩充外部中断源一、利用定时器进行扩充8051INT0INT1P1.3P1.2P1.1P1.0XI0XI1XI2XI3XI4R5.1KVCC图 8-2 多外部中断源连接方法二、采用中断和查询相结合的方法扩充外部中断源EXINT:PUSHPSWPUSHACCJBP10,SA

16、V1JBP11,SAV2JBP12,SAV3JBP13,SAV4DISUB:POPACCPOPPSWRETISAV1:;XI1中断服务程序AJMPDISUBSAV2:;XI2中断服务程序AJMPDISUBSAV3:;XI3中断服务程序AJMPDISUBSAV4:;XI1中断服务程序AJMPDISUB83 中断系统的应用中断系统的应用8051P1.7P1.4P1.3P1.0INT0+5V+5V+5V+5V+5V图 8-3 外部中断实验第九章单片机应用系统的设计方法及实例91 显示器、键盘与单片机的连接一、LED数码管与单片机的连接共阴极共阳极 5Va b cdefgdp(a)( b)a bcde

17、fgdp图 9-1 共阴极和共阳极数码管1静态显示eVCCfdgch+ibAaBVCRLEDVSSC8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7abcdfgdp(a)(b)图 9-2 静态显示原理DISP:MOVR0,#50H;R0指向第一个显示单元MOVR2,#4;循环计数器赋初值MOVR3,#0;显示位指针赋初值LOOP:MOVA,R0ANLA,#0FH;取第i个显示单元的低4位SWAPAORLA,R3;第i个显示单元的低4位送R3的高4位MOVP1,A;第i个显示单元的低4位送R3指出的数码管去显示MOVA,R0ANLA,#0F0H;取第i个显示单元的高4位I

18、NCR3;指向下一个数码管ORLA,R3;第i个显示单元的高4位送R3指出的数码管去显示MOVP1,A;将第i个显示单元的高4位送到相应的数码管去显示INCR0;指向下一个显示单元INCR3;指向下一个LED数码管DJNER2,LOOP;未显示完4单元的8个BCD码,返回继续显示RETP1 .7P1.6P1.5P1.48031P1.3P1.2P1.1P1.0DCBALEGY0AY1BY2CY7DCBALEDCBALE74LS138MC14495 图9-3采用译码器的静态显示接口电路2串行显示接口8031RXDTXDP1.0ABCLKCLRABCLKCLRABCLKCLR74LS164图9-5串

19、行显示接口DISP:SETBP1.0;选通显示器MOVSCON,#00H;置串口方式0MOVR0,#50H;R0指向第一个显示单元MOVR2,#4;循环计数器置初值MOVDPTR,#TAB;DPTR指向第一个显示单元LOOP: MOVA,R0ANLA,#0FH;取第i个显示单元的低4位MOVCA,ADPTR;查译码表MOCSBUF,A;第i个显示单元的低4位的显示码送串口缓冲器WAIT1: JNBTI,$;未发送完,等待CLRTI;清发送中断标志MOVA,R0ANLA,#0F0H;取第i个显示单元的高4位SWAPAMOVCA,ADPTR;查译码表MOCSBUF,A;第i个显示单元的高4位的显示

20、码送串口缓冲器WAIT2: JNBTI,$;未发送完,等待CLRTI;清发送中断标志INCR0DJNZR2,LOOP;未发送完4个单元的8个字符,返回继续RETTAB:DB03H,9FH,25H,0DH,99H,DB49H,41H,1FH,01H,19H3动态扫描显示接口P1.7PI.6P1.5P1.4P1.3P1.2P1.1P1.0AT89C2051P3.3P3.2P3.1P3.0+5V图 9-6 动态扫描显示接口电路;-主程序-STAR: LOOP: ACALL S00EF;将显示缓冲区内容送去显示SJMPLOOP;-送显示子程序-DISP: CLRAORLA,P3;取P3口内容ANLA,

21、#0F0HMOVR3,A;保护P3口高4位MOVA,43H;取位选信号ANLA,#0FH;位选信号送A的低4位ORLA,R3;P3口高4位送A的高4位MOVR0,34H;取段选指针MOVP1,#0FFH;关显MOVP3,A;输出位选信号MOVA,R0;显示内容送AMOVDPTR,#TAB;译码表首址送DPTRMOVCA,A+DPTR;查表译显示码MOVP1,A;输出段选信号1MOVA,43H;RLA;MOV43H,A;位选指针指向下一位INC34H;段选指针指向下一位JB ACC.0,DONE;不到最后一位,转MOV34H,#50H;段选指针复位MOV43H,#0EEH;位选指针复位DONE:

22、 RET;-显示译码表-TAB:DB 0C0H;显示字符0,相对地址00HDB 0F9H;1DB 0A4H;2DB 0B0H;3DB 99H;4DB 92H;5DB 82H;6DB 0F8H;7DB 80H;8DB 90H;91GVcc1A12G2Y41Y11A22A42Y31Y21A32A32Y21Y31A42A22Y11Y4GND2A1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031S1S4S3S2(a)(b)图9-7按键与单片机直接连接S1S4S3S2P0 .0P0.1P0.2P0.38031P2.7RD1A11Y11A21Y21A31Y31A41Y41G+5V7

23、4LS244图9-8带锁存器的按键与单片机的接口电路两次按键值不同吗?第一次发现键按下吗 ?键有效标志 =0吗 ?无键按下吗?置第一次发现键按下标志,存键值清键有效标志清第一次发现键按下标志,清键值下标志,保存键值键处理返回开始置键有效标志键有效标志 =1吗?YYYYY图 9-9 按键接口程序流程图程序如下:KSCAN:MOVDPTR,#7FFFH;指向244MOVXA,DPTR;读244ANLA,#0FH;取4个按键的值CJNEA,#0FH,LOOS ;无键按下,转去判断是否键放开JB11H,L0475;键有效标志等于1,等待键放开,返回JC10H,SETSYN;第一次发现键按下,转去置标志

24、,存键值CJNEA,R4,CLRSYN ;两次读得的按键值不同,键无效,清第一次发现键按下标志SETB11H;置键有效标志RETLOOS:JNB11H,RETUR;键有效标志等于0,未按过键,返回SJMPKEYDO;键放开,转键处理SETSYN:SETB10H;置第一次发现键按下标志MOVR4,A;保存键值SJMPRETUR;返回CLRK:CLR11H;清键有效标志CLRSYN:CLR10H;清第一次发现键按下标志MOVR4,#00H;清键值暂存单元RETKEYDO:RRCAJCJUS2;没按S1,再判断S2ALMPDOS1;转键S1处理程序JUS2:JCJUS3;没按S2,再判断S3ALMP

25、DOS2;转键S2处理程序JUS3:JCJUS4;没按S3,再判断S4ALMPDOS3;转键S3处理程序JUS4:JCRETUR;没按S4,误判断,退出ALMPDOS4;转键S4处理程序DOS1:;键S1处理程序SJMPRETURDOS2:;键S2处理程序SJMPRETURDOS3:;键S3处理程序SJMPRETURDOS4:;键S4处理程序SJMPRETUR三、键盘与单片机的接口P0 .0P0.1P0.2P0.3P2.7RD8031P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.71Y11Y2 1Y31Y42Y12Y22Y32Y41G2G1A11A21A31A42A11A2 2

26、A3 2A4+5VS8S1S32S25S24S17S16S974LS244图 9-10 键盘与单片机的接口电路两次按键值不同吗?第一次发现键按下吗?键有效标志=0 吗?R2 1 0 吗?置第一次发现键按下标志,存键值清键有效标志清第一次发现键按下标志,清键值下标志,保存键值键处理返回开始置键有效标志键有效标志=1 吗?向所有的行输出0读入各列的值全为1吗?向第i 行输出0i i+1读入各列的值有0 吗?第j 列等于0 吗?j j+1R3 1 0 吗?R2 行数R3 列数YYYYYYYYY图 9-11 键盘接口程序流程图二、A/D转换器与单片机的接口CSVccRDCLKRWRDB0CLKDB1I

27、NTRDB2VIN()VIN()DB4AGNDDB5VREF/2DB6DGNDDB7DB3图9-12ADC0801ADC0805P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RDWRINT 1P2.7CLKRDB0CLKIDB1DB2VREF/2DB3DB4VIN(+)DB5DB6VIN(-)DB7RDDGNDWRINTRAGNDCS10K150PNCVIN(05V)+图 9-13 ADC08010805与单片机的接口93 D/A转换器与单片机的连接转换器与单片机的连接一、D/A转换器的基本原理R R2 2R R2 2R R2 2R R2 2R R2 2R R2 2R RR

28、RR RR Rf fV Vo oV VR Rd d0 0 d d1 1 d d2 2 d dn n- -1 1图 9-14 T型网络D/A转换器二、D/A转换器与单片机的接口1内部结构八位输入锁存器八位DAC寄存器八位D/A转换器CSVccWR1ILEAGND WR2DI3XFERDI2DI4DI1DI5DI0DI6VREFDI7RfbIOUT1DI0DI7ILECSWR1WR2ILE1ILE2XFERDGNDIOUT2AGNDRfbIOUT2IOUT1VREF图 9-15 DAC0832的引脚排列 图 9-16 DAC0832结构图3接口电路(1)单缓冲器方式P2.7P0.0P0.1P0.2

29、P0.3P0.4P0.5P0.6P0.78031WRCSVCCXFERILEDI0VREFDI1RfbDI2DI3IOUT1DI4DI5IOUT2DI6DI7WR1WR2DGND+ +- -+ +- -ab+5V图 9-17 DAC0832与单片机的接口(2)双缓冲器方式P2 .5P2 .6P2 .7P 0.0P 0.1P 0.28031P 0.3P 0.4P 0.5P 0.6P 0.7WRCSVCCILEXFERDI0DI1DI2DI30832DI4( 1)DI5DI6DI7WR1WR2DGNDCSVCCXFERILEDI0DI1DI2DI30832DI4( 2)DI5DI6DI7WR1WR

30、2DGND+5V图 9-18 多路DAC0832同步转换的接口电路程序如下:MOVDPTR,#0DFFFH;指向0832(1)MOVA,#data1MOVXDPTR,A;data1送0832(1)锁存器MOVXDPTR,#0BFFFH;指向0832(2)MOVA,#data2MOVXDPTR,A;data2送0832(2)锁存器MOVDPTR,#7FFFH;指向0832(1)和0832(2)的数据传送端MOVXDPTR,A;data1和data2同时送D/A转换器进行转换94 MCS-51单片机应用系统设计举例单片机应用系统设计举例一、系统构成及控制原理1234567889图 9-19 糖果包

31、装机的结构图4877图 920 走纸轮的顶视图vvtO图 9-21 相位误差与速度误差开始初始化周期误差超标吗?改变速度相位误差超标吗?改变速度误差方向YY图 9-22 控制流程图二、硬件电路1主程序图 9-23 硬件电路初始化开始没测到走纸信号吗?没测到切纸信号吗?走纸早吗?走纸慢小于 3 吗?走纸快小于 1吗?走纸晚小于 2 吗?电磁离合齿轮通电,提速 2走纸晚减少了吗?胀紧皮带轮电机正转秒,提速 1走纸早小于 2 吗?走纸快吗?电磁离合齿轮断电,减速 2走纸早减少了吗?胀紧皮带轮电机反转 秒,减速 1走纸快 x,胀紧皮带轮电机反转x 秒,减速 x走纸慢 y,胀紧皮带轮电机正转y秒,提速

32、y电磁齿轮有电吗?电磁齿轮没电吗?YYYYYYYYYYYY图 9-24 主程序流程图-初始化-ORG0000HAJMPADR00ORG0003HCLREX0;关外部中断0,以防止脉冲抖动造成中断重复响应AJMPINT0ORG000BHAJMPT0ORG0013HCLREX1;关外部中断1AJMPINT1ORG001BHAJMPT1ORG0030HADR00:MOVR0,#20H;20H70H单元清0MOVR1,#50HCLRAADR10:MOVR0,AINCR0DJNZR1,ADR10ACALLSUB1;清显示器MOVSP,#5FH;堆栈从60H开始MOVSCON,#00H;串行口置为方式0M

33、OV A,43H ;相位滞后误差送A ACALL SUB2 ;将A中绝对误差转为相对误差放在R7中 MOV A,R7 CLR C SUBB A,#2JNC ADR20 ;相位滞后小于2%,返回JB P1.0,ADR75 ;电磁离合齿轮有电,转MOV R5,43H ;保存本次测量的相位误差SETB P1.0 ;电磁离合齿轮通电,提速2%AJMP ADR20 ;返回ADR75:MOV A,R5 ;取回上次测量的相位误差CLR CSUBB A,43H ;减本次测量的相位误差进行比较JNC ADR20 ;本次测量的相位误差小,返回SETB P1.1 ;否则,胀紧电机正转,提速MOV R2,#06H ;

34、设置最小提速量ACALL SUB3 ;延时0.6秒CLR P1.1 ;停止胀紧电机正转AJMP ADR20;-相位超前误差调整-ADR80:MOV A,42H ;相位超前误差送A ACALL SUB2 ;将A中绝对误差转为相对误差放在R7中 MOV A,R7 CLR C SUBB A,#2 JC ADR20 ;相位超前误差小于2%,返回JNB P1.0,ADR85 ;电磁离合齿轮未通电,转取比较两次测量的误差MOV R6,42H ;保存本次测量的误差CLR P1.0 ;电磁离合齿轮断电,减速2%AJMP ADR20 ;返回ADR85:MOV A,R6 ;取回上次测量的误差CLR CSUBB A

35、,42H ;减本次测量的误差JNC ADR20 ;本次测量的误差小,返回SETB P1.2 ;否则,胀紧电机反转,减速MOV R2,#06H ;设置最小减速量ACALL SUB3 ;延时0.6秒CLR P1.2 ;停止胀紧电机反转AJMP ADR202子程序1)绝对误差转换为相对误差子程序SUB2:MOVB,#64HMULABMOVR7,#00HADR90:CLRCSUBBA,41;误差的百分数减切纸周期JCADR0A0;不够减,转INCR7;够减,商加1AJMPADR90;返回再减ADR0A0:MOVR6,BCJNER6,#00H,ADR0B0AJMPADR0C0;无位可借,除法结束ADR0

36、B0:DECB;借位INCR7;商加1AJMPADR90;返回再减ADR0C0:RET(2)R20.1秒延时子程序R20.1秒延时子程序,用于控制P1.1和P1.2输出的脉冲宽度。程序如下:SUB3:MOVR3,#64HADR0D0:MOVR4,#0F9HADR0E0:NOPNOPDJNZR4,ADR0E0DJNZR3,ADR0D0DJNZR2,SUB3RET3中断服务程序T0、T1、INT0和INT1中断服务程序的流程图如图9-25图9-28。(36H)( 36H)1定时器0赋初值(37H)( 37H)1定时器1赋初值返回返回开始开始9-图25 T0中断服务程序 图 9-26 T1中断服务程

37、序( 40H )(36H )( 36H )00H( 42H )(37H )( 41H )(37H )( 37H )00H( 43H )(36H )( 10H ) 1( 11H ) 1显示缓冲区内容加1显示缓冲区内容送显开始开始返回返回图 9-27 INT0中断服务程序 图 9-28 INT1中断服务程序(4)INT1中断服务程序INT1:PUSHPSWMOV41H,37H;取走纸周期MOV37H,#00H;为下一次记数做准备MOV43H,36H;取走纸滞后切纸的时间MOVR5,#00H;清监视计数器SETB11H;置检测到走纸周期标志SETBRS0;选中1区工作寄存器MOVR1,#30H;R1

38、个位ADR0F0:INCR1;显示缓冲区某位加1CJNER1,#0AH,ADR180;加1后不到10,退出MOVR1,#00H0;加1后等于10,将该位清0INCR1;指向显示缓冲区下一位CJNER1,#36H,ADR0F0;不到显示缓冲区最高位,返回将下一位加1MOVR0,#2FH;显示缓冲区位指针R0赋初值MOVR2,#06H;显示位数送R2ADR100:INCR0;指向显示缓冲区下一位MOVDPTR,#ADR120;基址指针送指向显示译码表首址MOVA,R0;某位显示内容送AMOVCA,A+DPTR;显示内容译成显示码后AMOVSBUF,A;显示码通过串口送去显示ADR110:JNBTI

39、,$;等待1个字节传送完毕CLRTI;清传送完标志,为下一次传送做准备DJNZR2,ADR100;6位没有全部显示完,返回继续显示CLRRS0POPPSWSETBEX1;开外部中断1RETIADR120:DB03H;显示0DB9FH;显示1DB25HDB0DHDB99HDB49HDB41HDB1FHDB01HDB09H;显示9第十章 单片机的开发及开发工具101 概述概述一、单片机的开发二、开发手段的选择仿真插头单片机应用系统(用户系统)EPROM写入插口开发模板通用计算机系统总线10-1微机开发系统图 10-2 伟福仿真器菜单界面市场调查,可行性分析,确定方案及系统的功能、指标、成本、完成期

40、限等。总体设计,选择机型,划分软硬件功能。硬件原理图设计及元器件选择印刷线路图设计及 制作焊接、组装系统样机并加电检查确定算法,划分软件功能模块程序流程图设计程序编制用仿真头与开发系统联机用测试程序对I/O口、存储器等硬件进行测试硬件正确吗?检查并排除硬件故障将源程序汇编连接并装入开发装置的RAM中以单步、跟踪、设断点以及连续等方式仿真运行程序程序正确吗?分析并且排除故障,修改程序将程序固化到ROM中,实际运行实际系统运行正确吗?排除软、硬件故障结束开始11YYY图10-3单片机应用系统的开发过程102 单片机的开发软件单片机的开发软件一、805l宏汇编语言二、PL/M-51语言三、C-51语

41、言第十一章第十一章AT89系列系列FLASH单片机简介单片机简介图 11-1 AT89C 单片机的结构框图图 11-2 AT89S 单片机的结构框图表格 11-1 程序加密位及其功能程序加密位程序加密位功能功能方式方式LB1LB2LB31UUU不设程序加密不设程序加密2PUU禁止从外部程序存储器中执禁止从外部程序存储器中执行行MOVC指令读取内部程序指令读取内部程序存储器,存储器,E()A()被采被采样并在复位时锁存,禁止对样并在复位时锁存,禁止对闪速存储器进一步编程。闪速存储器进一步编程。3PPU与方式与方式2相同,同时禁止校相同,同时禁止校验内部存储器。验内部存储器。4PPP与方式与方式3

42、相同,同时还禁止相同,同时还禁止外部的执行。外部的执行。注:P=被编程U=未编程其它组合未被定义表格 11-2 程序加密位配制表型号型号加密位加密位AT89C51LB1、LB2、LB3AT89C52LB1、LB2、LB3AT89C1051LB1、LB2AT89C2051LB1、LB2112 AT89系列主要单片机型号系列主要单片机型号图11-3AT89C51的引脚图图 11-4 定时器2的捕获方式图11-5自动重装入方式(DCEN=0)图 11-6 自动重装入方式(DCEN=1)图 11-7 波特率发生器方式图 11-4 定时器2的捕获方式图11-5自动重装入方式(DCEN=0)图11-6自动

43、重装入方式(DCEN=1)图 11-7 波特率发生器方式图 11-8 时钟输出方式图 11-9 AT89C1051/2051的引脚图第十二章第十二章MCS-96系列单片机简介系列单片机简介121 MCS-96概述概述RXD/P2.1RESETTXD/P2.0EXTINT/P2.2HSI.0VpdHSI.1VREFHSI.2/HSO.4ANGNDHSI.2/HSO.5ACH4/P0.4HSO.0ACH5/P0.5HSO.1ACH7/P0.7HSO.2ACH6/P0.6HSO.3EAVssVccVppVssPWM/P2.5XTAL1WRXTAL2N.CALE/ADVREADYRDA15/P4.7AD0/P3.0A14/P4.6AD1/P3.1A13/P4.5AD2/P3.2A12/P4.4AD3/P3.3A11/P4.3AD4/P3.4A10/P4.2AD5/P3.5A9/P4.1AD6/P3.6A9/P4.0AD7/P3.7串行接收 /P2.11串行发送 /P2.0 2高速输入 03高速输入 14高速输入 2/高速输出 45高速输入 3/高速输出 56高速输出 07高速输出 1 8高速输出 2 9高速输出 3

温馨提示

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

最新文档

评论

0/150

提交评论