第11章单片机常用接口.ppt
112页2,第11章 单片机常用接口,3,主要内容,11.1、单片机最小系统11.2、数据存储器扩展11.3、输入输出接口扩展11.4、8255A可编程I/O接口扩展11.5、单片机与外部A/D、D/A转换电路的接口11.6、单片机与键盘的接口11.7、单片机与LED显示器的接口11.8、单片机与光电耦合器件的接口11.9、单片机与继电器的接口11.10、单片机与蜂鸣器的接口,4,11.1 单片机最小系统,概念:单片机最小系统是指能使单片机工作的、由最少器件构成的系统作用:作为核心模块使用在不同的设计中针对设计的要求,在最小系统的基础上扩展多种功能单元就可以完成不同的设计构成:一般应该包括单片机、时钟电路、复位电路5,使用STC12C5A60S2单片机构成的最小系统:,复位电路,晶振电路,,6,最小系统作为应用的核心,可以为用户扩展提供三总线:地址总线(AB):输出,传送单片机要访问的外设或者接口的地址信息,决定了单片机的最大寻址能力 如果单片机提供16条地址总线,可以访问的地址空间为216,即64KB数据总线(DB):双向, 用来传送数据信息通过数据总线,单片机可以和内存或其它总线器件之间传送数据。
数据总线的宽度决定了一次可以操作的数据位数控制总线(CB):用来传送控制信号每一个控制线上信号的传输方向是确定的、单向的,输入或者输出7,51单片机的三总线分配:,地址总线:P2口作为高8位地址线,P0口作为低8位地址线,数据总线:P0口作为8位的数据总线,控制总线:ALE、/RD、/WR,,8,11.2 数据存储器扩展,概念:数据存储器即随机访问存储器 (Random Access Memory,RAM)特点:可以读出或写入数据,属于易失性存储器,断电后存储的数据丢失,经常用于存储程序运行过程中产生的临时数据动态RAM(Dynamic RAM,DRAM),静态RAM(Static RAM,SRAM),,分类:,功耗低、价格相对便宜,但是需要定时刷新才能维持信息不变,造价比DRAM高,但是不需要动态刷新,信息一经写定就不会变化,和单片机的连接简单,无需添加辅助电路,比较常用,9,11.2.1 SRAM芯片,1.存储器容量的描述方法:(1)如果数据线有8条,每个存储单元为8位,存储容量可用字节数表示 存储容量为128KB:表示该芯片有8条数据线,128K个存储单元,每个存储单元可以存储8位二进制数据。
(2)存储容量=存储单元的个数×每个存储单元存储的二进制数据位数=2M×N,其中M表示该芯片的地址线条数,N表示数据线条数 容量1K×4 的存储器,有1K个存储单元,每个存储单元保存4位二进制数据,所以地址线条数为10条(210=1K),数据线有4条10,2.SRAM芯片的引脚---IS62C256AL,(1)地址线A0-A14:15根地址线,标识为A0-A14,也就是有32K(215=32K)个存储单元,即32KB2)数据线D0-D73)控制线:为输出使能引脚,和单片机的引脚相连;/WE是写使能,和单片机的/WR引脚相连;/CS片选引脚,用来选通该芯片工作4)电源VCC和地GND,使用5V电源供电11,11.2.2 单片机和SRAM的接口,存储器的三总线分别与系统分离出的三总线对应相连74LS373是8位的锁存器芯片当LE引脚输入高电平时,D0-D7的数据被传送到输出端Q0-Q7;当LE引脚引脚变为低电平,输出端的数据被锁存,输入端数据不影响输出引脚为三态输出使能端,低电平有效12,【例11-1】在片外扩展SRAM IS62C256AL中,从713FH-7148H地址连续存放一个长度为10字节的无符号数,假设该数据按照低字节存放在高地址单元、高字节存放在低地址单元的顺序存放,请编写程序,将该数据读出,对其加1后写回到原位置。
AUXR寄存器中EXTRAM位需要置1,使用片外扩展的SRAM该题目要完成的内容:首先最低位单元内容加1如果有进位,并且10个字节没有处理结束,就要将地址减1,并将该地址单元的内容加1重复第2步13,汇编语言程序段:AUXR EQU 8EH ORL AUXR,#00000010B;设置EXTRAM=1,使用片外RAM MOV DPTR,#7148H ;最低字节地址7148H送DPTR寄存器 MOVX A,@DPTR ;将最低字节内容读出 ADD A , #01 ;最低字节加1,并形成Cy标志位 MOVX @DPTR ,A ;回写 MOV R2,#9 ;循环次数9次,将高的9个字节加进位位 DEC DPL LOOP: MOVX A,@DPTR ;将内容读出 ADDC A,#00H ;加进位位 MOVX @DPTR,A ;将修改后的内容写回原地址 DEC DPL ;修改地址指针 DJNZ R2,LOOP ;判断循环是否结束,使用汇编语言编程时,低字节加1后可能会产生进位,影响Cy标志位,需要使用ADDC指令将Cy标志位加入到较高字节的求和运算中。
14,C51程序:void main( ){ unsigned char i,x; AUXR =AUXR | 0x02; XBYTE[0x7148]=XBYTE[0x7148]+1; //将最低字节数据加1 x=XBYTE[0x7148];//最低字节暂存至x,可以作为是否有进位的判断条件 for(i=0;i<9;i++) { if (x==0) //当x==0条件成立,一定有进位,否则,无进位 { XBYTE[0x7147-i]=XBYTE[0x7147-i]+1; // x==0成立,有进位,高字节加1 x= XBYTE[0x7147-i]; //暂存该字节数据,作为下次判断进位的条件 } else break; // x==0条件不成立,说明没有进位,退出循环 } while(1) ;},而使用C51编写该程序时,首先将最低字节数据加1,之后对高的九个字节进行处理如果较低字节的数值加1后变为0,那么一定会有进位,较高字节需要加1如果较低字节的数值加1后不为0,较高字节不需要加115,11.3 输入输出接口扩展,概念:I/O接口电路就是处在单片机I/O口和外部设备之间的电路。
作用:对单片机I/O口的信号和外部设备的信号进行协调,11.3.1 I/O接口电路的功能,实现通信速度的匹配实现电平匹配增强驱动能力进行数模转换、模数转换……,16,11.3.2 简单的I/O口扩展举例,常用的输入接口可以使用三态缓冲器74LS244、74LS245,74LS245为双向、三态、8位数据缓冲器DIR为方向控制端,当DIR为高电平时,A端输入的数据从B端输出74LS244为单向、三态的数据缓冲器,常用作总线驱动器内部有8个三态驱动器,分成两组、4位,分别由 和 控制,输入为A端,输出为Y端17,常用的输出接口:锁存器74LS373、74LS273、74HC573,74LS373是一个带三态缓冲输出的8D触发器,也是常用的地址锁存器芯片数据从D0-D7引脚输入,从Q0-Q7引脚输出为输出使能信号,LE为锁存使能端,低电平锁存有效,74LS273是带有清零端的8D触发器,常用作8位地址锁存器当清零端 输入低电平时,输出端Q的数据清零当 保持高电平时,正常工作,在CLK引脚信号的上升沿将输入端1D-8D的数据传送并锁存至输出端1Q-8Q。
18,【例11-2】使用74LS244作为输入缓冲接口,74LS273作为输出锁存接口,请编程实现:当按键KEY1按下,LED1灯点亮,其它灯熄灭,同理,当KEYi按键按下,LEDi灯点亮,其它灯熄灭单片机P2.0输出为低电平、/RD输出低电平,使得74LS244被选通工作,才能获取按键输入信号所以输出地址FEFFH单片机P2.0输出为低电平、/WR输出低电平,使能74HC273送出LED驱动信号地址FEFFH19,(1)汇编语言程序段:AUXR EQU 8EH ORL AUXR, #00000010B ;设置EXTRAM=1,使用片外RAM MOV DPTR, #0FEFFH ;地址送DPTR NEXT: MOVX A, @DPTR ;读74LS244的数据 NOP ;延时,等待74LS244的输出恢复高阻态 NOP NOP NOP MOVX @DPTR,A ;将读入的数据送出,驱动LED NOP NOP NOP NOP SJMP NEXT,该指令可以使/RD、P2.0引脚为低电平,该指令可以使/WR、P2.0引脚为低电平,20,(2)C51程序:void main( ){unsigned char temp=0;AUXR=AUXR | 02 ; //设置EXTRAM=1,使用片外RAMwhile(1){ temp=XBYTE[0xFEFF]; //读入按键状态 _nop_( ); //延时,等待74LS244的输出恢复高阻状态 _nop_( ); _nop_( ); _nop_( ); XBYTE[0xFEFF]= temp ; //送出数据驱动LED _nop_( ); //延时 _nop_( ); _nop_( ); _nop_( ); }},21,11.4、8255A可编程IO接口扩展,8255A: Intel公司的通用可编程并行接口芯片。
这一类芯片在正常工作前需要通过编程来设置其工作方式,所以称为可编程芯片作用:单片机的并行口数量比较少,但是需要并行口的外设比较多,所以经常需要扩展并行口供外设使用而8255A可以提供3个并行口22,11.4.1 8255A内部结构和引脚功能,数据线D0-D7,负责传输数据信息、状态信息和控制字,与单片机的P0.0-P0.7引脚连接有三个8位并行I/O口,A口、B口、C口分别对应引脚PA0-PA7、PB0-PB7、PC0-PC7这些引脚通常和外设相连3、 、 两个引脚和单片机的同名引脚相连,单片机通过这两个引脚控制数据从8255A中读取或写入8255A4、 是片选信号,低电平有效只有当该引脚为低电平时,单片机与8255A之间才能通信RESET是复位信号输入引脚,高电平有效8255A在正常工作之前需要进行一次复位两位地址线A1、A0选择四个端口:A口、B口、C口、控制端口,23,8255A 的内部结构,外设,微处理器,,,,24,8255A 端口地址表,,,,,,25,11.4.2 8255A控制字,两个控制字:方式选择控制字(用来设置8255A的工作方式)和C口置位/复位控制字(设置C口某一位的状态 ) 。
两个控制字的区分标志:控制字的D7位 当D7位为1,使用的是方式选择控制字; 当D7位为0,使用的是C口置位/复位控制字 使用:都是写到控制字端口(A1A0=11),。





