版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、YanCheng Institute of Technology 课程设计说明书课程名称单片机应用设计 设计题目基于单片机的时钟设计专业自动化学生姓名袁财旺 班级 M自动化101学号 完成日期2013.12.12 盐城工学院电气学院盐城工学院电气学院课程设计任务书 姓 名: 袁财旺 院 (系):电气工程学院 专 业:自动化 班 号: 任务起至日期: 2013 年 12 月 2日至 2013 年12 月 12 日 课程设计题目: 基于单片机的时钟设计 已知技术参数和设计要求:看门狗:MB3773 主芯片:AT89C51 计时单元:DS1302 显示单元:LCD 供电模式:电池供电 预期设计效果:
2、能正确显示时分秒 工作计划安排:节点序号任务进度日程(天)1任务分析、资料收集12总体方案、器件选型13原理图设计、绘制34软件流程设计、程序编写35说明书撰写16答辩1 同组设计者及分工: 成绩评定:_ 指导教师签字: _ _ 年 月 日 摘要:单片机 即单片微型计算机。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要
3、求也越来越高。怎样让时钟更好的为人民服务,怎样让我们的老朋友再次焕发青春呢?这就要求我们不断设计出新型的时钟,来不断满足人们的日常生活需要。然而市场上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么,有没有一款既简单实用价格又便宜的时钟呢?课程设计设想:可不可以利用单片机功能集成化高,价格又便宜的特点设计一款结构既简单,价格又便宜的单片机电子时钟呢? 基于这种情况,经过多方查阅资料,反复论证设计出了这款既简单实用,又价格便宜的单片机电子时钟。第一章 系统设计要求 基本功能(1)能够显示时分秒(2)能够调整时分秒第二章 硬件总体设计方案 1MB3773简介.MB3773产生复位信号来保护一个任意
4、的系统供电电压瞬间拦截或减少。是集成电路的供电电压的手表,“上电复位”的生成电源的正常返回。MB3773发送微处理器复位信号时减少更多比电压,电源系统的指定,和计算机数据的保护偶然的删除。此外,看门狗定时器的操作诊断系统内置,和各种微处理器系统可以提供故障保险功能。如果MB3773不接收来自处理器的时钟脉冲的指定的期间,MB3773产生复位信号。n特性精密电压检测(VS=4.2V2.5%)检测阈值电压具有迟滞功能低电压输出复位信号(VCC=0.8VTyp)精密基准电压输出(VR=1.245V1.5%)内置看门狗定时器的边缘触发输入。外部的部分很少。能力(1块)复位信号输出的积极和消极两种理论的
5、原因。功能描述Comp.S是包括滞回比较器。它比较的参考电压和电压Vs,这样当对终端的电压低于约1.23V,输出复位信号。瞬时功率可以减免或下降MB3773在检测到异常条件2s间隔。然而因为短暂的休息或滴这时间不会引起问题在一些实际系统情况下,延迟触发函数可以创建通过连接电容器和终端。Comp.O是比较器打开/关闭输出,比较Cr终端的电压和阈值电压。因为重置/复位输出内置上拉电路,不需要连接到外部上拉电阻时,连接到一个高阻抗负载如CMOS逻辑集成电路。(对应于500kVcc=5v)CK终端的电压变化时的“高”级别“低”层面,脉冲发生器发送到看门狗定时器通过生成脉冲瞬间阈值水平的下降。当电源电压
6、超过检测电压下降时,看门狗定时器变成了封锁。参考放大器是一个运放输出参考电压。如果比较器外,两个或两个以上的供电电压监视和过电压监控完成了。如果open-collector输出,它使用一个比较器,比较器的输出与Vs终端的MB3773没有上拉电阻,可以与reset-hold电压监测时间。2.主芯片AT89C51AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。其最突出的优点是片内ROM 为Flash ROM,可擦写1000 次以上,应用并不复杂的通用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM 二级保密系统。因此可灵活应用于各种控制领域。AT
7、89C51 包含以下一些功能部件:(1)一个8 位CPU ;(2)一个片内振荡器和时钟电路;(3)4KB Flash ROM ;(4)128B 内RAM;(5)可寻址64KB 的外ROM 和外RAM 控制电路;(6)两个16 位定时/计数器;(7)21 个特殊功能寄存器;(8)4 个8 位并行I/O 口;(9)一个可编程全双工串行口;(10)5 个中断源,可设置成2 个优先级。AT89C51 单片机一般采用双列直插DIP 封装,共40 个引脚,图2-1 为其引脚排列图。40 个引脚大致可分为4 类:电源、时钟、控制各I/O 引脚。图2-1 AT89C51引脚图2.1 电源Vcc芯片电源,接+5
8、V;GND接地端。2.2 时钟XTAL1、XTAL2晶体振荡电路反相输入端和输出端。2.3 控制线控制线共有4 根,其中3 根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。1、ALE/ PROG 地址锁存允许/片内EPROM 编程脉冲。(1)ALE 功能:用来锁存P0 口送出的低八位地址。AT89C51 在并行扩展外存储器时,P0 口用于分时传送低8 位地址和数据信号,且均为二进制数。当ALE 信号有效时,P0 口传送的是低8 位地址信号;ALE 信号无效时,P0 口传送的是低8 位地址信号。在ALE 信号的下降沿,锁定P0 口传送的内容,即低8 位地址
9、信号。需要指出的是,当CPU 不执行访问外RAM 指令,ALE 以时钟振荡频率1/6 的固定频率输出,因此ALE 信号也可作为外部芯片CLK 时钟或其他需要。但是,当CPU 执行MOVX 指令时,ALE 将跳过一个ALE 脉冲。(2) PROG 功能:片内EPROM 的芯片,在EPROM 编程期间,此引脚输入编程脉冲。2、 PSEN 外ROM 读选通信号。89C51 读外ROM 时,每个机器周期内PSEN 两次有效输出。PSEN 可作为外ROM芯片输出允许OE 的选通信号。在读内ROM 或读外RAM 时, PSEN 无效。3、RST/VPD复位/备用电源。(1)正常工作时,RST 端为复位信号
10、输入端,只要在该引脚上连续保持两个机器周期以上高电平,AT89C51 芯片即实现复位操作,复位后一切从头开始,CPU 从0000H 开始执行指令。(2)VPD 功能:在VCC 掉电情况下,该引脚可接上备用电源,由VPD 向片内RAM供电,以保持片内RAM 中的数据不丢失。4、EA /VPP内外ROM 选择/片内EPROM 编程电源。(1) EA 功能:正常工作时, EA 为内外ROM 选择端。AT89C51 单片机ROM 寻址范围为64KB,其中4KB 在片内,60KB 在片外。当EA 保持高电平时,先访问内ROM,但当PC 值超过4KB 时,将自动转向执行外ROM 中的程序。当EA 保持低电
11、平时,则只访问外ROM,不管芯片内有否内ROM。(2)VPP 功能:片内有EPROM 的芯片,在EPROM 编程期间,此引脚用于施加编程电源。2.4 I/O引脚AT89C51 有P0、P1、P2、P3 4 个8 位并行I/O 端口,共32 个引脚。P0 口是一组8 位漏级开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8 个TTL 逻辑门电路,对端口写1 时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8 位)/数据总线,在访问期间激活了内部的上拉电阻。在Flash 编程时,P0 端口接收指令字节;而在验证程序时,则输
12、出指令字节。验证时,要求外接上拉电阻。P1 口是带内部上拉电阻的双向I/O口,向P1口写入1时P1口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部信号拉低的P1口会因为内部上拉而输出一个电流。Flash编程和程序校验期间,P1接收低8位地址。P2 口是带内部上拉电阻的双向I/O口,向P2口写入1时P2口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据,当使用8位寻址方式(MOVXRI)访问外部数据存储器时,P2口发送P2特殊功能寄存器的
13、内容,在整个访问期间不改变。Flash编程和程序校验时,P2也接收高位地址和一些控制信号。P3 口是带内部上拉电阻的双向I/O口,向P3口写入1时P3口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流。P3口除了作为一般的I/O口线外,更重要的是它的第二功能,如表2-1所示:表2-1 P3端口的特殊功能 端口引脚兼 用 功 能 P3.0RXD 串行输入口 P3.1TXD 串行输出口 P3.2/INT0 外部中断0 P3.3/INT1 外部中断1 P3.4T0 定时器0的外部输入 P3.5T1 定时器1的外部输入 P3.6/WR 外部数据存储器写选通 P3
14、.7/RD 外部数据存储器读选通 3. DS1302芯片 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(1F)来替代。需要强调的是,DS1302需要使用32.768KHz
15、的晶振。DS1302 包含以下一些功能部件:(1)实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;(2)用于高速数据暂存的318位RAM;(3)最少引脚的串行I/O;(4)2.55.5V 电压工作范围;(5)2.5V时耗电小于300nA;(6)用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;(7)简单的3线接口;(8)可选的慢速充电(至VCC1)的能力。3.1 DS1302数据操作原理DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄
16、存器中哪个被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。DS1302的内部结构图如图2-2所示。图2-2 DS1302内部结构图3.2 DS1302 的引脚图及功能DS1302 的引脚图如图2-3所示。图2-3 DS1302引脚图DS1302 各引脚功能:Vcc1:主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制数
17、据的输入与输出; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次CE提供结束单字节或多字节数据传输的方法。引脚功能如表2-2所示:表2-2 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入 3.3 DS1302的寄存器 1、DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),
18、存放的数据格式为BCD码形式,如表2-3所示:表2-3 DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器 80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN时寄存器84H85H01-12或00-2312/24010HRHR日寄存器86H87H01-28,29,30,310010DATEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910YEARYEAR控制8EH8FH-WP0000000秒寄存器(81h、80h
19、)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是 ,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。2、DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。
20、突发模式寄存器如表2-4所示:表2-4突发模式寄存器工作模式寄存器读寄存器写寄存器时钟突发模式CLOCK BURSTBFHBEHRAM突发模式RAM BURSTFFHFEH 3、DS1302还有涓流充电寄存器等。 3.4 DS1302的控制字DS1302的控制字如下表所示:表2-5控制字(即地址及命令字节) 765432101RAMA4A3A2A1A0RD控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A4A0):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为
21、1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个 SCLK时钟的上升沿时,数据被写入 DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个 SCLK脉冲的下降沿,读出 DS1302的数据,读出的数据也是从最低位到最高位。3.5 DS1302时序CE 输入驱动高启动所有的数据传输。CE 输入有两个功能。首先,CE打开控制逻辑,允许访问的移位寄存器的地址/命令序列。其次,CE 提供了一个终止单字节或多字节数据传输方法。一个时钟周期是由一个下降沿之后的上升沿序列。对于数据传输而言,数据必须在有效的时钟的上升沿输入,在时钟的下降沿输出。如果CE 为
22、低,所有的I/ O 引脚变为高阻抗状态,数据传输终止。对于数据输入:开始的8 个SCLK 周期,输入写命令字节,数据字节在后8 个SCLK 周期的上升沿输入。数据输入位0 开始。对于数据输出:开始的8 个SCLK 周期,输入一个读命令字节,数据字节在后8 个SCLK 周期的下降沿输出。注意,第一个数据字节的第一个下降沿发生后,命令字的最后一位被写入,命令字节的最后一位被写入。当CE 仍为高时。如果还有额外的SCLK 周期,DS1302 将重新发送数据字节,这使DS1302 具有连续突发读取的能力。DS1302数据读写时序如图3-1所示:图3-1 数据读写时序3.6 子程序流程图设计1、 DS1
23、302 定时器中断子程序流程图YYYYYYYNNNNNNNNY开始给定时器再次赋值判断是否计满18次秒加1,判断是否等于60分加1,秒置0,判断分是否等于60时加1,分置0,判断时是否等于24日加1,时置0,判断该年是否为闰年判断日是否到月底月加1,日置1,判断月是否等于12年加1,月置1,判断年是否为100执行年、月、日、时、分、秒的显示结束图3-2 DS1302中断流程图程序主要实现对DS1302写保护、充电,对年、月、日、时、分、秒等寄存器的读写操作。在读写操作子程序中都执行了关中断指令,因为在串行通信时对时序要求比较高,而且在此是用I/O口软件模拟串行时钟脉冲,所以在通信过程中最好保证
24、传输的连续性,不要允许中断,如图3-2所示.4 LCD1602液晶显示LCD1602是一种用5x7点阵图形来显示字符的液晶显示器模块,它显示的容量为2行16个字共32个字符。它由若干个57或者511点阵字符位组成,每个点阵字符位都可以显示一个字符。模块采用数字式接口,能够方便地与单片机等控制类芯片进行通信。由于其具有体积小、重量轻、显示质量高、功耗低等诸多优点而被广泛用于智能化仪器仪表的显示器件。4.1 LCD1602引脚及功能 LCD1602的引脚(1)GND:地电源。(2)Vcc:接+5V电源。(3)VL:液晶显示器对比度调整端。接+5V电源时对比度最弱,接地电源时对比度最高,对比度过高时
25、会产生“鬼影”,使用时可以通过一个10K的精密电位器调整对比度,一般对比电压为0.7V左右。(4)RS:寄存器选择。高电平时选择数据寄存器,否则选择指令寄存器。(5):读写信号线。高电平时进行读操作,低电平时进行写操作。当RS和共同为低电平时可以写入指令或者显示地址,当RS为低电平为高电平时可以读出忙信号,当RS为高电平为低电平时可以写入数据。(6)E:使能端。当E端由高电平跳变成低电平时,液晶模块执行命令。(7)D1D8:8位双向数据线。 (8)BLA:背光源正极;(9)BLK:背光源负极。第三章.软件总体设计方案设计程序#include #include unsigned char dat
26、a dis_digit;unsigned char key_s, key_v;unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xbf;/ 4, 5, 6, 7, 8, 9, unsigned char data dis_buf8;unsigned char data dis_index;unsigned char hour,min,sec;unsigned char sec100; sbit K1 = P11;sbit K2 = P12;bit sca
27、n_key();void proc_key();void inc_sec();void inc_min();void inc_hour();void display();void delayms(unsigned char ms);void main(void) P2 = 0xff; P3 = 0xff; TMOD = 0x11; / 定时器0, 1工作模式1, 16位定时方式 TH1 = 0xdc; TL1 = 0; TH0 = 0xFC; TL0 = 0x17; hour = 12; min = 00; sec = 00; sec100 = 0; dis_buf0 = dis_codeho
28、ur / 10; / 时十位 dis_buf1 = dis_codehour % 10; / 时个位 dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位 dis_buf6 = dis_codesec / 10; / 秒十位 dis_buf7 = dis_codesec % 10; / 秒个位 dis_buf2 = 0xbf; / 显示- dis_buf5 = 0xbf; / 显示- dis_digit = 0xfe; dis_index = 0; TCON = 0x01; IE = 0x8a; / 使能ti
29、mer0,1 中断 TR0 = 1; TR1 = 1; key_v = 0x03; while(1) if(scan_key() delayms(10); if(scan_key() key_v = key_s; proc_key(); bit scan_key() key_s = 0x00; key_s |= K2; key_s 59) min = 0; dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位 EA = 1;void timer0() interrupt 1/ 定时器0中断服务程序, 用于数码
30、管的动态扫描/ dis_index - 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量/ dis_digit - 位选通值, 传送到P2口用于选通当前数码管的数值, 如等于0xfe时,/ 选通P2.0口数码管/ dis_buf - 显于缓冲区基地址 TH0 = 0xFC; TL0 = 0x17; P3 = 0xff; / 先关闭所有数码管 P2 = dis_bufdis_index; / 显示代码传送到P0口 P3= dis_digit; / dis_digit = _crol_(dis_digit,1); / 位选通值左移, 下次中断时选通下一位数码管 dis_index+; / di
31、s_index &= 0x07; / 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描 void timer1() interrupt 3 TH1 = 0xdc; sec100+; if(sec100 = 100) sec100 = 0; inc_sec(); void inc_sec() sec+; if(sec 59) sec = 0; inc_min(); dis_buf6 = dis_codesec / 10; / 秒十位 dis_buf7 = dis_codesec % 10; / 秒个位 void inc_min() min+; if(min 59) min = 0; inc_hour(); dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位void inc_hour() hour+; if(hour 23) hour = 0; if(hour 9) dis_buf0 = dis_codehour / 10; / 时十位 else dis_buf0 = 0xff; / 当小时的十位为0时不显示 dis_buf1 = dis_codehour % 10; / 时个位void delayms(unsigned char ms) / 延时子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿生活安全教育课件
- 铲车安全课件
- 40项路基工程施工工艺流程解析合集课件
- 医院安全课件
- 《焊接结构生产》试卷
- 威胁情报共享机制试题
- 咨询工程师报名条件理论考试试题及答案
- 《小石潭记》复习题(默写、对比阅读含答案)
- 学法用法考试题库
- 健康管理师资格考试历年真题(2025年标准版)
- 大学生职业规划大赛《生物制药专业》生涯发展展示
- 大连农商银行招聘笔试真题2024
- 管理者的问题分析与解决能力
- 第六讲 科学社会学
- 2025年航空飞行模拟设备采购与培训协议3篇
- 中央企业人工智能应用场景案例白皮书(2024年版)-中央企业人工智能协同创新平台
- 《柑橘类果园碳汇计量监测技术规程》
- 酒店保洁公司合同范例
- 《工作态度与心态》课件
- 小王子(中英文对照版)
- 重庆市南川区三校联盟2024-2025学年八年级上学期期中考试数学试题(A卷)(无答案)
评论
0/150
提交评论