ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:3.62MB ,
资源ID:11522030      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11522030.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字时钟课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字时钟课程设计.docx

1、数字时钟课程设计 课 程 设 计 报 告课程设计名称: 数 字 时 钟 系 别: 三 系 姓 名: 班 级: _学 号:_ _ _ _成 绩: _指 导 教 师 : 开 课 时 间 : 2013-2014 学年 二 学期内容利用定时器设计一个电子钟,并定义一个启动键。当按下该键时电子时钟从当前设定值开始走时。按秒刷新,要求在LCD屏上显示。三具体要求在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地

2、依赖指导老师。学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。周四周五周一周二周三讲课设内容,安排任务查资料,确定硬件电路方案画出程序流程图,写出程序清单画出程序流程图,写出程序清单

3、写总结报告四进度安排五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:如发现抄袭,按照不及格处理。第一章 系统概要1.1 系统背景这些年,人们对数字时钟的要求也越来越高,传统的时钟已不能够满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有了电子闹钟,数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常的熟悉。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能

4、,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时,校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。随着科学技术的发展电子技术产业结构调整,单片机开始迅速发展,由于家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。 数字时钟,就是以数字显示取代模拟表盘的钟表,在显示上它用数字反应此时的时间,它还能同时显示时,分,秒,而且能对时,分,秒准确校时,这是普通钟所不及的。单片机的应用领域已从面向工业控制,通讯,交通,智能仪表等迅速发展到家用消费产品,办公自动化,汽车电子,PC机外围以及网络通讯等广大领域。单片机系统座位一种典型的嵌入式系统,其系统设计包括硬件设计

5、和软件设计编程设计两个方面,其调试过程一般分为软件调试,硬件调试,系统调试。 1.2 系统功能本次课程设计的主要任务是设计一个时钟计数器,也就是要做一个秒表,能够计数,并且按照我们平时的时间计数格式显示,当我们按下某个计数按键时候,这个计数系统就一秒一秒的计数,当计数到59秒就进位,显示分钟的部分加1,当计数分钟的数字显示到59,同样要进位,这时候时钟部分加1,如此循环下去。当我们再次按下此按键时候,计数器暂停计数,此时显示器也就暂停在那个时候不再计数了,并且显示当前计数时间。LCD 显示器要求每显示一次就刷新一次,或者刷新频率更高些。第二章 系统硬件设计2.1 系统原理图表2.1 定时器显示

6、控制系统的硬件构件划分构建中文名称构建英文名称构建功能类型AW60最小系统AW60-MinSysAW60 MCU的最小系统,包含BDM电路核心构建电源Power将+24V电压转换为+3.3V电压中间构建液晶显示LCD采用串行输入模式显示数据终端构建图2.1原理图上图2.1中AW60是主要模块,所有的信号都是经过AW60模块进行处理,各个功能模块在AW60模块的连接下才能够协调运行起来。图中,左边一块是各异晶振和两个电容连接,用来产生标准的时钟脉冲,在AW60上面连接的是LCD液晶显示器,用来动态显示当前所计数的秒数,右边一个模块是接地使用,最下面的是一个开关模块,用来在程序加载后由此开关控制何

7、时开始计数,何时暂停计数,以及一些复位等操作。2.2 单片机(MCU)模块2.2.1 MC9S08AW60单片机性能概述S80是单芯片8位微控制器解决法案。MC9S08AW60/AW60/AW48/AW32/AW16是低成本高性能的8位微处理器单元(MCU)S08家族中的成员。家族中有的MCU使用增强型S08S核,且使用不同的模块,存储空间,存储器类型与封装类型。AW60系列主要常规模块和特点:(1)最高达40MHz的CPU工作频率和20MHz的内部总线工作频率;时钟源选项包括晶振,谐振器,外部时钟或,内部产生的时钟。(2)相比HC08CPU指令集,S08CPU增加了BGND指令。(3)单线后

8、台调试模式接口:增强的断点能力,允许单一的断点设置在线调试(在片内调试模块增加了多于两个的断点)。(4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程的Flash存储器,带有 块保护和安全选项。(5)可选的计算机正常操作(COP)复位;低电压检测与复位或中断;非法操作码检测与复位;非法地址检测与复位。(6)ADC:多达16个通道,10个A/D转换器与动动比较功能;两个串行通信接口SCI模块与可选的13位中断;一个串行外设接口SPI模块;集成电路互联总线IIC模块运行高达100kbps的最高总线负载;8引脚键盘中断KBI模块。(7)Timers:1个2 通道和一个6

9、通道16位定时器/脉冲宽度调制器模块。既有输入捕获,输出比较,脉宽调制功能。AW子系列MCU的4种封装形式只是引脚数量和形式有所区别,其他方面是一致的。2.2.2 内部结构简图 图2.2 AW60 MCU内部结构框图图2.2给出了SW60内部结构框图,它对于我们理解和应用AW60 MCU有重要作用,在学习了基本方法后,应再反过来熟悉这个内部结构图,以便好好地理解AW60 MCU的基本原理。从内部结构框图可以看出,AW60主要有以下部件:S08 CPU,存储器,定时器接口模块,定时器模块,看门狗模块,通用I/O模块,串行通信模块(SCI),串行外设接口模块(SPI),I2C(IIC)模块,A/D

10、转换模块,键盘中断模块,时钟发生器模块,复位与中断模块等。2.3 串行通信模块2.3.1 MAX232引脚图在MCU中,若用RS-232总线进行串行通信,则需外界电路实现电平转换,在发送端需要用驱动电平将TTL电平转换成RS-232电平;在接收端,需要用接收电路将RS-232电平转换为TTL电平。电平转换器不仅可以由晶振管分立元件构成,也可以直接使用集成电路。目前使用MAX232芯片比较多,该芯片使用单一+5V电源供电实现电平转换,上图的引脚说明:(1)VCC(16脚):正电源端,一般为+5V;(2)GND(15脚):接地;(3)Vs+(2脚):vs+=2vcc-1.5v=8.5v;(4)Vs

11、-(6脚):vs-=-2vcc-1.5v=-11.5v;(5)C2+,C2-(4,5脚):一般接1uF的电解电容;(6)C1+,C2-(1,3脚):一般接1uF的电解电容。 图2.3 MAX232引脚2.3.2 串行通信的电路原理 1、焊接到PCB板上的MSX232芯片检测方法正常情况下,(1)T1IN=5V,则T1OUT=-9V;T1IN=0V;则T1OUT=9V。(2)将R1IN与T1OUT相连,令T1IN=5V,则R1OUT=5V;令T1IN=0V,则T1OUT=0V。具有串行通信接口的MCU,一般具有发送引脚(TxD)与接受引脚(RxD),不同公司或不同系列的MCU,使用的引脚缩写名可

12、能不一致,但含义相同。串行通信接口的外围硬件电路,主要目的是:将MCU的发送引脚TxD与接收端引脚RxD的TTL电平,通过RS-232电平转换器芯片转换成RS-232电平,上图就是基本串行通信的电平转换电路。2、 MAX232芯片进行电平转换的基本原理 发送过程:MCU的TxD(TTL电平)经过MAX232的11脚(T1IN)送到MAX232内部,在内部TTL电平被“提升”为232电平,通过14脚(T1OUT)发送出去。 接收过程:外部232电平经过MAX232的13脚(R1IN)送入到MAX232的内部,在内部的电平被“降低”为TTL电平,经过12脚(R1OUT)送到MCU的RxD,进入MC

13、U内部。 进行MCU的串行通信接口编程时,只针对MCU的发送与接收引脚,与MAX232无关,MAX232只是起到电平转换作用。输入输出引脚分两组,基本含义如表2.2所示。在实际使用时,若只需要一路串行通信接口,可以使用其中任何一组。表2.2 MAX232芯片输入输出引脚分类与基本接法组别TTL电平引脚方向典型接口232电平引脚方向典型接口11112输入输出接MCU的TxD接MCU的RxD1314输入输出连接到接口,与其它设备通过232相接2109输入输出接MCU的TxD接MCU的RxD87输入输出连接到接口,与其它设备通过232相接图2.4 SCI连接图2.4 液晶显示模块2.4.1.点阵字符

14、型LCD基本特点: LCD作为电子信息产品的主要显示器件,相对于其他类型的显示器件来说有其自身的特点,主要包括:(1)低电压,低功耗;(2)平板型结构;(3)使用寿命长;(4)被动显示;(5)显示信息量大且易于彩色化;(6)无电磁辐射。 点阵字符型LCD是专门用于显示数字,字母,图形符号及少量自定义符号的液晶显示器。这类显示器把LCD控制器,点阵驱动器,字符存储器,显示体及少量的阻容元件等集成一个液晶显示模板。鉴于字符型液晶显示模块目前在国际上已经规范化,其电特性及接口特性是统一的,只要设计出一种型号的接口电路,在指令上稍加修改即可使用各种规格的字符型液晶显示器模块。 点阵字符型液晶显示器模块

15、的控制器大多数为日立公司生产的HD44780及其兼容的控制电路,如:SED1278(SEIKOEPSON);KS0066(SAMSUNG);NJU6408(NER JAPANRADIO)等。2.4.2字符型液晶显示器模块的特点如下:(1)液晶显示屏是以若干5*8或5*11点阵块等组成的显示字符群。每个点阵块块为一个字符位,字符间距和行间距都是一个点的宽度。(2)主控制电路为HD44780(HITACHI及其他公司的兼容电路。从程序员的角度来看LCD显示接口与编程是面向HD44780的,只要了解HD44780的编程结构即可进行LCD的显示编程。(3)内部具有字符发生器ROM,可显示192种字符。

16、(4)具有64字节的字符发生器RAM,可以定义8个5*8点阵字符或4个5*11的点阵字符。(5)具有64字节的数据显示RAM,供显示器编程使用。(6)标准接口特性,与MC9S08系列的MCU容易接口。(7)模块结构紧凑,轻巧,装配容易。(8)单+5V电源供电(宽温型需要加-7V驱动电源)。(9)低功耗,高可靠性。图2.5 MCU控制液晶显示接口连线图第三章 系统软件设计3.1 MCU方(C)程序3.1.1主程序(main.c)/-*/工 程 名: Timer /硬件连接: MCU的串口与PC方的串口相连 /程序描述: / (1)打开程序目录中的Timer1.exe,用串口发生给MCU表示时间的

17、3字节数据/ (2)利用定时器溢出中断修改时间,并发送新时间 /目 的: 学习定时器基本功能 /说 明: 无 /-苏州大学飞思卡尔嵌入式系统实验室2010年-*/总头文件#include Includes.h/在此添加全局变量定义uint8 time6; /记录时间的数组void main(void) uint8 i=0; uint8 LCDbuff = . .;/32个空格,显示屏初始字符 uint8 remember; /记录当前秒数的变量 /1 关总中断 DisableInterrupt(); /禁止总中断 /2 芯片初始化 MCUInit(); /3 模块初始化 TPMinit(1);

18、 /(1)定时器1初始化 SCIInit(1,SYSTEM_CLOCK,9600); /(2)串行口初始化 /4 内存初始化 time0 = 23; /(1) 时分秒缓存初始化(00:00:00) time1 = 59; time2 = 55; time3 = 31; /(1) 缓存初始化(00:00:00) time4 = 7; time5 = 14; remember = time2; /(2) 临时变量remember初始化 LCDshow(LCDbuff); /显示初始字符 /5 开放中断 EnableSCIReInt(); /(1)开放串口接受中断 EnabletimerInt(1)

19、; /(2)开放定时器1溢出中断 EnableInterrupt(); /(3)开放总中断 /6 主循环 while (1) if(GPIO_Get(LCD_Run_PORT,0)=LCD_Run) EnabletimerInt(1); if (time2 != remember) SCISendN(1, 6, time); LCDbuff4=time5/10+0; LCDbuff5=time5%10+0; LCDbuff6=/; LCDbuff7=time4/10+0; LCDbuff8=time4%10+0; LCDbuff9=/; LCDbuff10=time3/10+0; LCDbuf

20、f11=time3%10+0; LCDbuff20=time0/10+0; LCDbuff21=time0%10+0; LCDbuff22=:; LCDbuff23=time1/10+0; LCDbuff24=time1%10+0; LCDbuff25=:; LCDbuff26=time2/10+0; LCDbuff27=time2%10+0; LCDshow(LCDbuff) ; remember=time2; if(GPIO_Get(LCD_Run_PORT,0)!=LCD_Run) DisabletimerInt(1); 3.1.2 中断子程序(Isr.c)/-*/文件名: isr.c

21、/ 说 明: 中断处理函数文件 /-*/头文件#include isr.h/此处为用户新定义中断处理函数的存放处/-*/函数名: isrT1Out /功 能: 定时器1溢出中断处理函数,以秒为最小单位计时,并清定时器1溢出标志位 */参 数: 无 /返 回: 无 /说 明: 调用SecAdd1函数 /-*interrupt void isrT1Out(void) uint8 temp; DisableInterrupt(); /禁止总中断 SecAdd1(time); /1s到,递增时,分,秒缓冲区的值 /清定时器1溢出标志 temp = TPM_CSTR(1); /读取定时器1状态和控制寄存

22、器TPM1SC TPM_CSTR(1) &= (TPM1SC_TOF_MASK);/向定时器溢出标志位TOF写0 EnableInterrupt(); /开放总中断 /-*/函数名: isrSCIre /功 能: SCI接收中断处理函数,接收3个字节数据作为基准时分秒的值,放入 / time0-2 /参 数: 无 /返 回: 无 /说 明: 调用了SCIReN函数 /-*interrupt void isrSCIre(void) uint8 temp; DisableInterrupt(); /禁止总中断 temp=SCIReN(1, 6,time); /接收6个字节,放入time数组 Ena

23、bleInterrupt(); /开放总中断/未定义的中断处理函数,本函数不能删除interrupt void isrDummy(void)/中断处理子程序类型定义typedef void(*ISR_func_t)(void);/中断矢量表,如果需要定义其它中断函数,请修改下表中的相应项目const ISR_func_t ISR_vectors 0xFFCC = isrDummy, / 0xFFCC /RTI (periodic interrupt) vector isrDummy, / 0xFFCE /IIC vector isrDummy, / 0xFFD0 /analog to digi

24、tal conversion vector isrDummy, / 0xFFD2 /keyboard vector isrDummy, / 0xFFD4 /SCI2 transmit vector isrDummy, / 0xFFD6 /SCI2 receive vector isrDummy, / 0xFFD8 /SCI2 error vector isrDummy, / 0xFFDA /SCI1 transmit vector isrSCIre, / 0xFFDC /SCI1 receive vector isrDummy, / 0xFFDE /SCI1 error vector isrD

25、ummy, / 0xFFE0 /SPI vector isrDummy, / 0xFFE2 /TPM2 overflow vector isrDummy, / 0xFFE4 /TPM2 channel 1 vector isrDummy, / 0xFFE6 /TPM2 channel 0 vector isrT1Out, / 0xFFE8 /TPM1 overflow vector isrDummy, / 0xFFEA /TPM1 channel 5 vector isrDummy, / 0xFFEC /TPM1 channel 4 vector isrDummy, / 0xFFEE /TPM

26、1 channel 3 vector isrDummy, / 0xFFF0 /TPM1 channel 2 vector isrDummy, / 0xFFF2 /TPM1 channel 1 vector isrDummy, / 0xFFF4 /TPM1 channel 0 vector isrDummy, / 0xFFF6 /ICG vector isrDummy, / 0xFFF8 /low voltage detect vector isrDummy, / 0xFFFA /IRQ pin vector isrDummy / 0xFFFC /SWI vector / RESET defin

27、ed in Project.prm;3.1.3 LCD子程序(LCD.c)/-*/ 文件名: LCD.c / 说 明: LCD驱动 /-*#include LCD.h /该头文件包含寄存器及相关位定义/-*/函数名: LCDinit /功 能: 初始化LCD(HD44780),设置显示方式,输入方式,并清屏 /参 数: 无 /返 回: 无 /说 明: 调用了LCDcommand函数 /-*void LCDinit(void) uint16 i; /定义数据口(PTA0-7)为输出 LCDdataD = 0b11111111; / | / |+-PTA0 / |+-PTA1 / |+-PTA2 / |+-PTA3 / |

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1