基于单片机的定时器设计说明_第1页
基于单片机的定时器设计说明_第2页
基于单片机的定时器设计说明_第3页
基于单片机的定时器设计说明_第4页
基于单片机的定时器设计说明_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..电气信息学院课程设计任务书课题名称基于单片机的定时器设计姓名Front专业班级学号校内指导老师企业指导老师课程设计时间2017年3月6日-2017年3月17日〔3、4周教研室意见意见:审核人:一、设计任务及要求1、设计任务:以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显示为"05";K3—设置倒数计时时间为20分钟,显示为"20";K4—设置倒数计时时间为60分钟,显示为"60";一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为05。2、设计要求:设计方案要合理、正确;系统硬件设计;系统软件设计及调试;系统联调;5写出设计报告。二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。周五进行答辩和设计结果检查。三、参考文献《微型计算机原理及应用》许立梓编机械工业出版社2002《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001《微型计算机接口技术》邓亚平编清华大学出版社2001《单片机原理及及应用》王迎旭编机械工业出版社2001《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002《单片机实用技术问答》谢宜仁主编人民邮电出版社2002..目录13791第1章系统概述1132331.1定时器简介118711.2设计内容及要求1611第2章系统方案设计2224742.1系统硬件方案设计2190392.2系统软件方案设计26369第3章系统软件设计351693.1主控芯片AT89C523289783.2振荡电路设计389413.3复位电路设计4231573.4按键电路设计 4231573.5显示电路设计 5231573.6报警电路设计66369第4章系统软件设计733274.1键盘程序设计 7182244.2定时程序设计799634.3数码管显示程序设计 999884.4报警程序设计910827第5章系统调试10126545.1程序下载10220335.2实物调试113872设计总结138947附录A实物图141369附录B电路图151369附录C程序清单16第1章系统概述1.1定时器简介人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多,家用电器都安装了定时器来控制开关或工作时间。1.2设计内容及要求设计任务:以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显示为"05";K3—设置倒数计时时间为20分钟,显示为"20";K4—设置倒数计时时间为60分钟,显示为"60";一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为05。设计要求:〔1确定系统设计方案;〔2进行系统的硬件设计;〔3完成必要的参数计算与元器件选择;〔4开发板焊接及测试<5完成应用程序设计;<6应用系统的硬件和软件的调试第2章系统方案设计2.1系统硬件方案设计系统的组成原理框图如图2.1所示,定时器在硬件部分应该具有振荡电路、复位电路、按键电路、显示电路、报警电路,从而实现定时器的操作和执行。此定时器设计具有的功能为:1.1-60分钟可调倒数计时并报警。2.5分钟倒数计时并报警。3.20分钟倒数计时并报警。4.60分钟倒数计时并报警。图2.1系统的组成原理框图2.2系统软件方案设计本系统软件方案设计由主程序模块、数码管显示程序模块、按键程序模块、播放音乐程序和延时程序模块等组成。主程序主要完成定时器初始化,显示数值,检查有无按键按下、报警程序等等。系统程序结构图如图2.2所示:图2.2系统程序结构图第3章系统硬件设计3.1主控芯片AT89C52AT89C52有40个引脚,32个外部双向输入/输出<I/O>端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器〔RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。图3.1AT89C52芯片管脚图3.2振荡电路设计在MCS-51芯片内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成一个稳定的自激振荡器,如图3-2所示:图3.2振荡电路3.3复位电路设计复位操作有上电复位和按键手动复位两种方式。上电自动复位是通过外部复位的电容来实现的,其电路如图4-5所示。只要电源的上升时间不超过1ms,就可以实现自动上复位,即接通电源就完成了系统的复位操作,在此系统中,我们只需要进行上电复位即可。3.4按键电路设计由于本设计所用到的按键只有4个。采用的是独立按键键盘,按键的一端接到地,另外一端接到单片机的P1^4、P1^5、P1^6、P1^7口。定时模式由键盘输入完成。图3.4按键电路3.5显示电路设计显示电路由P0口和P1.0~P1.3控制,其为八段共阴极数码管,由P0口控制,当输入信号为高电平时其对应的数码管会发亮。图3.5显示电路3.6报警电路设计报警电路由蜂鸣器组成,到时间后蜂鸣器放出音乐。图3.6蜂鸣器第4章系统软件设计4.1键盘程序设计程序包括判别有无按键按下、对LedNumVal重新赋值,延时消除抖动等。其中K1为1-60分可调定时的赋值,K2,K3,K4分别为5,20,60分定时的赋值,下面列举了K2。 if<K1==0> { Delay10ms<1>; if<K1==0> { TR0=0; LedNumVal=<LedNumVal/60+1>*60+30; if<LedNumVal>3601> LedNumVal=30; while<!K1>; TR0=1; } } if<K2==0> { Delay10ms<1>; if<K2==0> { LedNumVal=300; while<!K2>; } }4.2定时程序设计定时程序利用T0定时间采用方式1定时,定时5ms,采用软件计算初值为 TH0=0xee; TL0=0x00;图4.2初值计算定时器初始化程序如下voidsystem_Ini<>{TMOD=0x01; TH0=0xee; TL0=0x00;IE=0x8A;TR0=1;}中断响应程序如下,循环200次后为定时一秒,LedNumVal减一,到时间后一直执行beep<>;报警程序。voidT0zd<void>interrupt1{ TH0=0xee; TL0=0x00; g++; if<g==200> { g=0; LedNumVal--; if<LedNumVal==-1> while<1> beep<>; }}4.3数码管显示程序设计此程序与外设电路P0口连接,P0控制数码管段选,P1^0,P1^1,P1^2,P1^3控制数码管位选,采用动态显示,先选定数码管,将数据对应显示,延时后进行下一位数码管选定,重复程序直至四位数码管显示完毕。voidDigDisplay1<>{ unsignedintj; a=0,b=1,c=1,d=1; GPIO_DIG=DisplayData[0]; j=100; while<j-->; GPIO_DIG=0xff; a=1,b=0,c=1,d=1; GPIO_DIG=DisplayData[1]; j=100; while<j-->; GPIO_DIG=0xff; a=1,b=1,c=0,d=1; GPIO_DIG=DisplayData[2]; j=100; while<j-->; GPIO_DIG=0xff; a=1,b=1,c=1,d=0; GPIO_DIG=DisplayData[3]; j=100; while<j-->; GPIO_DIG=0xff;}4.4报警程序设计当到时间后,一直执行蜂鸣器程序,并将数码管显示----图形,代表已到时间。voidbeep<>{ a=b=c=d=0; P0=~0x40; T=1; Delay10ms<50>; T=0; Delay10ms<50>;}第5章系统调试5.1程序下载将程序下载线与PC机接好,运行stc-isp-15xx-v6.85H.exe〔1运行stc-isp-15xx-v6.85H出现如图5.8界面:图5.1.1程序下载界面〔2按照图中左边提示的步骤,分别选择单片机型号、打开待下载的程序文件〔.HEX文件、选择通信口和通信波特率;〔3下载程序,先关电源点击DownLoad/下载框,然后再接通电源〔冷启动,在左下框中若出现如下信息则程序下载成功。图5.1.2程序下载5.2实物调试单片机上电后数码管显示初始状态05.00〔默认计时5分钟。如图5.2.1图5.2.1初始状态按下K3键后计时20分钟如图5.2.2图5.2.220分钟计时图5.2.360分钟计时图5.2.41-60分钟可调计时计时结束时如下,此时蜂鸣器持续响,图5.2.51-60分钟可调计时设计总结这次的课程设计,自我感觉收获良多,学会了用keil软件进行编程、AD软件进行原理图的绘制,检查程序是否能运行其功能和定时器的初值计算,由于之前学过一点单片机,所以这次的单片机实习还是蛮得心应手的,经过几天的坚持设计后终于完成,其中也遇到了一些问题,在调试过程中数码管显示得不是很好,延时时间对显示有很大的关系,太大了显示就断断续续,太小了就分辨不清显示的数值,所以应延时一个恰当的时间,报告做到这里,我的课设就告一段落了。过程中也让我深深地体会到,很多问题也许一次两次都解决不了,但是只要还有时间,我们就可以再尝试,因为一次又一次的尝试也许就是一种进步。附录A实物图附录B电路图附录C程序清单#include<reg51.h>#include<intrins.h>sbita=P1^0;sbitb=P1^1;sbitc=P1^2;sbitd=P1^3;sbitT=P2^0;sbit K1=P1^4;sbit K2=P1^5;sbit K3=P1^6;sbit K4=P1^7;#defineGPIO_DIGP0 unsignedcharcodeDIG_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedintLedNumVal,g,m,DisplayData[4];voidDelay10ms<unsignedintc>;voidDigDisplay1<>;voidbeep<>;voidsystem_Ini<>{TMOD=0x01;TH0=0xee;TL0=0x00;IE=0x8A;TR0=1;}voidmain<>{unsignedchari;system_Ini<> ;LedNumVal=300;g=0;while<1>{ i=0; DisplayData[0]=~DIG_CODE[LedNumVal/60/10]; DisplayData[1]=~<DIG_CODE[LedNumVal/60%10]|0x80>; DisplayData[2]=~DIG_CODE[LedNumVal%60/10]; DisplayData[3]=~DIG_CODE[LedNumVal%10]; DigDisplay1<>; if<K1==0> { Delay10ms<1>; if<K1==0> { TR0=0; LedNumVal=<LedNumVal/60+1>*60+30; if<LedNumVal>3601> LedNumVal=30; while<!K1>; TR0=1; } } if<K2==0> { Delay10ms<1>; if<K2==0> { LedNumVal=300; while<!K2>; } } if<K3==0> { Delay10ms<1>; if<K3==0> { LedNumVal=1200; while<!K3>; } } if<K4==0> { Delay10ms<1>; if<K4==0> { LedNumVal=3600; while<!K4>; } }}}voidT0zd<void>interrupt1{ TH0=0xee; TL0=0x00; g++; if<g==200> { g=0; LedNumVal--; if<LedNumVal==-1> while<1> beep<>; }}voidbeep<>{ a=b=c=d=0; P0=~0x40; T=1; Delay10ms<50>; T=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论