




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2051单片机综合学习系统先看分别有流水灯, 线,SPI总线, 控,温度传感, 速入门如图下我们将要使用的数码管显示,PS/2实验,51单片机综合学习系统能完成哪些实验与产品开发工作:液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总AD模数转换,光耦实验,串口通信,红外线遥控,无线遥 1所示,其配套书本教程单片机快步进电机控制等等。主体系统如图2所示。他常"*: ji厂十门 I.* :一 瘤'V *;盜曲-萨苇眉京讥乎图1 51单片机综合学习系统主机部分图片图2 51单片机综合学习系统配套书本教程单片机快速入门DS1302的工作原理上图是我们将要使用的 51单片机综合学习
2、系统硬件平台,如图1所示,本期实验我们用到了综合系统主机、板载的DS1302时钟芯片,综合系统其它功能模块原理与使用详见前几期电子制作杂志及后期连载教程介绍。在很多单片机系统中都要求带有实时时钟电路,如最常见的数字钟、钟控设备、数据 记录仪表,这些仪表往往需要采集带时标的数据,同时一般它们也会有一些需要保存起来的重要数据,有了这些数据,便于用户后期对数据进行观察、分析。本小节就介绍市 面上常见的时钟芯片 DS1302的应用。DS1302是美国DALLAS公司推出的一款高性能、 低功耗、带内部RAM的实时时钟芯片(RTC),也就是一种能够为单片机系统提供日期 和时间的芯片。通过本小节的学习,我们
3、将会把RTC相关的一些技术粗略介绍一下,然后介绍DS1302与单片机之间的软硬件应用。DS1302时钟芯片简介DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通 过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采 用同步串行的方式进行通信,仅需三根I/O线:复位(RST八I/O数据线、串行时钟(S31字节的字符组方式通信。DS1302工1mW。CLK)。时钟/RAM的读/写数
4、据以一字节或多达 作时功耗很低,保持数据和时钟信息时,功耗小于DS1302的内部结构DS1302的外部引脚功能说明如图 3所示:VcC21X127X2匚36gndF45图3 DS1302封装图VcciSCLKI/ORSTX1,X2GNDRSTI/OSCLKVCC1VCC232.768kHz晶振引脚复位数据输入/输出串行时钟电池引脚主电源引脚实时时钟以及RAM。虽然数据分成两种, 就是对特定的地址进行读写操作。<«iJMt>»MlM I Jk'KM控制逻辑、振荡器、DS1302的内部结构如图4所示,主要组成部分为:移位寄存器、 但是对单片机的程序而言,其实
5、是一样的,图4 DS1302的内部结构图DS1302含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和 串入的二极管数目,以调节电池充电电压。不过对我们目前而言,最需要熟悉的是和时 钟相关部分的功能,对于其它参数请参阅数据手册。DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟( SCLK)的上升沿串行输入, 前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数 据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248
6、的数据。DS1302的寄存器和控制命令DS1302内部共有12个寄存器,其中BCD码形式。此外,DS1302还有年RAM相关的寄存器等。时时间寄存器及控制日历、对DS1302的操作就是对其内部寄存器的操作, 有7个寄存器与日历、时钟相关,存放的数据位为 份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。 字如表1所示:寄存器名称RAM/CKA4A3A2A1A0RD/W秒寄存器 分寄存器 小时寄存器 日寄存器 月寄存器 星期寄存器 年寄存器 写保护寄存器 慢充电寄存器 时钟突发寄存器日历、时钟寄存器与控制字对照表最后一位RD/W“0时表示
7、进行写操作,为“1时表示读操作。DS1302内部寄存器列表如表 2所示:命令字取值范围各位内容寄存器名称写3210秒寄存器80H81H00-59CH10SECSEC个,每个单元为一个 8位的字节,其命令控制字为 COHFDH,其中奇数为读操作,偶数为写操作;再一类 为突发方式下的RAM,此方式下可一次性读写所有的 RAM的31个字节,命令控制字 为 FEH (写)、FFH (读)。DS1302内部的RAM分为两类,一类是单个 RAM单元,共31分寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12 或 00-2312/240AHRHR日期寄存器86H87H01-28,
8、29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR表2 :DS14302内部主要寄存器分布表图5 DS1302的命令字结构DS1302的软硬件设计实例我们现在已经知道了控制寄存器和RAM的逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。单片机是通过简单的同步串行通讯与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令帧,这个帧的格式如表 1所示,最高位BIT7固定为1,BIT6决定操作是针
9、对 RAM还 是时钟寄存器,接着的 5个BIT是RAM或时钟寄存器在 DS1302的内部地址,最后一 个BIT表示这次操作是读操作抑或是写操作。物理上,DS1302的通讯接口由3个口线组成,即 RST,SCLK,I/O。其中RST从低 电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。具体的读写时序参考图5,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏 感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时SCLK保持低电平,在时钟变动前设置数据, 在时钟
10、变动后读取数据, 即数据操作总是在 SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。1;M5 h 1TkMl本例将实现对DS1302的读写操作,将时钟数据在LED数码管上显示出来。调试时将功 能选择开关调到 DS1302的状态上。图6 DS1302实验演示图-.3“侖:IP ?戸-fw; F JAnJI 亠 L F f ft-V f - -f 单匸* p It"-H B - - 片 “ i r ”I 讣小 乂也;> - f , ?二 4 £ r 、! J ¥ - F rX” :;: -弋"bl-卡”;,4 > r -
11、* =.第-J : ha!;0丄匕丿匕C二 J二 JR"TH防?932 52 :-*; ? V *;焊- ;18B20 ftD0e32 PC81/HTTP: /UWUI, Hirrc硬件原理图程序流程图图10-46硬件原理图开姐DS1303讷怕化读脚托1302时间灵示时、分.耿图10-47软件流程图初步认识2051芯片上一课我们的第一个项目完成了,可能有懂C语言的朋友会说,"这和PC机上的C语言没有多大的区别呀"。的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的 C语言都会有一些细节的改变。 编写PC机的C程序时,如要对硬件编程你就必须对硬
12、件要有一定的认识,51单片机编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后的教程中就以Atmel 公司的 AT89C51 和 AT89C2051为中心对象来进行学习,两者是 AT89系列的典型代表,在爱好者中使用相当的多,应用资料很多,价格便宜,是初学51的首选芯片。嘿嘿,口水多多有点卖广告之嫌了。RST严m inrrirj irrJTTjaummKTAL2 - XTAL ( OhC I37i423 VCCl IPO.O H
13、AO和 .P0.1 lADIlI PO JI IPO. 3 1*03) JI Cb J. * Ap羊 *I * 4AC>«11 P&.r ADJ) I IE:| ALEfPAO宕 IPSCN:f*i.T 1A1 时4 4A 114I IPJ 51、忖1 HJI PJ J (AIOlPJ IIH&T/VPP (RXDt P3 O' '! (TXDJ P3.1 .XTAL2 7KTAL1 1 1 (INTOI P3 2 (IhTM P3.3i(,T0> P3.4 - i(TU P3.5GND IfS010典191017161511411y VC
14、C'F1I.7Pl.ft 口 Pl £'PI PI.3 =1 PI.2 _1 P1.1 (AlliMlI Ti Pl.O (AtNO) *1卩”AT89C51AT89C2P51AT89C51AT89C20514KB可编程Flash存储器(可擦写10002KB可编程Flash存储器(可擦写1000次)次)三级程序存储器保密两级程序存储器保密静态工作频率:0Hz-24MHz静态工作频率:0Hz-24MHz128字节内部RAM128字节内部RAM2个16位定时/计数器2个16位定时/计数器一个串行通讯口一个串行通讯口6个中断源6个中断源32条I/O引线15条I/O引线片内时
15、种振荡器1个片内模拟比较器和AT89C2051引脚功能图图 2- 1 AT89C51图2 1中是AT89C51和AT89C2051的引脚功能图。而表2 1中则是它们的主要性 能表。以上可以看出它们是大体相同的,由于AT89C2051的10线很少,导致它无法外加RAM和程序ROM,片内Flash存储器也少,但它的体积比 AT89C51小很多,以后 大家可根据实际需要来选用。它们各有其特点但其核心是一样的,下面就来看看AT89C51的引脚具体功能。1.电源引脚Vcc 40 电源端GND 20 接地端*工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。2.外接晶体引脚C2T
16、卜C1 I卜XTAL2XTAL1悬空外部摭跖信号X7AL2XTALIGNDXTAL119GMD2.外部方式外接晶体引脚XTAL218是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,XTAL1外部振荡信号应直接加到 XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉 冲二分频,如晶振为12MHz,时钟频率就为 6MHz。晶振的频率可以在 1MHz-24MHz 内选择。电容取 30PF左右。*型号同样为 AT89C51的芯片,在其后面还有频率编号,有 12,16,20,24MHz可选。大 家在购买和选用时要注意了。 如AT89C51 24PC就是最高振荡频率为 2
17、4MHz,40P6封装 的普通商用芯片。3.复位 RST 9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将 使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后 P0- P3 口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。常用的复位电路如图2 3所示。*复位操作不会对内部 RAM有所影响。图2-3常用复位电路4.输入输出引脚(1) P0端口 P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1 (对端口写1) 时作高阻抗输入端。作为输出口时能驱动8个
18、TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上 拉电阻。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。P1端口 P1.0 P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低 8位地址信息。P2端口 P2.0 P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器
19、编程时,接收高 8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2 口送出高8位地址。而在访问8位地址 的外部数据存储器时其引脚上的内容在此期间不会改变。P3端口 P3.0 P3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看表2 2.。* P1 3端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电 流。P3引脚兼用功能P 3.0串行通讯输入(RXDP 3.1串行通讯输出(TXDP 3.2外部
20、中断0 ( INT0 )P 3.3外部中断1 (INT1)P 3.4定时器0输入(T0)P 3.5定时器1输入(T1)P 3.6外部数据存储器写选通WRP 3.7外部数据存储器写选通RD表2- 2 P3端口引脚兼用功能表呼! 一口气说了那么多,停一下吧。嗯,什么?什么叫上拉电阻?上拉电阻简单来说就 是把电平拉高,通常用 4.7 10K的电阻接到Vcc电源,下拉电阻则是把电平拉低,电 阻接到GND地线上。具体说明也不是这里要讨论的,接下来还是接着看其它的引脚功 能吧。5.其它的控制或复用引脚ALE端仍以不变的频率输出脉冲信号(此频率是振脉冲。对Flash存储器编程ALE/PROG 30访问外部存储器时,ALE (地址锁存允许)的输出用于锁存地址的 低位字节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豪宅项目转让协议书范本
- 货运司机兼职合同协议
- 贷款采购供销合同协议
- 货场钢材回收合同协议
- 走账免责协议书模板
- 设备共享协议书范本
- 货运公路运输合同协议
- 解除就业协议书模板
- 2025年矿山安全与环境保护专业考试题及答案
- 2025年聚合物化学入门考试题及答案
- 北京2025年中国环境监测总站招聘(第二批)笔试历年参考题库附带答案详解
- 美国加征关税从多个角度全方位解读关税课件
- “皖南八校”2024-2025学年高一第二学期期中考试-英语(译林版)及答案
- 一例脂肪液化切口的护理
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 【MOOC】机械原理-西北工业大学 中国大学慕课MOOC答案
- 2021年妊娠期血压管理中国专家共识
- 一种基于STM32的智能门锁系统的设计-毕业论文
- Kappa量测能力测评及评价
- ph值计算加酸量计算
- 土方换填施工方案(完整版)
评论
0/150
提交评论