大作业纸质

发布 2020-02-25 06:34:28 阅读 1403

单片机原理及接**术。

电子日历时钟。

设计题目: 电子日历时钟

学号: 111404010414

姓名: 刘记平

信息与电气工程学院。

二零一四年五月。

一, 设计要求。

1)利用单片机实现,能实时显示年、月、日和时、分、秒,用数码管显示时,要求年、月、日与时、分、秒交替显示,间隔1秒;

2)可通过按键调节、设置当前时间。

3)包括硬件设计、元器件选型及依据和软件设计等;

4)给出每个模块的流程图;

5)要能在proteus**软件里面调试运行;

二,完成情况。

1) 在八位数码管上能够实现年、月、日和时、分、秒的交替显示,间隔1秒。

2) 年月日可以显示出不同月份的不同天数,可判断是否为闰年,以此来调节二月的天数。

3) 可通过按键调节当前年、月、日和时、分、秒的加1、减1。k1按键控制加1,k5按键控制减1,k2控制年和小时的加1减1,k3按键控制月份和分钟的加1减1,k4按键控制日和秒的加1减1(本实验按键为非自锁形式,时间加1或减1调节完成后需再次按按键k1或k5确认)。

三, 设计过程及内容。

本次设计包括电路设计,和软件设计。运用proteus和keil软件工具,在proteus进行电路**,在keil中进行软件调试。

3.1电路设计。

单片机控制信号以实现年月日时分秒在数码管上的显示,是单片机最常见的电路,它包括4部分:单片机最小系统,输入电路,输出电路和驱动电路。数码管也可以由单片机的i/o口直接驱动,因为数码管的显示采用动态扫描方式,用单片机直接驱动数码管,降低单片机工作效率,而且一只占用单片机的资源,用驱动芯片max7221驱动数码管,可以提高单片机的工作效率。

单片机最小系统由at89c51单片机,晶振电路和上电自动复位电路构成。输入部件是按键k,输出部件是数码管显示器,驱动电路采用驱动芯片max7221如图1-1所示,由于只使用内程序存储器,at89c51的ea端接电源正端。

3.1.2元器件的选择。

根据设计要求利用单片机在数码管中实现年月日和时分秒的循环显示,所选单片机为at98c51单片机,它是低电压高性能的8位单片机,其性能也都能满足显示的需要。驱动芯片为max7221,因为驱动芯片只能驱动共阴极数码管,所以数码显示器选八位共阴极数码管。

1)at89c51是一种低电压、高性能cmos 8位微处理器。具有以下功能:4k字节flash闪速存储器,节内部ram,32个i/o口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,at89c51降至0hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。

所以,用at89c51单片机其功能足以实现年、月、日和时、分、秒数码管的循环显示以及调节。

2)7seg-mpx8-cc是八位共阴极数码管显示器,它左下侧的abcdefg dp是led数码管显示器的i/o口,是段选信号,右下侧的***是它的位选信号,就是从左到右分别是第一位到第八位,段选信号与位选信号分别接到单片机的不同输出口,段码信号由驱动芯片max7221,片选信号由at89c51的p2输出口送入。由于年月日需要八位数码管显示,时分秒需要六位数码管显示,所以7seg-mpx8-cc可以满足。

3)驱动芯片max7221是maxim(美信)公司专为led显示驱动而设计生产的串行接口八位共阴极数码管显示驱动芯片。该芯片包含有七段译码器、位和段驱动器、多路扫描器、段驱动电流调节器、亮度脉宽调节器及多个特殊功能寄存器。

该芯片采用串行接口方式,可以很方便地和单片机相连,未经扩展最多可用于8位数码显示或64段码显示。经实际使用发现,该芯片具有占用单片机i/o口少(仅三线)、显示多样、可靠性高、简单实用、编程灵活方便的特点。

3)按键,由于软件设计的原因,进行**时,需要运用按键的非自锁形式。

元器件清单。

3.3软件设计

本次设计采用数码管的动态显示方式来实现年月日和时分秒的循环显示。动态显示是一种一位一位地轮流点亮各位数码管的显示方法,记载某一时段,只选中一位数码管的位选端,并送出相应的字形编码,在下一时段按顺序选通另外一位数码管,并送出相应的字形编码。以此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。

采用定时器0中断计时,数字钟的显示和计时在中断服务函数中完成,按键控制在主函数中完成。

1) 主程序模块。

主程序主要完成年月日和时分秒的初始化以及定时器t0中断的初始化,并在无限循环函数while(1)中调用按键控制函数。其程序流程图如图1-2

2) 计时模块。

用定时器计时可以实现时间的精确显示,中断计数变量为jishu2,定时器t0定时为5ms,当计数jishu2计满200或400时产生秒计时。其程序流程图如下1-3所示。

3) 显示控制模块。

中断计数变量jishu2控制时分秒和年月日的循环显示,当jishu2小于等于200时显示时分秒,当计数变量jishu2大于200小于等于400时显示年月日。其程序流程图如下1-4所示。

4) 按键控制模块。

由于按键会发生抖动,所以采取按键防抖动措施,本次设计采用软件防抖动。因为是年月日和时分秒的循环显示,按键控制包括对年月日和时分秒的加1和减1的控制,在对年月日进行控制时,需要在显示年月日的时候按下加1或减1按键以停止年月日和时分秒的循环显示,而只显示年月日,方便对年月日的调节,调节完成后需再次按下加1或减1按键确定调节完成。时分秒的调节同理。

其程序流程图如下1-5

5)按键防抖动措施,机械式按键再按下或释放是,由于机械单行作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为5~10ms。若有抖动,按键按下会被错误地认为是多次操作,为避免cpu多次处理按键的一次闭合,本次设计采用软件去抖动方式。

在检测到有按键按下时,执行一个10ms左右的演示程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键是处于闭合状态。软件去抖动的流程图如图1-6.

四, **结果图。

五, 心得体会。

在这次设计我遇到很多问题,也都通过自己的独立思考和查阅资料得到解决,从开始的一筹莫展到**结果的出来,我学到很多,得到很多。开始拿到题目后就去图书馆找资料,从如何用数码管显示数字到数字钟的显示和年月日的显示,再到年月日和时分秒的间隔一秒的循环显示,因为年月日和时分秒的显示都是定时器t0的中断服务函数中实现,可以用到计数变量jishu2来控制他们的循环显示。在编程调试过程中,发现时显示年月日的时间并没到一秒,还有年的显示是乱码,后来发现是在定义计数变量和年的数据类型为char,而年和计数变量的值都超过数据类型的范围,才会出现上面的问题。

当最后看到程序能够完全实现设计要求功能,感觉很有成就感,通过我对单片机的了解更加深刻,对课堂上所学的知识也有进一步的理解,自己独立解决问题的能力也有所提高。

六, 参考文献。

1】 主编杨打生宋伟单片机c51技术应用, 北京:北京理工大学出版社。

2】 主编郭志勇单片机应用技术项目教程北京:中国水利水电出版社。

3】 主编何立民单片机中级教程北京:北京航空航天大学出版社。

纸质作业封面

2016 2017学年第1学期课程离线作业。课程名称 道路工程。班级 全称 土木工程 工程造价02015 2班 专本。学号。姓名。西南交通大学网络教育学院直属学习中心。2016 2017学年第1学期课程离线作业。课程名称 房屋工程。班级 全称 土木工程 工程造价02015 2班 专本。学号。姓名。西...

纸质文献检索作业

注意事项 1.请同学们携带校园卡,刷卡进入阅览室!2.查找过程中,保持安静!3.记录查找结果!检索题目 1.查找索书号为tg174 24,并记录该图书的书名 作者 出版社。2.索书号为o 65 gb t618 2006的文献,属于什么文献类型?同时记录该文献的题名。3.在期刊合订本书架上翻阅索书号为...

结构力学 纸质作业答案

结构力学 纸质作业答案。第一章重点要求掌握 第一章介绍结构力学基本概念 结构力学研究对象 结构力学的任务 解题方法 结构计算简图及其简化要点 结构与基础间连接的简化 计算简图 杆件结构的分类 载荷的分类。要求掌握明确结构力学求解方法 会画计算简图,明确铰结点 刚结点 滚轴支座 铰支座 定向支座 固定...