最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片.ppt

上传人:豆**** 文档编号:33411791 上传时间:2022-08-11 格式:PPT 页数:64 大小:1.28MB
返回 下载 相关 举报
最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片.ppt_第1页
第1页 / 共64页
最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片.ppt_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机原理与接口技术电子教单片机原理与接口技术电子教案重庆工商职业学院案重庆工商职业学院第六章单片机系统扩展内容提要内容提要本章主要介绍单片机的扩展技术。单片机的扩展包括了存储器扩展,输入、输出接口的扩展,数模转换器和模数转换器的扩展以及与人机对话通道接口等等。学习要求学习要求应掌握单片机的扩展方法,即利用存储器地址分配原理扩展包括存储器、I/O口的方法。掌握8279等专用芯片的结构原理及与单片机的接口技术。理解一些常用的扩展器件,如程序存储器、数据存储器、常用的TTL器件、LED、键盘以及常用的专用器件8255和8279、A/D、D/A转换器件的工作原理,了解串行接口的扩展原理及应用。6.2

2、 存储器扩展一、程序存储器(EPROM)扩展图6-6 28引脚EPROM芯片管脚配置6.2 存储器扩展一、程序存储器(EPROM)扩展图6-7 2764 EPROM扩展电路6.2 存储器扩展二、电可擦除存储器(EEPROM)扩展图6-8 2864A管脚图2864A有四种工作方式:(1)维持方式(2)读出方式 (3)写入方式 (4)数据查询方式 EEPROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。 常用的EEPROM芯片主要有Intel 2817A、2864A等。6.2 存储器扩展

3、三、数据存储器(RAM)扩展 数据存储器一般采用RAM芯片,这种存储器在电源关断后,存储的数据将全部丢失。 RAM器件有两大类: 动态RAM(DRAM),一般容量较大,易受干扰,使用略复杂。 静态RAM(SRAM),在工业现场常使用。6.2 存储器扩展三、数据存储器(RAM)扩展1. SRAM的引脚 6264 逻辑图 6264 引脚图型号:6264 前两位数62, 表示SRAM 后两位648=8k字节容量62128 有1288=16k 字节容量 62256 有2568=32k 字节容量6.2 存储器扩展三、数据存储器(RAM)扩展2. RAM存储器的连接 DBDB0 0n n ABAB0 0N

4、 ND D0 0n nA A0 0N N ABABN+xN+xCSCSR/ WR/ WR/ WR/ W微型机微型机存储器存储器存储器与微型机三总线的连接:1)数据线 D0n连接数据总线 DB0n 2)地址线 A0N连接地址总线低位AB0N。3)片选线 CS连接地址总线高位ABN+x。4) 读写线OE、WE(R/W) 连接读写控制线RD、WR。3. 数据存储器的扩展P3.7(RD)P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A8A9A10QOA7A6A5A4A3A2A1A0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0

5、.5P0.6P0.7ALEI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEGOE80316116CEEAP3.6(WR)WE74HC373图 6-9 扩展2KB数据存储器的线路图6.2 存储器扩展三、数据存储器(RAM)扩展D7Q7Q0D074HC373A12A11A10A9A8CEA7A0D7D0OEP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP0PSENWRRD80C51IC02764IC02764D0OECEA12A11A10A9A8A7A0D7IC02764D0OECEA12A11A10A9A8A7A0D7D0OECEA12A11A10A9

6、A8A7A0D7A8A9A10A11A12A8A9A10A11A12A8A9A10A11A12A12A11A10A9A8IC12764D0D0D0D0D7D7D7D7OEOEOEOEA0A0A0A0A7A7A7A7A0A0A0A0A7A7A7A7A8A8A8A8A9A9A9A9A10A10A10A10OEOEOEOECECECECEA11A11A11A11A12A12A12A12A10A10A10A10A0A0A0A0OEOEOEOEA7A7A7A7A8A8A8A8A9A9A9A9A12A12A12A12A11A11A11A11CECECECECECECECEIC26264IC36264WEW

7、ED7-D0D7-D0GBAY2Y1Y074HC139图 6-10 扩展16KB RAM和16KB EPROM6.2 存储器扩展四、存储器混合扩展6.3 单片机应用系统中的I/O接口扩展技术 利用TTL芯片、COMS锁存器、三态门等接口芯片把P0接口扩展,常选用74LS273、74LS373、74LS244等芯片。6.3 单片机应用系统中的I/O接口扩展技术1.8255内部结构及引脚功能 数据总线缓冲器B组控制A组端口A(8)A组端口C上半部(4)B组端口C下半部(4)B组端口B(8)A组控制读写控制逻辑RDWRA0A1RESETCSD7D0I/OPA7PA0I/OPC7PC4I/OPC3PC

8、0I/OPB7PB06.3 单片机应用系统中的I/O接口扩展技术二、8255A可编程并行I/O扩展接口2.方式选择及方式控制字 (1)8255工作方式 :方式0、方式1,方式2 (2)方式选择 D7D6D5D4D3D2D1D0C口下半部B口控制位B组方式控制位,D2=1方式1,反之方式0C口上半部控制位A口控制位A组方式控制 D6D5=00 方式0 01 方式1 1X 方式2总控制选择位 D7=1 选择A、B、C口工作方式 D7=0 C口进行位操作6.3 单片机应用系统中的I/O接口扩展技术3.8255扩展电路及地址设置 (1)8255地址口确定 6.3 单片机应用系统中的I/O接口扩展技术3

9、.8255扩展电路及地址设置 (2)8255初始化 例如,欲设置例如,欲设置82558255的的A A、B B、C C口全为输出状态口全为输出状态( (或输出方式或输出方式) ),控制字为,控制字为80H80H。 程序程序( (结合上图结合上图) )如下:如下: MOV DPTR, #0003H MOV DPTR, #0003H ;82558255控制口地址控制口地址 DPTRDPTR MOV A, #80H MOV A, #80H ;控制字送;控制字送A A MOVX DPTR, A MOVX DPTR, A ;控制字写入控制寄存器;控制字写入控制寄存器 6.4 8279键盘、显示接口 键盘

10、输入数据和命令,显示用于计算机的状态、命令和计算结果。1.1.键盘键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘。 6.4 8279键盘、显示接口2.2.显示器显示器 LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 LCD液晶显示器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形。 6.4 8279键盘、显示接口独立式键盘接口电路P1.0P1.1

11、P1.7+5v 每个按键单独占有一根每个按键单独占有一根I/O接口引线。接口引线。 输入每根输入每根I/O接口引线的信号接口引线的信号对应某个数据。对应某个数据。6.4 8279键盘、显示接口独立式键盘接口电路键盘处理程序任务1)键输入 检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。2)键译码 键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、字符键0AH0FH、功能键10H 。3)键处理 根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。

12、延时等待延时等待1010msms 仍有按键信号仍有按键信号? Y Y 有按键信号有按键信号?N NY YN N键盘处理键盘处理 按键释放?按键释放?N NY Y6.4 8279键盘、显示接口矩阵式键盘接口电路 0 1+5v P1.0 P1.1 P1.4 P1.5键盘键盘I/O接口接口由多条I/O接口引线组成矩阵式键盘。6.4 8279键盘、显示接口矩阵式键盘接口电路扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。反转法 行列线交换输入、输出,两步获取按键键号。中断扫描方式 有按键按下时发出中断请求信号,提高CPU的效率。6.4 8279键盘、

13、显示接口3.LED显示器及接口设计 由发光二极管组成,不同的发光段亮,可组成不同字型,电流太大,耗电量大,电流太小,发光度不够,一般各管电流在10mA较合适。共阳极共阳极共阴极共阴极外形图外形图LED 的的字字形形码码(字字段段码码)显显示示字字符符共共阴阴极极共共阳阳极极03FHC0H106HF9H 8FFH00H灭灭00FFHF71H84HU3EHC1H PF3H02H6.4 8279键盘、显示接口3.LED显示器及接口设计 LED显示器用于显示工业控制参数、过程状态。 (1) LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接,每个显示字形对应一个字形码。D D7 7

14、 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0h g f e d c b ah g f e d c b a a b hCOMCOM P1.01.7 MCS-51a f b g e c d habhCOM P1.01.7 MCS-51a f b g e c d habh6.4 8279键盘、显示接口3.LED显示器及接口设计(2)显示程序任务:1)设置显示缓冲区,存放待显示数据2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码3)输出显示:输出字形码到显示端口例: MOV DPTR,#WTAB ;指向字形码表首地址MOV A,

15、R0 ;取显示缓冲区中数据MOVC A,A+DPTR ;查表显示译码MOV P1,A ;输出显示WTAB:DB3FH,06H,5BH ;字形码表6.4 8279键盘、显示接口3.LED显示器及接口设计(3) LED接口电路 a b hCOMa f b g e c d h a b hCOM a b hCOMCOMhCOMD7D1D0D0D1D2hbbhCOMa f b g e c d haaba静态显示动态显示6.4 8279键盘、显示接口4.LCD显示器及接口设计6.4 8279键盘、显示接口 8279是专用键盘/显示器控制芯片,能对显示器自动扫描,能识别键盘上按下键的键号;可充分提高CPU的

16、工作效率。 8279与MCS-51接口方便,由它构成的标准键盘/显示器接口在微机应用系统中使用越来越广泛。INT1P0WRRDPPALE8031+5VIRQD0-7WRRDCSA0CLKRESETSHIFTCNTLB0-3A0-3RL0-7VCCVSSSL0-3BDSL0-32.4K88816164388279SL0-282.62.720F+5V驱动器行线列线88键盘16位显示器驱动器3-8译码器4-16译码器图6-11 8279的键盘/显示器电路及与8031接口6.5 A/D、D/A转换及其与单片机的接口1. 测控系统的依据采集信号 模拟量输入采集被测对象信号。 传感器输出电信号计算机的TT

17、L电信号。2. 传感器模拟信号 输出信号较弱,应用模拟、数字混杂电路,考虑边界区域、线性区域、分辨率等。3. 模拟量输入通道靠近现场,易受干扰。由于传感器输出信号一般都比较微弱。 模拟量输入通道的一般组成放大器过程参数传感器检测信号调理信号调理多路转换开关采样/保持模/数转换微机控制 6.5 A/D、D/A转换及其与单片机的接口D/A转换器及其与单片机的接口1.D/A转换原理 n位数字量与模拟量的关系式:VO = VREF / 2n D(VREF - 参考电压)2.集成D/A转换器 DAC 0832:8位双缓冲器结构的D/A转换器。8位位DACDAC寄存器寄存器输入输入寄存器寄存器-+IOUT

18、2IOUT1RVERVOD07AGNDPA0PA16.5 A/D、D/A转换及其与单片机的接口D/A转换器及其与单片机的接口3.DAC 0832内部结构八位输入锁存器八位DAC寄存器八位D/A转换器CS VccWR1 ILEAGND WR2DI3XFERDI2DI4DI1 DI5DI0 DI6VREF DI7RfbIOUT1DI0DI7 ILECSWR1WR2ILE1ILE2XFERDGNDIOUT2AGNDRfbIOUT2IOUT1VREF图 6-12 DAC0832的引脚排列 图 6-13 DAC0832结构图6.5 A/D、D/A转换及其与单片机的接口D/A转换器及其与单片机的接口4.

19、DAC 0832与单片机连接直通方式: 输入寄存器和DAC寄存器共用一个地址,同时选通输出。双缓冲器方式: 输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.78031WRCS VCCXFER ILEDI0 VREFDI1 RfbDI2DI3 IOUT1DI4DI5 IOUT2DI6DI7WR1WR2DGND+ +- -+ +- -ab+5V6.5 A/D、D/A转换及其与单片机的接口D/A转换器及其与单片机的接口5. 应用例 利用单片机及DAC 0832产生阶梯波,DAC 0832采用单缓冲方式,

20、定时1ms,增幅10,10ms一循环。参考程序如下: START:MOV A,#00H MOV DPTR,#7FFFH ;转换器地址 MOV R1,#0AH ;10个台阶(10ms) LOOP: MOVX DPTR,A ;送欲转换数字量 CALL DL1 ;延时1ms DJNZ R1,NEXT ;10个台阶未完继续增幅 SJMP START NEXT: ADD A,#10 JMP LOOP DL1: MOV 20H,#249 DLL: NOP NOP DJNZ 20H,DLL RET如此,还可产生锯齿波,三角波等。6.5 A/D、D/A转换及其与单片机的接口A/D转换器及其与单片机的接口集成A

21、/D转换器ADC 0809/0808为8路输入通道、8位逐次逼近式A/D转换器,可分时转换8路模拟信号。1.结构一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器。2.引脚8路模拟量输入信号端:IN0IN78位数字量输出信号端:D0D7通道选择地址信号输入端:ADDA、ADDB、ADDC多路多路转换转换开关开关A B CIN0IN1IN7A/D转换转换AD07ALEINTWRP2 .0RDD07ADDABC CLKEOCALESCOE11111MCS-51ADC080983IN076.5 A/D、D/A转换及其与单片机的接口A/D转换器及其与单片机的接口

22、3.ADC 0809与单片机连接A/D转换程序: MOV DPTR,#0FE00H ;ADC口地址 MOV A,#00;转换IN0 MOVX DPTR,A ;启动A/D转换 LCALL DELAY;等待转换结束 MOVX A,DPTR ;取转换结果6.5 A/D、D/A转换及其与单片机的接口A/D转换器及其与单片机的接口4.应用例:对通道IN0,采样一次,转换,并将转换结果存到数据存 储区。参考程序如下:MAIN: MOV R1,#data ;存数地址 MOV DPTR,#7FF8H ;P2.7 = 0,指向IN0 MOVX DPTR,A ;不论A中为何内容都启动 ;转换(使/WR产生脉冲)

23、MOV R6,#0AH ;软件延时DLAY: NOP NOP NOP NOP NOP DJNZ R6,DLAY MOVX A,DPTR ;读转换结果 MOV R1 , A ;存储数据6.6 单片机D0D1D2D3D4D5D6D7停止位停止位起始位起始位一、串行通信基础知识1.异步通讯方式 以字符为传送单位用起始位和停止位标识每个字符的 开始和结束字符间隔不固定,只需字符传送时同步。 (1) 异步通讯常用格式:一个字符帧 以一串字符为一个传送单位,字符间不加标识位,在一串字符开始用同步字符标识,硬件要求高,通讯双方须严格同步。(2) 异步通讯双方的两项约定字符格式规定(一帧): 数据位,校验位,

24、起始位和停止位。波特率(位/秒)对传送速率的规定 例:要求每秒传送120个字符,每帧为10位。 解: B=120?0=1200波特每位0.83ms 数据位传输率=120?=960位/秒6.6 单片机一、串行通信基础知识1.异步通讯方式2.同步通讯方式3.串行接口功能发送器:并串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。接收器:串并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。单工通讯:数据单向传送。半双工通讯:数据可分时双向

25、传送。全双工通讯:可同时进行发送和接收。发送器接收器发送器接收器6.6 单片机一、串行通信基础知识4.串行数据传送方向1.1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧位数 8/10/11发送/接收时,数据皆低位在前。一帧字符发送/接收结束,置位标志位(TI/RI)并申请SIO中断。 中断控制:中断允许位ES 中断入口:0023HD0D1D2D3D4D5D6D7停止位停止位起始位起始位D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D8停止位停止位起始位起始位D76.6 单片机一、串行口控制寄存

26、器2、串行接口控制(1) 数据缓冲器SBUF发送SBUF和接收SBUF共用一个地址99H。 发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。 发送指令:MOVSBUF,A 接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF6.6 单片机一、串行口控制寄存器(3)串行口控制/状态寄存器SCON(98H)SM0 SM1 SM2 REN TB8RB8TIRISMOD(PCON.7):波特率加倍控制位。SMOD=1,波特率加倍, SMOD=0,则不加倍。SM0,SM1:选择串行口4种工作方式。SM2:多机控制位,用于多机通讯。REN:允许接

27、收控制位,REN=1,允许接收;REN=0,禁止接收。TB8:发送的第9位数据位,可用作校验位和地址/数据标识位RB8:接收的第9位数据位或停止位TI: 发送中断标志,发送一帧结束,TI=1,必须软件清零RI: 接收中断标志,接收一帧结束,RI=1,必须软件清零(4)节电控制寄存器PCON6.6 单片机一、串行口控制寄存器2、串行接口控制 SM0,SM1选择四种工作方式。1.方式0:同步移位寄存器方式。用于扩展并行I/O接口。(1) 一帧8位,无起始位和停止位。(2) RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。(3) 波特率B = fosc/12 如: fos

28、c=12MHz,B=1MHz,每位数据占1s。三、串行接口的工作方式6.6 单片机(4) 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。 发送时序发送时序写入写入SBUFRXD输出输出TXDTID0D1D2D3D4D5D6D7写写REN=1RI=0RXD输入输入RI 接收时序接收时序(a)(b)三、串行接口的工作方式6.6 单片机 数据从RXD(P3.0)引脚串行输出,低位在先,高位在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12;发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SC

29、ON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕(5) 移位寄存器方式举例三、串行接口的工作方式6.6 单片机2. 方式1 :8位数据异步通讯方式。 (1)一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 (2) RXD:接收数据端。 TXD:发送数据端。(3) 波特率:用T1作为波特率发生器,B=(2SMOD/32)T1溢出率。(4)发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=

30、1;否则丢弃接收数据,不置位RI。三、串行接口的工作方式6.6 单片机 当REN=1,CPU开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新采样负跳变。数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。写入写入SBUF采样采样(a) 发送时序图发送时序图TXD数据输出数据输出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD输入数据输入数据(b) 接收时序图接收时序图D0D1D2D3D4D5D6D7停止位停止位起始位起始位RI检测检测负跳变负跳变三

31、、串行接口的工作方式6.6 单片机 (1) 一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。 (2) RXD:接收数据端,TXD:发送数据端。 (3) 波特率: 方式2:B=(2SMOD/64)fosc 。 方式3:B=(2SMOD/32)T1溢出率 。3. 方式2和方式3: 9位数据异步通讯方式。三、串行接口的工作方式6.6 单片机(4) 发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且第9位 为1 (或SM2=0),将接收数据装入接收SBUF,第

32、9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。发发送送时时序序写入写入SBUFTXD输出输出TIRXD输入输入接接收收时时序序RID0D1D2D3D4D5D6TB8停止位停止位起始位起始位D7D0D1D2D3D4D5D6RB8停止位停止位起始位起始位D7检测检测负跳变负跳变3. 方式2和方式3: 9位数据异步通讯方式。三、串行接口的工作方式6.6 单片机方式0为固定波特率: B=fosc/12方式2可选两种波特率: B=(2SMOD /64)fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)T1溢出率T1为方式2的时间常数: X = 28 - t/T

33、 溢出时间: t= (28 -X)T = (28 -X)12/ foscT1溢出率=1/t= fosc /12(2n -X)波特率B=(2SMOD /32)fosc/12(28-X)串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。T1选方式2: TH1=X= 28-fosc/122SMOD/(32B)T1选方式1用于低波特率,需考虑T1重装时间常数时间。6.6 单片机三、计算波特率串行口初始化编程格式:SIO: MOV SCON,#控制状态字;写方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV

34、 TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES)1.串行口初始化6.6 单片机四、串行口的应用2.发送程序(1) 查询方式:TRAM: MOV A,R0 ;取数据 MOVSBUF,A ;发送一个字符WAIT: JBCTI,NEXT ;等待发送结束 SJMPWAITNEXT: INCR0 ;准备下一次发送 SJMPTRAM (2)中断方式: ORG 0023H ;串行口中断入口AJMP SINTMAIN: ;初始化编程TRAM: MOV A,R0 ;取数据MOV SBUF,A ;发送第一个字符H:

35、SJMP H ;其它工作SINT:CLR TI ;中断服务程序INC R0MOV A,R0 ;取数据MOV SBUF,A ;发送下一个字符RETI6.6 单片机四、串行口的应用3.接收程序REN=1、RI=0等待接收,当RI=1,从SBUF读取数据。查询方式: WAIT:JBCRI,NEXT;查询等待SJMPWAITNEXT:MOVA,SBUF ;读取接收数据MOVR0,A ;保存数据INCR0 ;准备下一次接收SJMPWAIT6.6 单片机四、串行口的应用D0 D1 D2 D3 D4 D5 D6 D7 数据输入 RXD 9 TXD 移位脉冲 2 74LS165 8051 6 5 4 3 14

36、 13 12 11 4.串行口方式0 用于扩展单片机的并行I/O接口。串行口实现:并行串行的数据转换74LS165/74LS164实现:串行并行的数据转换。SM0 SM1 SM2 REN TB8 RB8TIRID7 D6 D5 D4 D3 D2 D1 D0 数据输入 RXD 1 2 TXD 移位脉冲 74LS164 88051 3 4 5 6 10 11 12 13 6.6 单片机四、串行口的应用5.异步通讯程序举例 (1)发送程序:将片内RAM 50H起始单元的16个数由串行口发送。要求发送波特率为系统时钟的32分频,并进行奇偶校验。MAINT: MOV SCON,#80H ;串行口初始化M

37、OV PCON,#80H ;波特率SETBEASETBES;开串行口中断MOV R0,#50H ;设数据指针MOV R7,#10H ;数据长度LOOP: MOV A,R0 ;取一个字符MOV C,P ;加奇偶校验MOV TB8,CMOV SBUF,A ;启动一次发送HERE:SJMPHERE;CPU执行其它任务6.6 单片机四、串行口的应用 ORG 0023H ;串行口中断入口 AJMP TRANI TRANI:PUSH A;保护现场PUSH PSWCLR TI ;清发送结束标志DJNZ R7,NEXT;是否发送完? CLR ES;发送完,关闭串行口中断 SJMP TENDNEXT: INC

38、R0 ;未发送完,修改指针MOV A,R0 ;取下一个字符MOV C,P ;加奇偶校验MOV TB8,CMOV SBUF,A ;发送一个字符POP PSW ;恢复现场POP ATEND:RETI ;中断返回6.6 单片机四、串行口的应用(2) 接收程序:串行输入16个字符,存入片内RAM的50H起始单元,串行口波特率为2400(设晶振为11.0592MHz)。RECS: MOV SCON,#50H ;串行口方式1允许接收MOV TMOD,#20H ;T1方式2定时MOV TL1,#0F4H ;写入T1时间常数MOV TH1,#0F4HSETB TR1 ;启动T1 MOV R0,#50H ;设数

39、据指针 MOV R7,#10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收SJMP WAITNEXT:MOV A,SBUF ;读取接收字符 MOV R0,A ;保存一个字符INC R0 ;修改指针DJNZ R7,WAIT ;全部字符接收完?RETSM0 SM1 SM2 REN TB8RB8TIRI6.6 单片机四、串行口的应用(3) 接收程序:串行输入16个字符,进行奇偶校验。RECS: MOV SCON,#0D0H ;串行口方式3允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1,#0F4H ;写入T1时间常数MOV TH1,#0F4HSETB

40、TR1 ;启动T1 MOV R0,#50H ;设数据指针 MOV R7,#10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收SJMP WAITNEXT: MOV A,SBUF ;取一个接收字符JNB P,COMP ;奇偶校验JNB RB8,ERR ;PRB8,数据出错 SJMP RIGHT ;P=RB8,数据正确COMP: JB RB8,ERRRIGHT: MOV R0,A ;保存一个字符 INC R0 ;修改指针DJNZ R7,WAIT ;全部字符接收完? CLR F0 ;F0 =0,接收数据全部正确RETERR: SETB F0 ;F0 =1,接收数据出错RET6.6 单片机四、串行口的应用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁