版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机械工程系课程设计说明书课 程 名 称:微机接口技术题 目 名 称:带闹钟功能及测温的时钟控制器设计年级专业及班级:2008级机械设计制造及其自动化 2 班姓 名:郑泽龙学 号:0808012217指 导 教 师:刘建春评 定 成 绩:教 师 评 语: 指导老师签名: 2011 年 7 月 1 日多功能数字时钟系统设计目录1.前言:22.整体方案确定:23.硬件系统设计:43.1. 按键扫描模块设计:53.2. lcd显示模块63.3. 时钟ds1302模块73.4. 存储器24c02模块83.5. 蜂鸣器模块83.6. 测温模块94.软件系统设计:94.1.按键控制函数key_control
2、(void)流程图:104.2. 按键扫描函数char keyscan(void)流程图:104.3.闹钟函数alarm(void)114.4. 24c02数据存数函数头文件声明程序如下:125.试验仿真:155.1硬件调试155.1.1排除元件失效155.1.2.排除电源故障155.1.3.联机仿真调式165.2软件仿真165.2.1系统误差分析166结论167.成果展示178.参考资料191.前言:带闹钟功能及测温的时钟控制器是一种可实现年、月、日时、分、秒计时,温度扫描,数据存储,按键调节时间及闹钟功能的装置,并通过单片机处理后送给显示芯片(9325tp)显示的装置,与机械式时钟相比具有
3、更高的准确性和直观性,且具有更长的使用寿命。本系统可以分为六大模块:按键扫描模块、lcd显示模块、时钟ds1302模块、存储器24c02模块、蜂鸣器模块、测温模块。2.整体方案确定:程序开始时先对系统初始化,初始化屏幕显示并设置好各种中断。首先从24c02芯片中读取上次关机前闹钟的存储数据,扫描按键程序,如有按键按下则进入时间修改函数并将修改后的时间信息写入ds1302的时间芯片中并送显示,同时向24c02中写入更改后的闹钟数据,若无按键按下则进入更新时间函数,从时钟芯片中读取时间信息并送显示,并判断从时间芯片上读取的小时,分的数据和24c02中存储的数据是否一致,若一致则进入闹铃程序,若不一
4、致则将时钟芯片的信息送显示。模块联系图:主函数流程图3.硬件系统设计:proteus仿真系统硬件连接图如下图所示:3.1. 按键扫描模块设计:proteus仿真硬件连接图如下图所示:说明:本系统的采用独立按键来调节时间,按键按下时拉低p口得电平,再通过按键扫描函数对p3口的值进行处理,并控制响应的变量改变,从而达到调整时间及闹钟的目的。其中具体的按键调节方法如下:k1和k2分别控制时钟及闹钟数据的加减;k3和k4分别控制时间的的移位及闹钟的移位,其中若k4键有按下则先调整时间;k5键是复位键,对k3及k4进行复位;k6键用于控制闹钟的开关,闹钟只有在打开状态下才能响。k3及k4按下次数对应的调
5、整值:k3按下次数修改项k4按下次数修改项1年1闹钟一时2月2闹钟一分3日3闹钟二时4时4闹钟二分5分6周3.2. lcd显示模块proteus仿真硬件连接图如下图所示:3.3. 时钟ds1302模块proteus仿真硬件连接图如下图所示:3.4. 存储器24c02模块proteus仿真硬件连接图如下图所示:3.5. 蜂鸣器模块proteus仿真硬件连接图如下图所示:电路原理图:3.6. 测温模块proteus仿真硬件连接图如下图所示:4.软件系统设计:软件设计最主要的部分是按键控制函数key_control(void),按键扫描函数char keyscan(void),闹钟函数alarm(v
6、oid)及24c02数据存数函数。具体的函数设计流程图如下:4.1.按键控制函数key_control(void)流程图:4.2. 按键扫描函数char keyscan(void)流程图:4.3.闹钟函数alarm(void)4.4. 24c02数据存数函数头文件声明程序如下:#ifndef _24c02_h_#define _24c02_h_#include /头文件的包含#include #define _nop() _nop_() /定义空指令 /sbit sda=p15; /模拟i2c数据传送位?sbit scl=p11; /模拟i2c时钟控制位 ? extern bit ack; /
7、应答标志位 ?/*- 启动总线-*/void start_i2c();/*- 结束总线-*/void stop_i2c();/*- 字节数据传送函数 函数原型: void sendbyte(unsigned char c);功能: 将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对 此状态位进行操作.(不应答或非应答都使ack=0 假) 发送数据正常,ack=1; ack=0表示被控器无应答或损坏。-*/void sendbyte(unsigned char c);/*- 字节数据传送函数 函数原型: unsigned char rcvbyte();功能: 用来接收从器件传来的数
8、据,并判断总线错误(不发应答信号), 发完后请用应答函数。 -*/unsigned char rcvbyte();/*- 应答子函数原型: void ack_i2c(void); -*/void ack_i2c(void);/*- 非应答子函数原型: void noack_i2c(void); -*/void noack_i2c(void);/*- 向有子地址器件发送多字节数据函数 函数原型: bit isendstr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 功能: 从启动总线到发送地址,子地址,数据,结
9、束总线的全过程,从器件 地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。 如果返回1表示操作成功,否则操作有误。注意: 使用前必须已结束总线。-*/bit isendstr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);/*- 向有子地址器件读取多字节数据函数 函数原型: bit isendstr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 功能: 从启动总线到发送地址,子地址,读数据,结束总
10、线的全过程,从器件 地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。 如果返回1表示操作成功,否则操作有误。注意: 使用前必须已结束总线。-*/bit ircvstr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);#endif5.试验仿真:5.1硬件调试5.1.1排除元件失效造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。5.1.2.排除电
11、源故障在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查vcc与gnd之间电位,若在5v4.8v之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。5.1.3.联机仿真调式联机仿真借助仿开发板等工具,进行程序烧入调试。5.2软件仿真5.2.1系统误差分析本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成
12、走时误差。6结论一周多的设计大体上实现了系统的时间实时显示、可调整时间、温度扫描显示、到点闹铃提醒、用户闹钟数据存储的功能,本系统最大的创新点就是能实现用户数据的存储及闹钟随按随停。本系统的设计最大的难度在于按键功能及闹钟随按随停及调整时间的跟踪光标的编程,通过对这些程序的编写及调式,自己从对单片机朦朦胧胧的认识到现在对其设计流程及软硬件关联有了初步的了解,其实单片机系统的设计就跟我们机械设计设计一样机构一样,并不是每样东西都要我们自己去设计,很多标准件都已有现成的标准及模板,我们要做的是将如何将这些现成的模板及标准修改整合成为我们所需要的机构,单片机系统设计也一样。我们不一定也没必要要看懂所有的程序,只要会用它就行。就如后面在设计闹钟数据存储的程序时,会调用现有的函数使得编程变得很简单,刚开始的几天编键盘及闹钟程序时,虽说困难重重,却为我接下去的程序调式及修改奠定了扎实的基础。这个系统虽然基本功能已经完成,但还是有一些不足之处,比如光标显示的问题,闹钟还不能根据用户需要在固定某一天或某几天开启,只能实现普通的开关功能,性能还不够优越,当然这些功能也可以加以改进,只是时间有限。同时也是因为第一次这样的模块化的系统,所以在一些变量及函数结构的处理上还有很多不合理的地方。如果系统再复杂一点的话,一旦出现错误就很难找了。总体来说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科手术教学查房
- 修理厂老板管理培训
- 冬季幼儿护理
- 失智症精神行为症状的应对失智老年人照护
- 四年级数学三位数乘两位数同步测试训练题大全附答案
- 言语治疗技术语言中枢
- 制药厂安全教育培训内容
- 第16讲有机化学基础-高考化学二轮总复习习题
- y=14x4+3x+arcsin5x的导数计算详细过程
- 《听觉与前庭器官》课件
- GB/T 25052-2024连续热浸镀层钢板和钢带尺寸、外形、重量及允许偏差
- 医院病历书写基本规范培训课件
- 国开2024年秋《机电控制工程基础》形考任务1答案
- 2024年典型事故案例警示教育手册15例
- 投标流程及管理制度
- 章质谱法剖析PPT课件
- 滑触线安装施工方案
- 绿化灌溉用水制度
- 一元三次、一元四次方程的基本解法毕业论文
- 管道开挖回填施工方案范本
- 《吊耳强度计算书》
评论
0/150
提交评论