基于单片机的多功能数字钟万年历设计内容摘要:

表 (只读 )。 数据存储器 RAM、存储的数据 ,可以分为内部和外部数据存储器 (随机 ),单片机有 256内存单元 ,作为使用的寄存器用户仅仅是第 128 单元 ,后 128个被占用寄存器后内部 RAM是指第一个 128 单元。 8 单片机中断系统 CPU 和外围交换信息 ,有一个快的 CPU 和慢的外设之间的矛盾。 这个问题是一个关键问题 ,为了解决类似的问题。 为此引入中断的概念,单片机一次只能处理一个任务 ,当好多任务需要处理的时候,就是需要单片机处理 ,通过中断可以实现多个任务的资源共享。 所谓的中断 ,当 CPU处理事务时 ,如果外部或内部发生了紧急事件 ,问 CPU暂停处理工作 ,处理紧急情况 ,处理后 ,回到原来的中断的地方 ,继续执行原来的中断程序 ,这个过程称为中断。 时钟电路 当小于 Vcc1 Vcc2,DS1302 Vcc1 电源。 X1和 X2 振荡源 ,外部 kHz 水晶振动。 RST 重置 /板线选择 ,通过 RST 输入驱动程序集高水平开始数据传输。 RST 输入有两个功能 :首先 ,通过控制逻辑累加器 ,允许地址 /命令序列的移位寄存器。 第二 ,累加器提供终止单字节或多字节数据传输方法。 如果 RST 设置为低电平的 过程中传播 ,可以终止数据传输 ,I/O 针进入一个高阻抗状态。 电力运行 ,Vcc V,RST 必须保持低水平。 只有在SCLK 低电平时 ,累加器可以设置为高水平。 0 ds1302 有 12 个寄存器 ,包括七个寄存器与日历 ,时钟 ,BCD 存储数据代码形式。 并行串行 I/O 口 数据的并行输入 /输出由四个 8位并行 I / O 端口 (P0,P1,P2,P3)组成这些端口负责数据的传输。 一个全双工串行端口 ,实现与外部串行数据传输。 STC90C51 单片机引脚图 STC90C51 系列单片机 803 8051 和 8751 由 40针封装直接双排倾斜结构 ,下边是引脚配置 ,40针 ,两根 ,是权力和地面外石英振荡器时钟线两个 ,四组八个 ,共有 32 个 I / O端口 ,中断线和 P3 线多路复用。 9 图 32 STC90C51引脚 图 总线 所有这些组件都通过总线连接 ,形成一个完整的单片机。 系统地址信号 ,信号和控制信号传输的数据总线 ,总线结构减少了单片机 附件和别针 ,提高了集成和可靠性。 开发板模块 根据设计方案的分析 ,设计一个应用系统 ,你可以选择与低功耗、高性能可编程Flash,传统是完全兼容 8051 单片机指令代码 ,应用程序直接存储在芯片、内存 ,程序可 以简化电路 ,外部扩张 ,提高产品的可靠性。 本系统采用 STC90C516RD+系列增强型单片机。 STC90C516RD 实物如图 所示: 10 图 33 STC90C51开发板 单片机最小系统设计 STC90C51 与 89C51 内核相同 ,是 89C51 的升级版,具有比 89C51 更高的抗静电、抗干扰的能力;而且 具有低功耗、高速、可靠、程序存储空间大的优点。 C1 3 3 p fC2 3 3 p fY11 2 MP 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78R S T9P 3 .010P 3 .111P 3 .212P 3 .313P 3 .414P 3 .515P 3 .616P 3 .717X T A L 218X T A L 119G N D20P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P S E N29A L E30E A / V p p31P 0 .732P 0 .633P 0 .534P 0 .435P 0 .336P 0 .237P 0 .138P 0 .039V c c40U1123456789R P 1 1 0 KD0D1D2D3D4D5D6D8+5RSRWEP 1 .0P 1 .1P 1 .2P 3 .6P 3 .4R E S T 图 34 单片机最小系统 DS1302 时钟电路 DS1302 在美国达拉斯的公司推出了一个高性能、低功耗、实时时钟芯片与内存 ,它 11 可以 ,月 ,日 ,星期 ,时间 ,分和秒 ,当具有闰年补偿功能 ,工作电压 V 至 V。 与 CPU使用三线接口同步通信 ,并使用的方式打破了发送多个字节的时钟信号或 RAM 数据。 DS1302 内部有 31个 x 8 内存寄存器用于临时存储数据。 DS1302 具有闰年补 偿和其他功能。 它使用主电源和备用电源双电源。 其工作电压范围从 V 至 V, V,少于 300 na。 它包含 31 个字节的静态内存 ,可以提供用户访问。 为年、月、日、周日、时、分和秒时间 ,可以满足我们的设计的需求基础。 我们调整的内部寄存器、闹钟定时提供主机空间。 备用电源也实现电力系统时 ,时钟仍然可以维持。 V c c 21X12X23G N D4CE5IO6C L K7V c c 18U4D S 1302Y232. 768K+ 12B T 13VP 1. 0P 1. 1P 1. 2 图 35 DS1302 时钟电路 温度采集系统电路 温度传感器是一种新型的达拉斯半导体公司在美国先进的智能温度传感器 ,它可以直接读取温度测量 ,直接用 DS18B20 温度测量 ,根 据实际需求通过简单编程 9 ~ 12 的数字阅读方式。 1 8 B 2 0GND1DQ2VDD3U3U3+5P 3 . 4 图 36 温度采集电路 键盘控制系统设计 按钮需要四个 ,分别调整时间 ,时间 ,时间增加 ,确认这四个功能。 四个单片机的 I / O端口接收控制信号 ,一端连接到土地四个按钮 ,分别和另一端 ,。 12 这时当按键按下就输入低电平。 其电路图如下 : S2增大键S1功能键S3减小键S4确认键P2. 3P2. 2P2. 1P2. 0 图 37 键盘控制电路 报警电路设计 报警电路由四部分构成,主要是由蜂鸣器、三极管、电阻 、构成,它们这样一 个整体与单片机的接口是。 电路图如下: R3 1 0 KQ12 N 5 4 0 1U2B U Z Z E R+5P 3 .6 图 38 蜂鸣器 13 12864 液晶显示电路设计 LCD12864 液晶使用 SCM P2 数据输出端口 ,RS,R / W,E 分别由 10 k 的上拉电阻连接到单片机 ,。 VDD连接 5 v 电源 ,VSS 停飞。 v字形的液晶显示器对比度调 整方面 ,力量对比最弱 ,当接地电源当最高的对比 ,对比太高会产生“鬼” ,当使用的电位器调整 10 k).RS 登记的对比选择 ,高一级选择数据寄存器 ,低级别 0选择指令寄存器。 R / W读 /写信号 ,高水平 (1)读操作时 ,低水平 (0)写作。 E(EN)或结束可以结束 ,下降沿可以 B0 DB7双向数据总线 ,和最高 DB7也是一个繁忙的信号检测。 BLA,一系列的背光显示分别为积极的和消极的。 逻辑工作电压 (VDD): ~ 电源地 (GND): 0V 这个模块有两种工作方式一种是并行的,一种是串行的。 显示电路设计从节能的角度 ,增加背光控制电路 ,持续时间大约 10 年代 ,课程时间调整 ,程序用户使用的方便 ,将通过滑动变阻器 3针连接到电源 ,而不是在控制 19引脚 ,因此背光熄灭后 ,仍然可以看到显示的内容。 电路图如下: +51 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20J1 C O N 2 0R4 1 0 KQ2 2 N 5 4 0 1+5P 2 .4R51 0 KRW E D0 D1 D2 D3 D4 D5 D6 D7 RDRS+5 图 39 液晶显示电路 LCD12864 系列点阵型液晶性能参数 一、 OCM12864 液晶显示模块概述。 液晶显示模块 128 x 64 液晶模块 ,它可以显示各种字符和图形可以直接向CPU接口 ,和 8 位数据总线标准 ,6 根线和电源线。 采用 KS0107 控制 IC。 : 113 65 11mm(ocm128641),93 70 10mm(ocm128642)。 78 7010mm(ocm128643) 3 视 域 尺 寸 : (ocm128641) 38mm(ocm128642),64 44mm(ocm128643)。 二、最大工作范围。 14 逻辑工作电压 (Vcc): ~。 电源地 (GND): 0V。 LCD 驱动电压 (Vee): 0~ 10V。 输入电压: Vee~ Vdd。 工作温度 (Ta): 0~ 55℃ (常温 )。 保存温度 (Tstg): 10~ 65℃。 三、电气特性 (测试条件: Ta=25,Vdd=+/)。 输入高电平 (Vih):。 输入低电平 (Vil):。 输出高电平 (Voh):。 输出低电平 (Vol):。 工作电流:。 15 第四章 数字电子钟的软件设计 在电子钟的软件设计之前,首先把源程序下载到 STC90C51 开发板上 .测试是否能运行,确定开发版下载程序流畅。 系统的流程 进入主界面后 ,打开液晶背光电源 ,后读 DS18B20温度数据 ,然后阅读 DS1302的时间数据 ,根据符号位选择更新温度数据或时间数据。 初 始 化进 入 主 界 面开 液 晶 背 光 电 源测 温读 时 钟显 示 温 度。 显 示 温 度显 示 时 间YN开 始结 束 图 系统主流程图 测温的流程 下图是读取 DS18B20数据的程序流程图 ,首先将 DS18B20初始化 ,避免出现错误数据 16 的传送 ,跳过 rom 之后读取温度数据 ,每次读入 8个字节 , 当 8个字节读取完毕后 ,将 8 位数据一起移入温度暂存器。 开 始D S 1 8 B 2 0 初 始 化跳 过 R O M读 取 温 度读 取 8 字 节 完移 入 温 度 暂 存 器结 束YN 图 测温流程图 以下是测温的流程程序 void DS18B20Init(void) //DS18B20初始 化 { unsigned int i。 DS18B20=0。 i=103。 while(i0)i。 DS18B20=1。 i=4。 while(i0)i。 } bit TempReadBit(void) // 读一位 17 { unsigned int i。 bit dat。 DS18B20=0。 i++。 //小延时一下 DS18B20=1。 i++。 i++。 dat=DS18B20。 i=8。 while(i0)i。 return (dat)。 } unsigned char TempRead(void) //读一个字节 { unsigned char i,j,dat。 dat=0。 for(i=1。 i=8。 i++) { j=TempReadBit()。 dat=(j7)|(dat1)。 // } return(dat)。 //将一个字节数据返回 } void TempWriteByte(unsigned char dat) {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。