当前位置:文档之家› 单片机模拟带计时功能数字时钟

单片机模拟带计时功能数字时钟

苏州市职业大学实习(实训)报告名称单片机控制项目实训——模拟带计时功能的数字时钟2013年1 月7 日至2013 年1 月11 日共1 周院系计算机工程系班级姓名系主任教研室主任指导教师目录目录 (1)一、课程设计的目的与要求 (2)1.课程设计的目的 (2)2.课程设计的要求 (2)二、题目说明 (2)开发背景 (2)开发工具介绍 (3)小组成员分工 (3)三、硬件方案 (3)主控MCU (3)键盘 (4)LCD液晶 (4)定时器 (6)四、软件设计 (7)模块划分 (7)模块结构图 (7)键盘中断模块 (7)五、运行结果分析与系统改进 (9)六、遇到的问题和解决方法 (9)七、课程设计总结 (10)八、参考文献 (10)一、课程设计的目的与要求1.课程设计的目的《单片机原理与应用》是一门应用性很强的专业课,其理论与实践技能是从事嵌入式专业技术工作的人员所不可少的。

本次课程设计选择AW60实验板进行模拟应用设计与开发,要求学生掌握使用 C 语言进行单片机程序设计和调试的方法,提高综合运用所学的理论知识独立分析和解决问题的能力。

2.课程设计的要求在本课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。

认真编写课程设计报告。

二、题目说明我们选择的题目是:模拟带计时功能的数字时钟题目描述:用AW60实验板模拟带计时功能的数字时钟,可设置时钟初始值,可调整时钟时间,可实现秒表计时功能。

通过AW60的内部的定时器模块实现计时功能。

1)输入:自定义键盘,模拟时钟的按键。

2)输出:用液晶显示器显示时钟时间。

3)时间:用定时器模块实现计时功能。

(可加整点报时,或闹钟功能)开发背景近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的要求。

多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

数字钟已成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便。

电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。

随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。

在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。

开发工具介绍我们所使用的开发工具有:CodeWarrior编程软件、写入器和MC9S08AW60实验板。

小组成员分工本小组共由施燕、盛钰明和俞季笑三人组成,课程设计课题共涉及键盘中断模块、LCD液晶显示器模块、定时器中断模块。

其中,施燕负责键盘中断模块,盛钰明负责定时器中断模块,俞季笑负责LCD液晶显示器模块。

三、硬件方案主控MCUHCS08系列MCU是Freescale 8位微处理器的主流产品,应用非常广泛。

MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装。

MC9S08AW60微控制器的主要特点概述如下:①2K片内RAM;60K片内Flash程序存储器,具有在线编程能力和保密功能。

②时钟发生器模块,具有PLL电路,可产生各种工作频率;内部总线频率最高可达20MHz。

③增强的HCS08 CPU结构;最高支持26个中断源。

④54根通用I/O脚,部分I/O口有可选择的内部上拉电阻,并且可以选择引脚的驱动能力。

⑤两个增强型串行通讯口SCI;一个串行外围接口SPI;一个集成电路内部通信接口IIC;两个16位双通道定时器接口模块(TIM1和TIM2),每个通道可选择为输入捕捉、输出比较和PWM;一个模拟信号比较器ACMP;16路10位AD转换模块;8位键盘唤醒口;一个实时时钟计数器模块;一个计算机工作正常(COP)复位模块。

⑥优化用于控制应用;优化支持C语言。

键盘键盘是常用的输入设备,评估板以9个小按键模拟一个3*3 键盘,以掌握矩阵键盘的工作原理,如图3-1所示。

AW60 内部集成了键盘输入中断模块,但是数量有限,为了给用户提供更大的灵活性,评估版中使用插孔的方式,用户可以将任意I/O口接到插孔上来,这样即提高了用户编程的灵活性,又提高了I/O口的使用灵活性。

LCD液晶LCD 即液晶,是常用的嵌入式输出设备。

评估板上配置两种LCD,一种使用1602点阵字符型LCD,LCD管脚定义如表1所示,实物及原理图如图3-2所示。

图3-1 键盘原理图3表3-1 LCD1602管脚定义管脚号符号电平方向引脚含义说明1 Vss 电源地2 Vdd 电源(+5V)3 V0 液晶驱动电源4 RS H/L 输入寄存器选择;1-数据寄存器 0-数据寄存器5 R/W H/L 输入读写操作选择:1-读操作 0-写操作6 EH/LH→L输入使能信号:R/W=0,E下降沿有效R/W=1,E=1有效7~14 DB0~DB7 三态8位数据总线15 NC 空脚,未定义16 GND 地此型号液晶采用并口通信方式,评估板中使用PTB口作为数据口,另外控制引脚采用PTA0~PTA3四个引脚控制,如图9右侧所示。

图3-2 LCD实物及原理图4LCD部分的第二种型号是128×64型LCD,具体见其实用手册,原理图如图3-3所示:图3-3 LCD2此LCD采用串行通信方式,大大减少了I/O口资源的使用,仅仅使用PTA0~PTA3四个I/0即可完成通信,其中PTA3是用来控制背光的,如果保持LCD背光常亮,则仅需要3个I/O口接口控制LCD。

定时器定时器-一个2通道和一个6通道,16位定时器/脉宽调制法器。

(TPM)模块:每个通道上都具有可选的input;采集,;output比较及边缘对齐PWM功能针对所有通道的缓存,居中PWM(CPWM),可对各定时器模块进行定位。

四、软件设计模块划分课程设计课题共涉及键盘中断模块、LCD液晶显示器模块和定时器中断模块。

模块结构图本实验共使用了键盘中断模块、LCD液晶显示器模块、定时器中断模块、主控模块。

如图4-1所示。

图4-1 模块结构图键盘中断模块在函数中,通过KB_Init(); EnableKBInt();开放键盘中断;键盘模块使用“PTG0~PTG2、PTC0~PTC2”6个引脚,通过定义键值码表来表示“0~8”字符,其中0和3用来表示时的加减,1和4表示分的加减,2和5表示秒的加减;在函数中来调用LCD模块。

键盘中断模块流程图如图4-2所示:键盘中断模块在这次课程设计中占据枢纽地位。

程序通过键盘中断模块调用LCD液晶显示器模块,完成电子钟时间的显示。

6图4-2 键盘中断流程图7五、运行结果分析与系统改进1、运行程序后,时间开始在LCD液晶上显示2、当我们在3*3的键盘上按下0时,时间的时会加1;按下3时,时间的时会减13、当我们按下1时,可看到时间的分会加1;按下4时,分就减14、当我们按键按下2时,我们会看到时间的秒加1;按下5时,秒就减1(因为秒一直都在不停的动,所以当我们做加减的时候不怎么明显)5、当时间显示到23:59:59时,下一秒就会变成00:00:00重新开始六、遇到的问题和解决方法1、无法在串口工具窗口中看到运行情况:在我们刚开始运行程序的时候,打开串口调试工具窗口却看不到运行的结果,但是LCD显示器上却能显示。

于是我们就知道不是时间显示的问题,而是串口程序。

但我们反复查看串口程序没有任何错误。

后来,在查看硬件的时候发现原来是串口线没有连接。

我们连接好串口线后,再打开窗口可看到结果。

2、如何利用按键控制时分秒的加减:在这个问题上,我们停留了很久。

后来我们通过用switch(data1)语句来判断,data1是取得的键值,通过对键值的判断来执行时间时分秒的加减。

3、实现对时分秒取值的范围:在运行程序后,在我们一直对时分秒加的情况下,发现时分秒数值是可以一直往上加的。

发现这个问题后,我们就通过用if语句来设定对时分秒的取值范围。

4、如何实现整点报时功能:在想这个问题的时候,我们的程序都已做完才发现少做了这个功能。

我们设定当分和秒都为0时,我们就令蜂鸣器响,然后再用些延时,然后蜂鸣器不响。

我们随便设定一个端口给它设为高电平使得蜂鸣器响,设为低电平则不响。

百度文库- 好好学习,天天向上七、课程设计总结这次的课程设计结合了以前所学的知识,巩固了这学期对单片机的学习。

这次的课程设计,我们做的是时钟。

在这个程序里,有很多都是我们以前在课堂上做过的,所以相对而言是简单些,但我们在真正做的时候还是花了不少的功夫。

在确定题目的时候,我们就对这个程序有了一定的思路,但做的过程中还是遇到了不少的问题。

但是在大家一起讨论和寻问老师的情况下,最后还是完成了。

但对于题目要求来说,我们做的程序还有不足的地方。

总的来说,这次的实验设计是一次综合练习。

让我对AW60有了更加全面的了解。

不但回顾了以前所学的内容,而且使我了解了现在还拥有的不足,弥补了一些知识漏洞。

八、参考文献[1]徐丽华.郑洪静.嵌入式应用于实践基础(讲义).苏州.2010年12月9-10。

相关主题