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

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

《最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片》由会员分享,可在线阅读,更多相关《最新单片机原理与接口技术电子教案重庆工商职业学院幻灯片(64页珍藏版)》请在金锄头文库上搜索。

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. 数据存储器的扩展图 6-9 扩展2KB数据存储器的线路图6.2 存储器扩展三、数据存储器(RAM)扩展图 6-10 扩展16KB RAM和16KB EPROM6.2 存储器扩展四、存储器混合扩展6.3 单片机应用系统中的I/O接口扩展技术 利用TTL

5、芯片、COMS锁存器、三态门等接口芯片把P0接口扩展,常选用74LS273、74LS373、74LS244等芯片。一、简单一、简单I/OI/O接口扩展接口扩展 6.3 单片机应用系统中的I/O接口扩展技术二、二、8255A8255A可编程并行可编程并行I/OI/O扩展接口扩展接口1.8255内部结构及引脚功能 6.3 单片机应用系统中的I/O接口扩展技术二、8255A可编程并行I/O扩展接口2.方式选择及方式控制字 (1)8255工作方式 :方式0、方式1,方式2 (2)方式选择 6.3 单片机应用系统中的I/O接口扩展技术二、二、8255A8255A可编程并行可编程并行I/OI/O扩展接口扩

6、展接口3.8255扩展电路及地址设置 (1)8255地址口确定 6.3 单片机应用系统中的I/O接口扩展技术二、二、8255A8255A可编程并行可编程并行I/OI/O扩展接口扩展接口3.8255扩展电路及地址设置 (2)8255初始化 例如,欲设置例如,欲设置82558255的的A A、B B、C C口全为输出状态口全为输出状态( (或输出方式或输出方式) ),控制字为,控制字为80H80H。 程序程序( (结合上图结合上图) )如下:如下: MOV DPTR, #0003H MOV DPTR, #0003H ;82558255控制口地址控制口地址 DPTRDPTR MOV A, #80H

7、MOV A, #80H ;控制字送;控制字送A A MOVX DPTR, A MOVX DPTR, A ;控制字写入控制寄存器;控制字写入控制寄存器 对对82558255的的3 3个端口的工作方式预先设置。设置控制字经控制口写入。个端口的工作方式预先设置。设置控制字经控制口写入。 6.4 8279键盘、显示接口一、键盘和显示器一、键盘和显示器 键盘输入数据和命令,显示用于计算机的状态、命令和计算结果。1.1.键盘键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。

8、单片机系统中多采用非编码键盘。 6.4 8279键盘、显示接口一、键盘和显示器一、键盘和显示器2.2.显示器显示器 LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 LCD液晶显示器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形。 6.4 8279键盘、显示接口二、键盘和显示器接口设计二、键盘和显示器接口设计1.1.独立式键盘接口电路P1.0P1.1P1.7+5v 每个按键单独占有一根每个按键单独占有一根I/O接口引线。接口引线。 输入每根输入每根I/O接口引线的信号接口引线的信号对应某个数据。对应某个数据。

9、6.4 8279键盘、显示接口二、键盘和显示器接口设计二、键盘和显示器接口设计1.1.独立式键盘接口电路键盘处理程序任务1)键输入 检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。2)键译码 键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、字符键0AH0FH、功能键10H 。3)键处理 根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。延时等待延时等待1010msms 仍有按键信号仍有按键信号? Y Y 有按键信号有按键信号?N NY YN

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

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

12、 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,R0 ;取显示缓冲区中数据MOV

13、C 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键盘、显示接口三、三、 82798279键盘键盘/

14、/显示器接口显示器接口 8279是专用键盘/显示器控制芯片,能对显示器自动扫描,能识别键盘上按下键的键号;可充分提高CPU的工作效率。 8279与MCS-51接口方便,由它构成的标准键盘/显示器接口在微机应用系统中使用越来越广泛。图6-11 8279的键盘/显示器电路及与8031接口6.5 A/D、D/A转换及其与单片机的接口1. 测控系统的依据采集信号 模拟量输入采集被测对象信号。 传感器输出电信号计算机的TTL电信号。2. 传感器模拟信号 输出信号较弱,应用模拟、数字混杂电路,考虑边界区域、线性区域、分辨率等。3. 模拟量输入通道靠近现场,易受干扰。由于传感器输出信号一般都比较微弱。 模拟

15、量输入通道的一般组成放大器过程参数传感器检测信号调理信号调理多路转换开关采样/保持模/数转换微机控制 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寄存器寄存器输入输入寄存器寄存器-+IOUT2IOUT1RVERVOD07AGNDPA0PA16.5 A/D、D/A转换及其与单片机的接口一、一、 D/A转换器及其与单片机的接口3.DAC 0832内部结构图 6-12

16、 DAC0832的引脚排列 图 6-13 DAC0832结构图6.5 A/D、D/A转换及其与单片机的接口一、一、 D/A转换器及其与单片机的接口4. DAC 0832与单片机连接直通方式: 输入寄存器和DAC寄存器共用一个地址,同时选通输出。双缓冲器方式: 输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。6.5 A/D、D/A转换及其与单片机的接口一、一、 D/A转换器及其与单片机的接口5. 应用例 利用单片机及DAC 0832产生阶梯波,DAC 0832采用单缓冲方式,定时1ms,增幅10,10ms一循环。参考程序如下: START:MOV A,#00H MOV

17、 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/D转换器ADC 0809/0808为8路输入通道、8位逐次逼近式A/D转换器,可分

18、时转换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转换器及其与单片机的接口3.ADC 0809与单片机连接A/D转换程序: MOV DPTR,#0F

19、E00H ;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产生脉冲) MOV R6,#0AH ;软件延时DLAY: NOP NOP N

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

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

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

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

24、止接收。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 如: fosc=12MHz,B=1MHz,每

25、位数据占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 SCON,

26、#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,并

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

28、测检测负跳变负跳变三、串行接口的工作方式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 (

29、或SM2=0),将接收数据装入接收SBUF,第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)

30、T1溢出率T1为方式2的时间常数: X = 28 - t/T 溢出时间: 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) ;波特率

31、加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV 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: ;初始

32、化编程TRAM: MOV A,R0 ;取数据MOV SBUF,A ;发送第一个字符H: 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

33、 D4 D5 D6 D7 数据输入 RXD 9 TXD 移位脉冲 2 74LS165 8051 6 5 4 3 14 13 12 11 4.串行口方式0 用于扩展单片机的并行I/O接口。串行口实现:并行串行的数据转换74LS165/74LS164实现:串行并行的数据转换。D7 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分频

34、,并进行奇偶校验。MAINT: MOV SCON,#80H ;串行口初始化MOV 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;

35、是否发送完? CLR ES;发送完,关闭串行口中断 SJMP TENDNEXT: INC 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

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

37、#0F4H ;写入T1时间常数MOV TH1,#0F4HSETB 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 单片机串行接口技术 四、串行口的应用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号