.
3.3.2 单片机最小系统模块
本次课程设计的最小系统包括16F887单片机、复位模块、4M外部晶振等部件组成如上最基本电路,其中芯片供电的引脚略去。本课设板所用的单片机为PIC16F887,是877A 的升级,其主要参数与887A类似,但使用更为灵活、有的参数更为细化(如异步通信的波特率为双字节),而价格比887A更低,887
.
.
引脚与877A兼容。
3.3.3 时钟和温度模块的设计
DS1307芯片通过SCL连接RC3,SDA连接RC4,跟887进行通信。通信过程中,先判断时钟芯片是否工作,若“秒”的最高位“CH”为1,说明时钟还未运行,则通过写程序,对时钟芯片赋初值同时使“秒”的最高位“CH”为0。时钟芯片DS1307工作后,在引脚7发出1Hz脉冲,引脚7连接一个LED灯。脉冲的输出,会使LED灯一亮一灭,可通过LED灯的亮暗可判断时钟芯片DS1307是否运行。 时钟芯片 DS1307:
DS1307 是实时时钟芯片,它提供秒、分、时、日、月、年和星期等数据。通常时钟芯片是要接备用电池,当主电源掉电时,备用电源为DS1307 提供维持电源此电源只供DS1307 使用,此时时钟仍正常运行,时钟晶振是典型的32.768kHz。 温度模块:
TC74也是IIC器件,它一出厂就配有一个固定的地址,单片机通过寻址来实
.
.
现对不同IIC器件的访问和操作。单片机只要有一个IIC接口,就可以实现对外围不同地址的IIC器件进行操作。TC74温度围为-40℃~+125℃, 在+25℃~+85℃围的精度为±2℃(最大值),在0℃~+25℃ 的围精度为±3℃(最大值)。TC74的默认的7位地址为0b1001101。TC74的读温度命令是0b00000000,在温度数据寄存器中,每单位值代表1℃ ,数据用二进制补码格式。
3.3.4 LCD液晶显示模块
本课设所使用的字符型LCD型号为YB1602,1602型LCD显示模块具有体积小,功耗低,显示容丰富等特点,采用4位接线法,RD口的低四位和LCD的高4位连接,RD4、RD5、RD6用于读写和使能控制.上电后要延时15ms 后,才能进行初始。 3.3.5 闹钟模块的设计
.
.
通过设定闹钟时间将闹钟时间存储在CCCC[]数组中,当时钟时间与闹钟时间相等时启动蜂鸣器,蜂鸣器发出声响。
3.3.6 按键模块
按键采用普通按键,按键另一端接B口,由于B口可通过程序编写为弱上拉,所以仿真图中按键不需画出上拉电阻。RB0代表时间设置,RB1代表加,RB2代表减,RB3代表闹钟设置。
3.4软件编程的设计及其说明 3.4.1 软件设计执行的总体流程
.
.
程序流程图:
程序流程图
对各模块的初始化,和对单片机的端口的初始化 开始
判断时钟是否
工作
否
是 时钟初始化 读取温度和时间寄存
器值
判断是否到达 是 闹钟设定时间 蜂鸣器响 否 是 判断是否有闹
钟设定中断 进入闹钟设定 模式,频幕静止 否
是 是 判断是否有选判断是否有选
择调时中断 择调时中断 .
基于PIC16F887单片机的数字钟课程设计报告(福州大学)



