单片机C语言-万年历电子钟设计报告含电路图和源程序(2)
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 =49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1 =49+[12.25]+5-40+[28.6]
=49+12+5-40+28 =54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。
三.系统的硬件设计与实现
3.1 电路设计框图:
单片机C语言-万年历电子钟设计报告含电路图和源程序
3.2 系统硬件概述:
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;显示部份LCD1602实现,能够同时显示16x02即32个字符;闹钟部分由蜂鸣器构成,蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
3.3 主要单元电路的设计
3.3.1单片机主控制模块的设计
AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。 单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图-1 所示
单片机C语言-万年历电子钟设计报告含电路图和源程序
图-1 主控制系统
3.3.2显示模块的设计
LCD1602液晶显示屏 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行), 有16个引脚,通过D0~D7的8位数据端传输数据和指令,引脚图如图6-5。
图6-5 LCD1602引脚示意图
LCD1602液晶显示屏引脚功能如表6-5所示:
表6-5 LCD1602引脚功能
单片机C语言-万年历电子钟设计报告含电路图和源程序
1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:
表10-14:控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
单片机C语言-万年历电子钟设计报告含电路图和源程序
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。
将lcd的引脚与单片机连接,通过单片机实现对显示的输出,电路图实现如下:
3.3.3闹钟模块的设计
闹钟模块采用蜂鸣器实现,蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。 通过单片机的p3.7引脚输出的电平变化来控制蜂鸣器的导通与否,设计如下:
3.3.4电源稳压模块 方案一:LM7805稳压
单片机C语言-万年历电子钟设计报告含电路图和源程序
方案二:USB接口+5V供电
四、系统的软件设计
4.1程序流程框图
单片机C语言-万年历电子钟设计报告含电路图和源程序
4.2闹钟模块流程图:
4.3按键调整模块流程图:
单片机C语言-万年历电子钟设计报告含电路图和源程序
单片机C语言-万年历电子钟设计报告含电路图和源程序
五、测试方案与测试结果分析
5.1 测试仪器
5.2软件测试平台 Keil C51
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。Keil C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
5.3 模块测试
5.3.1显示模块测试
出现的问题:LCD1602液晶显示屏背景灯亮但不显示内容。
解决问题:初步假设电源已经供电但单片机没有工作。用万用表测试LCD使能端6引脚和写命令选择端4引脚,均有电位变化,推出单片机已经工作。再次假设,LCD1602的显示屏对比度没调好。让电路工作,慢慢旋转变阻器,但仍无内容显示。三次假设,LCD1602某些引脚短路,经检测各引脚电平,发现6脚线路某地方与电源VCC相连,导致数据命令无法写入LCD1602显示器,导致内容无法显示,改正后,显示正常,问题解决。VCC1602MOXx01) //");
单片机C语言-万年历电子钟设计报告含电路图和源程序
5.4测试结果分析与结论
5.4.1测试结果分析
在测试过程中遇到lcd1602显示不出来,首先使用万用表对电路进行测试,检查工作电压是否正常并查找出电路没正常工作的部分,再次检查各引脚接线情况。
5.4.2 测试结论
经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力.同时在软件的编程方面得到更到的提高,对编程能力得到加强.同时对所学的知识得到很大的提高与巩固.
六、作品总结
在整个设计过程中,发挥团队精神,分工合作,我吴余壮健负责电路设计,软件编程,设计报告的编写,李培文负责网上查阅相关有用资料,王文龙负责电路的焊接,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了作品。达到了预期的目的,在最初的设计中,发挥“三个臭皮匠,顶个诸葛亮”的作用。相互学习、相互讨论、研究。完了最初的设想。在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我们的耐心,做什么事都在有耐心。此次比赛中学到了很多很多东西,这是最重要的。总之,参加电子竞赛我们的能力得到了全方位的提高。
参考文献
新概念51单片机C语言教程 郭天祥编 电子工业出版社 2009
单片机C语言应用一百例 王东锋 王会良 董冠强编电子工业出版社 2009 杨子文 编 单 …… 此处隐藏:3247字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




