单片机原理与接口技术电子教案重庆工商职业学院.ppt_第1页
单片机原理与接口技术电子教案重庆工商职业学院.ppt_第2页
单片机原理与接口技术电子教案重庆工商职业学院.ppt_第3页
单片机原理与接口技术电子教案重庆工商职业学院.ppt_第4页
单片机原理与接口技术电子教案重庆工商职业学院.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与接口技术 电子教案 重庆工商职业学院,第六章 单片机系统扩展,内容提要 本章主要介绍单片机的扩展技术。单片机的扩展包括了存储器扩展,输入、输出接口的扩展,数模转换器和模数转换器的扩展以及与人机对话通道接口等等。 学习要求 应掌握单片机的扩展方法,即利用存储器地址分配原理扩展包括存储器、I/O口的方法。掌握8279等专用芯片的结构原理及与单片机的接口技术。理解一些常用的扩展器件,如程序存储器、数据存储器、常用的TTL器件、LED、键盘以及常用的专用器件8255和8279、A/D、D/A转换器件的工作原理,了解串行接口的扩展原理及应用。,6.1 存储器操作时序,一、外部程序存储器操作时序,图6-1 访问外部程序存储器的操作时序图,6.1 存储器操作时序,二、外部数据存储器操作时序,图6-2 访问外部数据存储器的操作时序图,6.1 存储器操作时序,三、单片机扩展中的地址译码技术,对于地址的选择一般称为地址译码。常用的地址译码技术包括:,1.线选法 微型机剩余高位地址总线直接连接各存储器片选线。 2.译码片选法 微型机剩余高位地址总线通过地址译码器输出片选信号。多片存储器芯片组成大容量存储器连接常用片选方法。,1. 8051的引脚定义及功能,图 63 MCS-51的引脚图及功能分类图,6.1 存储器操作时序,四、单片机最小系统,2. MCS-51单片机最小应用系统,图 64 8051/8751最小应用系统,6.1 存储器操作时序,四、单片机最小系统,图 65 外部程序存储器一般连接方法,6.2 存储器扩展,6.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 存储器扩展,三、数据存储器(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存储器的连接,存储器与微型机三总线的连接: 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 EPROM,6.2 存储器扩展,四、存储器混合扩展,6.3 单片机应用系统中的I/O接口扩展技术,利用TTL芯片、COMS锁存器、三态门等接口芯片把P0接口扩展,常选用74LS273、74LS373、74LS244等芯片。,一、简单I/O接口扩展,6.3 单片机应用系统中的I/O接口扩展技术,二、8255A可编程并行I/O扩展接口,1.8255内部结构及引脚功能,6.3 单片机应用系统中的I/O接口扩展技术,二、8255A可编程并行I/O扩展接口,2.方式选择及方式控制字,(1)8255工作方式 :方式0、方式1,方式2 (2)方式选择,6.3 单片机应用系统中的I/O接口扩展技术,二、8255A可编程并行I/O扩展接口,3.8255扩展电路及地址设置,(1)8255地址口确定,6.3 单片机应用系统中的I/O接口扩展技术,二、8255A可编程并行I/O扩展接口,3.8255扩展电路及地址设置,(2)8255初始化,例如,欲设置8255的A、B、C口全为输出状态(或输出方式),控制字为80H。 程序(结合上图)如下: MOV DPTR, #0003H ;8255控制口地址 DPTR MOV A, #80H ;控制字送A MOVX DPTR, A ;控制字写入控制寄存器,对8255的3个端口的工作方式预先设置。设置控制字经控制口写入。,6.4 8279键盘、显示接口,一、键盘和显示器,键盘输入数据和命令,显示用于计算机的状态、命令和计算结果。 1.键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘。,6.4 8279键盘、显示接口,一、键盘和显示器,2.显示器 LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 LCD液晶显示器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形。,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,1.独立式键盘接口电路,每个按键单独占有一根I/O 接口引线。 输入每根I/O接口引线的信号 对应某个数据。,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,1.独立式键盘接口电路,键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键译码 键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、字符键0AH0FH、功能键10H 。 3)键处理 根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,2.矩阵式键盘接口电路,由多条I/O接口引线组成矩阵式键盘。,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,2.矩阵式键盘接口电路,扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。 反转法 行列线交换输入、输出,两步获取按键键号。 中断扫描方式 有按键按下时发出中断请求信号,提高CPU的效率。,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,3.LED显示器及接口设计,由发光二极管组成,不同的发光段亮,可组成不同字型,电流太大,耗电量大,电流太小,发光度不够,一般各管电流在10mA较合适。,共阳极,共阴极,外形图,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,3.LED显示器及接口设计,LED显示器用于显示工业控制参数、过程状态。 (1) LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接,每个显示字形对应一个字形码。,D7 D6 D5 D4 D3 D2 D1 D0 h g f e d c b a,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,3.LED显示器及接口设计,(2)显示程序任务:,1)设置显示缓冲区,存放待显示数据 2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码 3)输出显示:输出字形码到显示端口,例: MOV DPTR,#WTAB ;指向字形码表首地址 MOV A,R0 ;取显示缓冲区中数据 MOVC A,A+DPTR ;查表显示译码 MOV P1,A ;输出显示 WTAB: DB 3FH,06H,5BH ;字形码表 ,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,3.LED显示器及接口设计,(3) LED接口电路,静态显示,动态显示,6.4 8279键盘、显示接口,二、键盘和显示器接口设计,4.LCD显示器及接口设计,6.4 8279键盘、显示接口,三、 8279键盘/显示器接口,8279是专用键盘/显示器控制芯片,能对显示器自动扫描,能识别键盘上按下键的键号;可充分提高CPU的工作效率。 8279与MCS-51接口方便,由它构成的标准键盘/显示器接口在微机应用系统中使用越来越广泛。,图6-11 8279的键盘/显示器电路及与8031接口,6.5 A/D、D/A转换及其与单片机的接口,1. 测控系统的依据采集信号 模拟量输入采集被测对象信号。 传感器输出电信号计算机的TTL电信号。 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转换器。,6.5 A/D、D/A转换及其与单片机的接口,一、 D/A转换器及其与单片机的接口,3.DAC 0832内部结构,图 6-12 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 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转换器,可分时转换8路模拟信号。 1.结构 一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器。,2.引脚 8路模拟量输入信号端: IN0IN7 8位数字量输出信号端: D0D7 通道选择地址信号输入端: ADDA、ADDB、ADDC,6.5 A/D、D/A转换及其与单片机的接口,二、 A/D转换器及其与单片机的接口,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产生脉冲) MOV R6,#0AH ;软件延时 DLAY: NOP NOP NOP NOP NOP DJNZ R6,DLAY MOVX A,DPTR ;读转换结果 MOV R1 , A ;存储数据,6.6 单片机串行接口技术,一、串行通信基础知识,1.异步通讯方式 以字符为传送单位用起始位和停止位标识每个字符的 开始和结束字符间隔不固定,只需字符传送时同步。 (1) 异步通讯常用格式:一个字符帧,以一串字符为一个传送单位,字符间不加标识位, 在一串字符开始用同步字符标识,硬件要求高,通讯双 方须严格同步。,(2) 异步通讯双方的两项约定 字符格式规定(一帧): 数据位,校验位,起始位和停止位。 波特率(位/秒)对传送速率的规定 例:要求每秒传送120个字符,每帧为10位。 解: B=120?0=1200波特每位0.83ms 数据位传输率=120?=960位/秒,6.6 单片机串行接口技术,一、串行通信基础知识,1.异步通讯方式,2.同步通讯方式,3.串行接口功能,发送器:并串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。 接收器:串并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。 控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。,单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。 全双工通讯:可同时进行发送和接收。,6.6 单片机串行接口技术,一、串行通信基础知识,4.串行数据传送方向,1.1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧位数 8/10/11发送/接收时,数据皆低位在前。,一帧字符发送/接收结束,置位标志位(TI/RI)并申请SIO中断。 中断控制:中断允许位ES 中断入口:0023H,6.6 单片机串行接口技术,一、串行口控制寄存器,2、串行接口控制,(1) 数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。 发送指令: MOV SBUF,A 接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF,6.6 单片机串行接口技术,一、串行口控制寄存器,(3)串行口控制/状态寄存器SCON(98H),SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,则不加倍。,SM0,SM1:选择串行口4种工作方式。 SM2:多机控制位,用于多机通讯。 REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。 TB8:发送的第9位数据位,可用作校验位和地址/数据标识位 RB8:接收的第9位数据位或停止位 TI: 发送中断标志,发送一帧结束,TI=1,必须软件清零 RI: 接收中断标志,接收一帧结束,RI=1,必须软件清零,(4)节电控制寄存器PCON,6.6 单片机串行接口技术,一、串行口控制寄存器,2、串行接口控制,SM0,SM1选择四种工作方式。 1.方式0:同步移位寄存器方式。用于扩展并行I/O接口。 (1) 一帧8位,无起始位和停止位。 (2) RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 (3) 波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1s。,三、串行接口的工作方式,6.6 单片机串行接口技术,(4) 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。,三、串行接口的工作方式,6.6 单片机串行接口技术,数据从RXD(P3.0)引脚串行输出,低位在先,高位在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12;发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#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=1;否则丢弃接收数据,不置位RI。,三、串行接口的工作方式,6.6 单片机串行接口技术,当REN=1,CPU开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新采样负跳变。数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。,三、串行接口的工作方式,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,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。,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 溢出时间: t= (28 -X)T = (28 -X)12/ fosc T1溢出率=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 TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES),1.串行口初始化,6.6 单片机串行接口技术,四、串行口的应用,2.发送程序,(1) 查询方式: TRAM: MOV A,R0 ;取数据 MOV SBUF,A ;发送一个字符 WAIT: JBC TI,NEXT ;等待发送结束 SJMP WAIT NEXT: INC R0 ;准备下一次发送 SJMP TRAM,(2)中断方式:,ORG 0023H ;串行口中断入口 AJMP SINT MAIN: ;初始化编程 TRAM: MOV A,R0 ;取数据 MOV SBUF,A ;发送第一个字符 H: SJMP H ;其它工作 SINT: CLR TI ;中断服务程序 INC R0 MOV A,R0 ;取数据 MOV SBUF,A ;发送下一个字符 RETI,6.6 单片机串行接口技术,四、串行口的应用,3.接收程序,REN=1、RI=0等待接收,当RI=1,从SBUF读取数据。 查询方式: WAIT: JBC RI,NEXT ;查询等待 SJMP WAIT NEXT: MOV A,SBUF ;读取接收数据 MOV R0,A ;保存数据 INC R0 ;准备下一次接收 SJMP WAIT,6.6 单片机串行接口技术,四、串行口的应用,4.串行口方式0,用于扩展单片机的并行I/O接口。 串行口实现:并行串行的数据转换 74LS165/74LS164实现:串行并行的数据转换。,6.6 单片机串行接口技术,四、串行口的应用,5.异步通讯程序举例 (1)发送程序:将片内RAM 50H起始单元的16个数由串行口发送。要求发送波特率为系统时钟的32分频,并进行奇偶校验。,MAINT: MOV SCON,#80H ;串行口初始化 MOV PCON,#80H ;波特率 SETB EA SETB ES ;开串行口中断 MOV R0,#50H ;设数据指针 MOV R7,#10H ;数据长度 LOOP: MOV A,R0 ;取一个字符 MOV C,P ;加奇偶校验 MOV TB8,C MOV SBUF,A ;启动一次发送 HERE: SJMP HERE ;CPU执行其它任务,6.6 单片机串行接口技术,四、串行口的应用,ORG 0023H ;串行口中断入口 AJMP TRANI TRANI: PUSH A ;保护现场 PUSH PSW CL

温馨提示

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

评论

0/150

提交评论