




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计专用纸 No0 沈阳理工大学 目录目录 1 1 题目设计的要求题目设计的要求 1 1 2 2 系统硬件设计系统硬件设计 1 1 2 1 设计原理 1 2 2 器件的功能与作用 1 2 2 1 MCS51 单片机 AT89C51 1 2 2 2 串行时钟日历片 DS1302 2 2 2 3 液晶显示 LCD1602 3 3 3 系统软件设计系统软件设计 4 4 3 1 程序流程 4 3 2 程序代码 5 4 4 系统仿真调试系统仿真调试 1212 4 1 仿真原理图设计 12 4 2 仿真运行过程 12 4 3 仿真运行结果 13 5 5 总结总结 1313 6 6 参考文献参考文献 1313 沈阳理工大学课程设计专用纸 No1 沈阳理工大学 1 1题目设计的要求题目设计的要求 通过串行日历时钟芯片 DS1302 生成当前日期和是时间 通过 IO 口传输到 AT89c52 芯片中 然 后再将 AT89c52 接收到的数据输出到 LCD 上 要求 LCD 上显示的日期和时间与当前系统时间保持一 致 2 系统硬件设计系统硬件设计 2 1 设计原理设计原理 图图 3 13 1 电路原理图电路原理图 2 2 器件的功能与作用器件的功能与作用 2 2 1 MCS51 单片机单片机 AT89C51 XXAT89C51 是一种带 4K 字节 FLASH 存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 8 位微处理器 俗称单片机 AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机 单片机的可擦除只读存储器可以反复擦除 1000 沈阳理工大学课程设计专用纸 No2 沈阳理工大学 次 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与工业标准的 MCS 51 指令集和输 出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中 ATMEL 的 AT89C51 是 一种高效微控制器 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 2 2 2 串行时钟日历片串行时钟日历片 DS1302 系统的组成与工作原理 系统由单片机 AT89C52 串行日历时钟片 DS1302 液晶显示模组 LCD1602 DS1302 的 CLOCK 与 AT89C52 的 P1 6 相连 RST 与 P1 5 相连 IO 与 P1 7 相连 LCD1602 的 D0 D7 与 AT89C51 的 P0 0 P 7 相连 并接上拉电阻 RS 与 P2 0 相连 RW 与 P2 1 相连 E 与 P2 2 相连 DS1302 是 DALLAS 公司拖出的涓流充电时钟芯片 内含有一个实时时钟 日历和 31 个季节静态 RAM 通过简单地串行接口与单片机进行通信 实时时钟 日历电路提供秒 分 时 日 日期 月 年的信息 每月的天数和闰年的天数可自动调整 时钟操作可通过 AM PM 指示决定采用 24 小时或 12 小时格式 DS1302 与单片机之间能简单地采用同步串行方式进行通信 仅需用到 RES 复位 I O 数据线 SCLK 串行时钟 3 个口线 对时钟 RAM 的读 写 可以改用单字节方式或多达 31 个字节的 字符组方式 DS1302 工作时功耗很低 保持数据和时钟信息是功率小于 1mW DS1302 广泛应用于 电话传真 便携式仪器及电池供电的仪器仪表等产品领域中 RT 1602 字符型液晶模块是以两行 16 个子的 5 7 点阵吐信来显示字符的液晶显示器 DS1302 有 8 个引脚 X1 X2 32 768kHz 晶振介入引脚 GND 地 RST 复位引脚 低电平有效 I O 数据输入 输出引脚 具有三态功能 SCLK 串行时钟输入引脚 Vcc1 工作电源引脚 Vcc2 备用电源引脚 DS1302 有一个控制寄存器 12 个日历 时钟寄存器和 31 个 RAM 控制寄存器 控制寄存器用于存放 DS1302 的控制命令字 DS1302 的 RST 引脚回到高电平后写入的第一个字 就为控制命令 它用于对 DS1302 读写过程进行控制 它的格式如下 沈阳理工大学课程设计专用纸 No3 沈阳理工大学 表表 2 12 1 控制寄存器的格式控制寄存器的格式 D7 D6 D5 D4 D3 D2 D1 D0 1RAM CKA4A3A2A1A0RD W 各项功能说明如下 D7 固定为 1 D6 RAM CK 位 片内 RAM 或日历 时钟寄存器选择位 当 RAM CK 1 时 对片内 RAM 进行 读写 当 RAM CK 0 时 对日历 时钟寄存器进行读写 D5 D1 地址位 用于选择进行读写的日历 时钟寄存器或片内 RAM 对日历 时钟寄存器或 片内 RAM 的选择 D0 读写位 当 RD W 1 时 对日历 时钟寄存器或片内 RAM 进行读操作 当 RD W 0 时 对日历 时钟寄存器或片内 RAM 进行写操作 日历 时钟寄存器 DS1302 共有 12 个寄存器 其中有 7 个与日历 时钟相关 存放的数据为 BCD 码形式 日历 时钟寄存器的格式 说明 数据都以 BCD 码形式表示 小时寄存器的 D7 位为 12 小时制 24 小时制的选择位 当为 1 时选择 12 小时制 当为 0 时选 24 小时制 当 12 小时制时 D5 位为 1 是上午 D5 位为 0 是下午 D4 位小时的十位 当 24 小时 制时 D5 D4 位为小时的十位 秒寄存器中的 CH 位为时钟暂停位 当为 1 时 时钟暂停 为 0 时 时钟开始启动 写保护寄存器中的 WP 为写保护位 WP 1 时 写保护 当 WP 0 时 未写保护 当对日历 时钟寄存器或片内 RAM 进行写时 WP 应清零 当对日历 时钟寄存器或片内 RAM 进行读时 WP 一般置 1 慢充电寄存器的 TCS 位为控制慢充电的选择 当它为 1010 时才能是慢充电工作 DS 为二极管 选择位 DS 为 01 选择一个二极管 DS 为 10 选择两个二极管 DS 为 11 或 00 充电器被禁止 与 TCS 无关 RS 用于选择连接在 Vcc2 与 Vcc1 之间的电阻 RS 为 00 充电器被禁止 与 TCS 无关 2 2 3 液晶显示液晶显示 LCD1602 RT 1602 采用表中的 16 脚接口 第一脚 Vss 电源地 第二脚 VDD 5V 电源 第三脚 VL 液晶显示偏压信号 第四脚 RS 数据 命令选择端 高电平时选择数据寄存器 低电平时选择指令寄存器 第五脚 R W 读 写选择端 第六脚 E 使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第七 14 脚 D0 D7 为 8 位双向数据线 沈阳理工大学课程设计专用纸 No4 沈阳理工大学 第 15 脚 BLA 背光源正极 第 16 脚 BLK 背光源负极 3 系统软件设计系统软件设计 3 1 程序流程程序流程 LCD初始化函数 LcdInitiate 写数据的显示地址函数 WriteAddress 0 x00 显示Date 和Time While 1 调用ReadSet1302 unsigned char Cmd 返回 开始 Read1302 调用DisPLay 分别显示 年 月 日 时 分 秒 WriteInstruction x 0 x80 沈阳理工大学课程设计专用纸 No5 沈阳理工大学 图图 4 14 1 程序流程图程序流程图 3 2 程序代码程序代码 include 包含单片机寄存器的头文件 include 包含 nop 函数定义的头文件 以下是 DS1302 芯片的操作程序 unsigned char code digit 10 0123456789 定义字符数组显示数字 sbit DATA P1 7 位定义 1302 芯片的接口 数据输出端定义在 P1 7 引脚 sbit RST P1 5 位定义 1302 芯片的接口 复位端口定义在 P1 5 引脚 sbit SCLK P1 6 位定义 1302 芯片的接口 时钟输出端口定义在 P1 6 引脚 函数功能 延时若干微秒 入口参数 n void delaynus unsigned char n unsigned char i for i 0 i n i 函数功能 向 1302 写一个字节数据 入口参数 x void Write1302 unsigned char dat unsigned char i SCLK 0 拉低 SCLK 为脉冲上升沿写入数据做好准备 delaynus 2 稍微等待 使硬件做好准备 for i 0 i 1 将 dat 的各数据位右移 1 位 准备写入下一个数据位 沈阳理工大学课程设计专用纸 No6 沈阳理工大学 函数功能 根据命令字 向 1302 写一个字节数据 入口参数 Cmd 储存命令字 dat 储存待写的数据 void WriteSet1302 unsigned char Cmd unsigned char dat RST 0 禁止数据传递 SCLK 0 确保写数居前 SCLK 被拉低 RST 1 启动数据传输 delaynus 2 稍微等待 使硬件做好准备 Write1302 Cmd 写入命令字 Write1302 dat 写数据 SCLK 1 将时钟电平置于已知状态 RST 0 禁止数据传递 函数功能 从 1302 读一个字节数据 入口参数 x unsigned char Read1302 void unsigned char i dat delaynus 2 稍微等待 使硬件做好准备 for i 0 i 1 将 dat 的各数据位右移 1 位 因为先读出的是字节的最低位 if DATA 1 如果读出的数据是 1 dat 0 x80 将 1 取出 写在 dat 的最高位 SCLK 1 将 SCLK 置于高电平 为下降沿读出 delaynus 2 稍微等待 SCLK 0 拉低 SCLK 形成脉冲下降沿 delaynus 2 稍微等待 return dat 将读出的数据返回 函数功能 根据命令字 从 1302 读取一个字节数据 入口参数 Cmd unsigned char ReadSet1302 unsigned char Cmd unsigned char dat RST 0 拉低 RST 沈阳理工大学课程设计专用纸 No7 沈阳理工大学 SCLK 0 确保写数居前 SCLK 被拉低 RST 1 启动数据传输 Write1302 Cmd 写入命令字 dat Read1302 读出数据 SCLK 1 将时钟电平置于已知状态 RST 0 禁止数据传递 return dat 将读出的数据返回 以下是对液晶模块的操作程序 sbit RS P2 0 寄存器选择位 将 RS 位定义为 P2 0 引脚 sbit RW P2 1 读写选择位 将 RW 位定义为 P2 1 引脚 sbit E P2 2 使能信号位 将 E 位定义为 P2 2 引脚 sbit BF P0 7 忙碌标志位 将 BF 位定义为 P0 7 引脚 函数功能 延时 1ms 3j 2 i 3 33 2 10 1010 微秒 可以认为是 1 毫秒 void delay1ms unsigned char i j for i 0 i 10 i for j 0 j 33 j 函数功能 延时若干毫秒 入口参数 n void delaynms unsigned char n unsigned char i for i 0 i 4 10 ReadValue 将读出数据转化 Display second 0 x4c 显示秒 ReadValue ReadSet1302 0 x83 从分寄存器读 minute ReadValue 将读出数据转化 Display minute 0 x49 显示分 ReadValue ReadSet1302 0 x85 从小时寄存器读 hour ReadValue 将读出数据转化 Display hour 0 x46 显示小时 ReadValue ReadSet1302 0 x87 从分寄存器读 day ReadValue 将读出数据转化 Display day 0 x0c 显示日 ReadValue ReadSet1302 0 x89 从分寄存器读 month ReadValue 将读出数据转化 Display month 0 x09 显示月 ReadValue ReadSet1302 0 x8d 从分寄存器读 year ReadValue 将读出数据转化 Display year 0 x06 显示年 沈阳理工大学课程设计专用纸 No12 沈阳理工大学 4 系统仿真调试系统仿真调试 4 1 仿真原理图设计仿真原理图设计 图图 4 14 1 仿真原理图仿真原理图 4 2 仿真运行过程仿真运行过程 在 Keil 下 将所编制的 C 语言程序编译后 生成 9 HEX 文件 再在 PROTEUS 环境下 将 HEX 文件加到编制的仿真原理图中进行仿真调试 从而生成正确的日期和时间 该日期和时间与当前系 统的日期和时间相符 沈阳理工大学课程设计专用纸 No13 沈阳理工大学 4 3 仿真运行结果仿真运行结果 图图 4 2 仿真运行结果图仿真运行结果图 5 总结总结 回顾起此次单片机课程设计 至今我仍感慨颇多 的确 从选题到定稿 从理论到实践 在几 天里 可以说得是苦多于甜 但是可以学到很多很多的的东西 同时不仅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 恋爱考试题及答案
- 坏账考试题及答案
- 电工培训考核试题及答案
- 2025年二手货车抵押融资合同
- 2025年通信线路接地系统施工合同样本
- 2025年度制造业实习生劳动合同范本
- 2025大师傅餐饮企业品牌推广合同
- 2025版桥梁工程劳务分包合同(含工期管理)
- 2025年度房屋抵押贷款利率调整合同范本
- 基于2025年燃气管道更新的社会稳定风险评估与风险管理策略分析报告
- (2025年标准)动火安全协议书
- 2026届广州市高三年级阶段训练(8月市调研摸底) 数学试卷(含答案解析)
- 动物防疫检疫试题(附答案)
- 沙石码头经营方案(3篇)
- 2025年粉笔辅警考试题库
- 2025个人房屋租赁合同范本下载
- 水声传感器技术研究与应用
- 能源环保管理办法
- caac理论考试题库及答案
- 残疾人家庭无障碍改造投标方案(技术标)
- 说明书hid500系列变频调速器使用说明书s1.1(1)
评论
0/150
提交评论