《单片机原理及应用(第2版)》第8章功能器件的应用

上传人:woxinch****an2018 文档编号:35838552 上传时间:2018-03-21 格式:PPT 页数:38 大小:1.92MB
返回 下载 相关 举报
《单片机原理及应用(第2版)》第8章功能器件的应用_第1页
第1页 / 共38页
《单片机原理及应用(第2版)》第8章功能器件的应用_第2页
第2页 / 共38页
《单片机原理及应用(第2版)》第8章功能器件的应用_第3页
第3页 / 共38页
《单片机原理及应用(第2版)》第8章功能器件的应用_第4页
第4页 / 共38页
《单片机原理及应用(第2版)》第8章功能器件的应用_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《《单片机原理及应用(第2版)》第8章功能器件的应用》由会员分享,可在线阅读,更多相关《《单片机原理及应用(第2版)》第8章功能器件的应用(38页珍藏版)》请在金锄头文库上搜索。

1、第八章 功能器件的应用,第一节  概述第二节  实时时钟第三节  串行方式的LED显示器接口第四节   A/D与D/A转换接口第五节   看门狗电路,本章要点,单片机应用系统的外围功能器件品种繁多,而且新的器件不断推出,不可能也不必要一一加以介绍,本章只选择一些典型的常用芯片,介绍它的使用方法。根据这些方法就能了解功能器件的使用要点。    使用功能器件主要是掌握它与单片机的连接,使用前的初始化,以及程序的编制方法,本章着重介绍串行扩展的程序的编制。,第一节  概述,1.功能器件是指一些为实现某种功能而设计的专用集

2、成电路。       2.功能器件是为了解决片内功能的不足,需要在片外扩展,以满足单片机应用系统的功能需要。       3.功能器件的扩展方法有并行扩展或串行扩展两种。串行扩展由于所占用的I/O口少。特别适用于小控制系统。,并行扩展与串行扩展,并行扩展法       并行扩展法是利用单片机的三总线(地址总线、数据总线和控制总线)与被扩展的器件相连接,采用并行扩展法的接口应与存储器统一编址。       串行扩展法        串行扩

3、展法有一线制、两线制和三线制等方式,其中两线制的        总线、三线制的SPI总线比较常用。,返回本章首页,第二节   实时时钟,配置实时时钟,便于按时钟所提供的时间按时操作或按时记录。时钟芯片有并行和串行两种形式。    一、并行时钟       1.并行时钟硬件结构,常用并行实时时钟芯片有 MC146818、DS12887、 DS12887A等。它们都具有完备的时钟、闹钟及万年历功能。能实时提供年、月、日、时、分、秒,且可任意选12或24小时制。图为DS12887A的引脚图。,2.DS

4、12887A与单片机的连接方法,5V,3.、DS12887A内存单元的地址分配,4.DS12887中寄存器A各位定义5.DS12887中寄存器B各位定义,6.DS12887中寄存器C各位定义7.DS12887中寄存器D各位定义,8. 初始化及写入程序  初始化是指时钟使用前根据使用要求对寄存器A、B进行设置,以决定时钟、日历的工作制式。以及通过程序对时钟、日历和闹钟当前时间进行初始化,俗称拨钟,以便将实时的秒、分、时和年、月、日值赋予00H-09H的10个时间单元。以DS12887A为例。    初始化部分        

5、MOV    DPTR,#7F0AH  7F0AH为寄存器A的地     MOV    A,#70H  设置分频器复位     MOVX   DPTR,A     INC    DPTR  指向寄存器B的地址     MOV    A,#82H  SET=1钟暂停,选BCD24小时制     MOV    X,DPTR,A,设置当前时间MOVDPL

6、,#00H;指向秒单元地址MOVA,#00H;拨成0秒MOVXDPTR,AMOVDPL,#02H;指向分单元地址MOVA,#00H;拨成0分MOVXDPTR,AMOVDPL,#04H;指向时单元地址MOVA,#08H;拨成8时MOVXDPTR,A MOVDPL,#07H;指向日单元地址MOVA,#15H;15日MOVXDPTR,A INCDPTR;指向月单元地址MOVA,#12H;12月MOVXDPTR,AINCDPTR;指向年单元地址MOVA,#05H;2005年MOVXDPTR,A,读出当前时间INCDPTR            

7、;    寄存器A的地址MOVA,#20H                频率为32.768kHzMOVXDPTR,AINCDPTR                寄存器B的地址MOVA,#02H;SET=0MOVXDPTR,A;开始走钟;以下为实时时间读出程序,读出值存入31H-33HMOVDPTR,#7F0AH;指向寄存器A的地址TEST:MOVA,DPTRJBACC.7,TEST     &

8、nbsp;  MOVDPL,#00H ;取秒MOVXA,DPTRMOV31H,AMOVDPL,#02H;取分MOVXA,DPTRMOV32H,AMOVDPL,#04H;取小时MOVXA,DPTRMOV33H,A,二、串行实时时钟,1.硬件结构      串行时钟只需要一根数据线来读出或写入数据。,DS1302的引脚图,DS1302与单片机的连接,2.读写程序   DS1302的读写步骤    1将RST置高。    2写入带有地址和命令的控制字,控制字共8位。       D

9、7必须为1,如果为0,不能写入。       D6即RAM/CK,0为存取日历时钟数据,1表示存取RAM数据。       D5至D1用来表示操作地址,7个日历、时钟寄存器的地址分别为0000000110。       D0即RD/WR,若为0表示进行写操作,为1表示读操作。控制字的值所代表的意义,可参看教材表8-6。,3输入或输出数据时序        输入时,跟在写地址和命令控制字节的8个SCLK周期之后,在下8个SCLK周期的上升沿写入数据字节。数据输入从低到

10、高,要求采用BCD码。        输出读操作时,跟随在输入写地址和命令控制字节的8个SCLK周期之后,在下8个SCLK周期的下降沿读出该地址数据。数据读出同样从低到高。        传送结束,将RST置低,所有传送停止。,返回本章首页,串行实时时钟的读写子程序(读写时可通过调用子程序)  (1)启动子程序   ST02:CLR  P1.0;SCLK置低         CLR  P1.2     NOP &nb

11、sp;   SETB  P1.2;RST置高         RET,(2)写入控制字为BF的子程序   WR02:MOV   R7,#08H   MOV   A,#0BFH   ;一次性写入控制字0BFH   LP02:CLR   P1.0;SCLK置低       RRC   A   MOV   P1.1,C;写入一位   NOP       SETB  

12、;P1.0;SCLK置高   NOP   DJNZ  R7,LP02;未写完8位继续   RET,(3.)串行实时时钟读出一个字节子程序RD02:   MOVR7,#08HLP021:  CLRP1.0;SCLK置低   NOP   MOVC,P1.1;读出一位   RRCA   SETBP1.0;SCLK置高   NOP   DJNZR7,LP021;未读完8位继续   RET  (4)结束子程序STOP:   CLRP1.2; 置高 &nbs

13、p;     NOP       RET,(5)读出秒分时日月周日年全部7个字节LCALLST02     ;启动MOVA,#0BFHLCALLWR02     ;写入控制字MOVR6,#07HMOVR0,#49H LP:LCALLRD02;读入一个字节MOVR0,AINCR0DJNZR6,LP;7个字节未完继续LCALLSTOPRET,第三节  串行方式的LED显示器接口,最简单的LED显示器串行扩展方式是利用单片机的串口,通过串入并出移位寄存器,接到LED数码显示器如图所示。现在则多采用串行

14、接口芯片如PS7219。,一、PS7219的引脚及与单片机的连接,二、PS7219内部的控制寄存器         PS7219内部的控制寄存器共15个,其中01H08HC存放待显示的数据,09H 0FH为控制寄存器。     1译码方式寄存器(地址09H)        共8位,每一位与一个LED数码显示器相对应。每个数码显示器可设为BCD译码(置“1”);或设为非代码操作(置“0”),此时存于01H到  08H寄存器的显示数据必须是七段码。     2亮度寄存器

15、(地址0AH)     此寄存器的值对应数码管的亮度,它们之间的关系见教材的表8-8。     3数据个数扫描界线寄存器(地址0BH)      用来设置所要接的数码管个数,最多接8个,4掉电控制寄存器(地址0CH)       置“1”时,芯片正常工作;置“0”时,工作于掉电模式,显示器不显示,但数据保持不变。                 5闪烁控制寄存器(地址0DH)      

16、  共8位,某位置“1”时,该位对应的数码显示器处于闪烁状态,否则为正常显示。         6显示测试寄存器(地址0FH)        控制两种工作方式,当其D0位为“0”,选择工作于正常显示方式;D0位为“1”,选择工作于测试显示方式。,三、PS7219中串行数据传送,显示时必须分别向以上15个寄存器传送数据,       每一个寄存器都要送16位数据,数据的格式如表:        数据从PS7219 的DIN端输入,高位在前

17、低位在后,可以用一个子程序来完成。    传送数据的通信时序见图8-10。,无关位,四、显示程序举例     设连接如上图,要显示的8个数码以BCD码的形式存放在单片机的50H-53H存储单元,试编程显示。   主程序:ADDR  DATA   30H;30H存地址DBUF  DATA   31H;31H存数据LOAD  EQU  P2.0DO  EQU    P2.1CLK  EQU    P2.2  ORG &n

18、bsp;0000H  AJMP  MAIN  ORG  0100H  MAIN: ACALL  DISPLAY      ACALL  MS300      AJMP  MAIN,显示子程序:在显示子程序中应先送控制字DISPLAY:CLR  LOADMOV  ADDR,#09H ;设置译码方式MOV  DBUF,#0FFHACALL  SEND16MOV  ADDR,#0AH ;设置亮度MOV  

19、;DBUF,#0FHACALL  SEND16MOV  ADDR,#0BH ;设置扫描界限MOV  DBUF,#07HACALL  SEND16MOV  ADDR,#0CH ;设置掉电控制MOV  DBUF,#01HACALL  SEND16 MOV  ADDR,#0FH;设置是否测试       MOV  DBUF,#00HACALL  SEND16 ACALL  MS2,续上,MOVR7,#04H    控制字后送4个字节MOVR1,#50HMOVADDR,#00H  待显示数码送的01H-08HDIS1:INCADDR    取PS7219地址MOVA,R1ANLA,#0F0HSWAPAMOVDBUF,AACALLSEND16INCADDRMOVA,R1ANLA,#0FHMOVDBUF,AACALLSEND16INCR1DJNZR7,DIS1RET,

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

最新文档


当前位置:首页 > 中学教育 > 高中教育

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