基于单片机的定时器设计.
单片机定时器毕业设计(论文)

毕业设计毕业设计题目:学生学号:学生姓名:所在系(部):专业及班级:指导教师:完成日期:《电气自动化》专业毕业设计任务书课题名称:定时系统课题类型:模拟课题设计的目的:(1)定时设定由按键部分控制(2)实现定时时间的显示数码管显示:分(十位)分(个位)∶秒(十位)秒(个位)(3)到点响铃(4)系统运行中可重新设定定时值(5)最大实现99分59秒的定时设计的任务及主要内容::第一章概述1 任务设计(1)定时设定由按键部分控制(2)实现定时时间的显示数码管显示:分(十位)分(个位)∶秒(十位)秒(个位)(3)到点响铃(4)系统运行中可重新设定定时值(5)最大实现99分59秒的定时2 总体方案(1)设计框图系统框图如图1(2)设计思路利用89C51单片机作为本系统的中控模块。
上电后,按下功能键进入调时状态,通过各单元电路将按键部分设定的时间通过定时时间显示部分中的LED数码管显示出来,当时间设定完毕后再次按下按键部分的功能键,闹铃模块的蜂鸣器鸣叫0.5S以示定时器开始工作,到点实现响铃,再由按键部分关闹铃。
中途可重新设置定时数值。
复位部分除上电初实现复位外,其余任何时候可按键实现复位。
注:按键部分一共有4个按键,分别为功能键P3.0,秒设定键P3.1(增),分设定键P3.2(增)分设定键P3.3(减)。
3、方案论证(1)定时部分定时部分是本设计的核心部分。
方案:本方案完全用软件实现定时。
原理为:在单片机内部存储器设两个字节分别存放时钟的分、秒信息。
利用键盘部分对定时时间进行设定,由定时显示部分数码管显示,同时定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒个位减1;若秒个位减到0,则判秒十位值是否为0,若不是,则秒个位赋9,秒十位减1;分同理。
该方案具有硬件电路简单的特点。
(2)闹铃器件的选择方案:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。
采用蜂鸣器闹铃结构简单,控制方便。
基于AT89C51单片机定时闹钟设计

塔里木大学信息工程学院《单片机原理与外围电路》课程论文题目:单片机定时闹钟设计姓名:海热古丽·依马木学号:**********班级:计算机15-1班摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。
本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。
LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。
通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。
在软件方面采用汇编语言编程。
整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。
关键词:单片机、AT89C51、定时闹钟、仿真Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always -sub -seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results.Keywords: single chip microcomputer, AT89C51, alarm clock, simulatio目录1绪论 (2)1.1课题背景及研究意义 (2)1.2国内外现状 (2)1.3课题的设计目的 (2)1.4课题的主要任务 (2)1.5课题的主要功能 (2)2系统概述 (3)2.1方案论证 (3)2.2系统设计原理 (3)3系统硬件设计 (4)3.1单片机AT89C51简介 (4)3.2数码管显示电路 (6)3.3时钟电路 (7)3.4喇叭:SPEAKER (8)4系统软件设计 (8)4.1系统软件设计说明 (8)4.2 程序调试 (8)4.3 程序流程图 (9)4.3仿真步骤 (10)4.4仿真结果 (10)结论 (12)参考文献 (13)附录A 系统整体电路 (14)附录B 全部程序清单 (14)附录C:PCB图和3D图 (23)1绪论1.1课题背景及研究意义进入信息时代,计算机的影子无处不在,带有像单片机一类嵌入式处理器的小型智能化电子产品,已经成为家用电器的主流,市场需求前景广阔,因此,掌握小型单片机应用系统设计方法,已成为当今电子应用工程师所必备的技能,定时闹钟具备小型单片机应用系统的一切要素,其结构简单、成本低廉、走时精确、设置方便,所以智能化方面有广泛的用途。
基于at89c51单片机的定时闹钟的设计

基于at89c51单片机的定时闹钟的设计本文介绍了基于AT89C51单片机的定时闹钟的设计。
文章将探讨设计目的和背景,并着重阐述定时闹钟的实现原理和功能。
本文档将介绍基于at89c51单片机的定时闹钟的硬件设计要点,包括电源、显示器、按键等组件选择和连接方式。
电源选择与连接在设计定时闹钟的硬件方案时,选择合适的电源是非常重要的。
以下是一些电源选择和连接的要点:使用稳定可靠的电源模块,例如直流电源模块,以确保单片机工作的稳定性。
将电源模块的正负极连接到at89c51单片机的VCC和GND引脚上。
注意电源的电压和电流要符合at89c51单片机的工作要求。
显示器选择与连接显示器是定时闹钟中显示时间和其他信息的重要组件。
以下是一些显示器选择和连接的要点:考虑使用液晶显示器 (LCD) 或数码管作为显示器,这些显示器可以清晰地显示数字和字符。
根据设计需求,选择合适的显示器尺寸和类型。
将显示器的控制引脚与at89c51单片机的相应引脚连接,以实现时间和信息的显示。
按键选择与连接按键是控制定时闹钟设置和功能的重要组件。
以下是一些按键选择和连接的要点:选择合适的按键类型,例如触摸按键或机械按键。
根据设计需求,确定所需的按键数量和布局。
将按键的引脚连接到at89c51单片机的GPIO引脚,以接收按键输入并实现相应的功能。
上述是基于at89c51单片机的定时闹钟的硬件设计要点,通过合理选择和连接电源、显示器和按键等组件,可以确保定时闹钟的稳定运行和正常功能。
本文将阐述基于at89c51单片机的定时闹钟的软件设计要点,包括如下内容:定时器的设置:使用at89c51单片机的定时器来实现定时功能,可以通过对定时器寄存器的设置来调整定时的时间间隔。
中断处理:在定时器到达设定的时间间隔时,通过中断处理来触发相应的操作。
可以通过设定中断优先级来确保定时器中断的可靠性。
闹钟功能的实现:通过软件算法和控制电路,将定时器和中断处理结合起来实现闹钟功能。
基于MCS-51单片机的多点定时器设计

为了保证逻辑 系统本身的可靠性以及完备性 , 厂爪以及 需要满足一定 的约束条件。任意给定两 个逻辑 系统 r,n, rH n 为语 义 等 价态 射 当且 仅 当以下条件 成立 :
须外扩 ROM和 RAM。
切换 。
利用单 片机 设计 的时钟 ,很 多文 献都 已提及 ,本 2.2 硬件 设计
文不再 赘述 ,这里 我们 就 以普通 时钟 为基础 ,结合其
硬 件 电路 框 图如 图 1所 示 ,其 中 电话 接 口用来
硬件 电路 ,给出 了多点定 时器 的软 件设计 流程 。
级 、工 业级 、汽车用 级 、军用 级等 多种规 格 。因此 ,目 和节 目 自动 切换 ,实 现 无人 值 守 。在 特殊 情 况 下 可
前 它在 微计算 机产 品开发 中 的应用 越来 越 “火 ”。
通 过 PSTN或移 动 网络 远程 控制 开关 机 和节 目切换
利 用 MCS一51单 片机实 现多 点定 时 ,不需要 复 或 改 变节 目设 置 。为 了 不破 坏 原接 收 机 的 电路 ,本 杂 的计算 ,程序 代码 量不 大 ,4k E2PROM 已足够 ,无 文采 用 模 拟 遥 控 器 的 方式 ,实 现 对 电视 台 节 目的
Design of m ultipoint-tim er based on M CS-5 1 M CU
DONG Jun—tang ,SHAO Ting—ting ,CHANG Yan—ling
(1.College of Physics and Electronic Information,Yah’an University,Yan’all 716000,China; 2.The Fourth M iddle School of Yan’an,Yan’an 710072,China)
基于80C52单片机的多路数字定时抢答器设计

课程设计任务书学生姓名: XXX 专业班级:电子科学与技术1302班指导教师: XX 工作单位:信息工程学院题目: 多路数字定时抢答器设计初始条件:本课程设计既可以选用集成电路:74LSl48,74LS279,74LS48,74LSl92,NE555,74LS00,74LSl21和其它器件等,实现八路定时抢答功能。
又可以使用单片机系统构建多路数字定时抢答器。
要求用蜂鸣器和光电二极管作声光报警器件,工作电源Vcc为+5V。
要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:①可同时供8名选手(或代表队)参赛,其编号分别是0到7,各用一个抢答按钮,按钮的编号与选手的编号相对应。
②给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。
③抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。
此外,要封锁输入电路,禁止其它选手抢答。
优先抢答选手的编号一直保持到主持人将系统清零为止。
④抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30秒)。
当节目主持人启动“开始”键后,要求定时器立即进行减计时,并用显示器进行显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。
⑤参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。
⑥如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并封锁输入电路,禁止选手超时后抢答,定时显示器上显示00。
⑦画出总体电路原理图。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2015 年6 月29 日集中,作课设具体实施计划与课程设计报告格式的要求说明。
基于单片机设计定时器CH451

LOAD BIT P1.2DIN BIT P1.0DCLK BIT P1.1DOUT BIT P3.3ST EQU 21H ;存状态号KEY EQU 22H ; 存放按键键码KD EQU 23H ;存放按键号KEY_F BIT 00H ;有键标志位SEC EQU 25H ;秒单元MIN EQU 26H ;分单元HOUR EQU 27H ;小时单元ORG 0000HAJMP MAINORG 0013H ;键盘中断入口LJMP KEY_INTORG 000BH ;定时器中断入口LJMP CLOCKORG 100HMAIN:MOV SP, #60H ;初始化MOV ST, #0CLR KEY_FMOV KEY,#0MOV KD,#0MOV HOUR,#0MOV SEC,#0MOV MIN,#0MOV TMOD,#01H ;定时器初始化MOV TH0,#3CHMOV TL0,#0B0HMOV IE,#82HMOV R0 ,#14HCH451_INIT: ;CH451初始化子程序MOV P1,#60HCLR DIN ;先低后高SETB DCLK ;置为默认的高电平SETB DIN ;输出上升沿CH451选择4线串行接口SETB LOADSETB DOUT ;置为输入NOPMOV B,#04H ;设置CH451MOV A,#03H ;关看门狗开显示键盘LCALL WRITENOPMOV B,#05H ;设置显示模式为译码方式MOV A,#80HLCALL WRITENOPCLR IT1 ;置外部中断信号为低电平触发CLR IE1 ;清中断标志SETB EX1 ;允许键盘中断SETB EA ;开总中断START1: LCALL DISP ;当前计时显示START2:JNB KEY_F,START1 ;无按键等待CLR KEY_F ;有按键,清按键标志GET_ADD: ;获得状态行地址MOV DPTR,#STABMOV A,STMOV B,#6MUL ABADD A,DPL ; DPTR=#STAB + ST*6 MOV DPL,AMOV A,BADDC A,DPHMOV DPH,ANEXT_ST: ;获得次状态MOV A, KDRL A ;KD*2MOV R0,AMOVC A,@A+DPTR ;查表取出次状态号MOV ST,A ;更新STMOV A,R0INC A ;偏移量加1GET_TASK:MOVC A,@A+DPTR ; 得到任务号MOV B,#3MUL AB ;每个LJMP占3个字节MOV DPTR,#TASKJMP @A+DPTR ;散转到子任务程序入口TASK:LJMP P_0LJMP P_1LJMP P_2LJMP P_3LJMP P_4LJMP P_5LJMP P_6LJMP P_7LJMP P_8LJMP P_9LJMP P_10P_0:NOPSETB TR0LCALL DISPMOV ST ,#0LJMP START2P_1:CLR TR0MOV B,#06HMOV A,#03HLCALL WRITELJMP START2P_2:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,HOURDA ACJNE A,#99H,LOOP1MOV A,#23H LOOP1:MOV HOUR ,AMOV ST ,# 1CLR CLJMP START2P_3: CLR TR0MOV A,HOURINC ADA ACJNE A,#24H,LOOP2MOV A,#00HLOOP2: MOV HOUR ,A MOV ST ,#1LJMP START2P_4:CLR TR0MOV B,#06HMOV A,#18HLCALL WRITELJMP START2P_5:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,MINDA ACJNE A,#99H,LOOP3MOV A,#59H LOOP3:MOV MIN ,ACLR CMOV ST ,#2LJMP START2P_6:CLR TR0MOV A,MININC ADA ACJNE A,#60H,LOOP4MOV A,#00H LOOP4:MOV MIN ,AMOV ST ,#2LJMP START2P_7:CLR TR0MOV B,#06HMOV A,#0C0HLCALL WRITELJMP START2 P_8:SETB TR0MOV B,#06HMOV A,#00HLCALL WRITELCALL DISPMOV ST ,#0LJMP START2P_9:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,SECDA ACJNE A,#99H,LOOP5MOV A,#59HLOOP5:MOV SEC ,ACLR CMOV ST ,#3LJMP START2P_10:CLR TR0MOV A,SECINC ADA ACJNE A,#60H,LOOP6MOV A,#00HLOOP6:MOV SEC ,AMOV ST ,#3LJMP START2STAB: DB 0,0, 1,1, 0,0 ; stat0DB 1,2, 2,4, 1,3 ; stat1DB 2,5, 3,7, 2,6 ; stat2DB 3,9, 0,8, 3,10 ; stat3KEY_INT:PUSH DPLPUSH DPH ; 保护主程序现场PUSH ACCPUSH PSWLCALL READ ; 读键码MOV R3, A ; 将健码放到R3中K0: CJNE R3,#40H,K1 ; 以下比较健码得出键值, MOV A,#0H ; 放到A中SJMP KEY_L1 ; 转换成键号K1: CJNE R3,#41H,K2MOV A,#1HSJMP KEY_L1K2: CJNE R3,#42H, KEY_OUTMOV A,#2HKEY_L1: MOV KD,A ; 保存键值SETB KEY_F ; 置有键标记KEY_OUT:POP PSWPOP ACC ; 恢复主程序现场POP DPHPOP DPLRETICLOCK: PUSH PSWPUSH ACCDJNZ R0,NEXTMOV R0 ,#14HLCALL JINWEINEXT: MOV TH0,#3CH ;MOV TL0,#0B0HPOP ACCPOP PSWRETIJINWEI:MOV A,SECCLR CMOV A,#9AHSUBB A,#01HADD A,SECDA AMOV SEC,ACJNE A,#99H,END1MOV SEC,#59HMOV A,MINMOV A,#9AHSUBB A,#01HADD A,MINDA AMOV MIN,ACJNE A,#99H,END1MOV MIN,#59HMOV A,HOURMOV A,#9AHSUBB A,#01HADD A,HOURDA AMOV HOUR,ACJNE A,#99H,END1MOV HOUR,#23HEND1:RETDISP: ;显示子程序PUSH PSWPUSH ACCMOV B,#0FH ;加载字数据7MOV A,SECANL A,#0FHACALL WRITEMOV A,SECSWAP AANL A,#0FHDEC B ;加载字数据6ACALL WRITEMOV A,#10HDEC B ;加载字数据5ACALL WRITEMOV A,MINANL A,#0FHDEC B ;加载字数据4ACALL WRITEMOV A,MINSWAP AANL A,#0FHDEC B ;加载字数据3ACALL WRITEMOV A,#10HDEC B ;加载字数据2ACALL WRITEMOV A,HOURANL A,#0FHDEC B ;加载字数据1ACALL WRITEMOV A,HOURSWAP AANL A,#0FHDEC B ;加载字数据0ACALL WRITEPOP ACCPOP PSWRETWRITE:PUSH PSWPUSH ACCCLR EX1CLR LOADMOV R7,#08HWRITE_8:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_8MOV A,BMOV R7,#04HWRITE_4:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_4SETB LOADSETB EX1POP ACCPOP PSWRETREAD: CLR EX1 ;禁止键盘中断CLR LOAD ;命令开始MOV A, #07H ;读取键值命令的高4位0111BMOV R7, #04H ;忽略12位命令的低8位RE_4: RRC A ;低位在前,高位在后CLR DCLK ;MOV DIN,C ;送出一位数据SETB DCLK ;产生上升沿通知CH451输入位数据DJNZ R7, RE_4 ;位数据未完继续SETB LOAD ;产生加载上升沿通知CH451处理命令数据CLR A ; 先清键值单元以便移位MOV R7,#07H ;读入7位键值RE_7: MOV C, DOUT ;读入一位数据CLR DCLK ;产生时钟下降沿通知CH451输出下一位数据RLC A ;数据移入ACC,高位在前,低位在后SETB DCLK ;DJNZ R7,RE_7 ;数据未完继续CLR IE1 ;清中断标志,读操作过程中有低电平脉冲SETB EX1 ;准许键盘中断RETEND。
利用单片机的定时器设计一个数字时钟

利用单片机的定时器设计一个数字时钟数字时钟是我们日常生活中常见的计时工具,可以准确地显示当前的时间。
而单片机的定时器则可以提供精准的定时功能,因此可以利用单片机的定时器来设计一个数字时钟。
本文将介绍如何使用单片机的定时器来设计一个基于数字显示的时钟,并提供基本的代码实现。
一、时钟电路设计利用单片机设计一个数字时钟,首先需要设计一个合适的时钟电路。
时钟电路一般由电源电路、晶振电路、单片机复位电路和显示电路组成。
1. 电源电路:为电路提供工作所需的电源电压,一般使用稳压电源芯片进行稳定的供电。
2. 晶振电路:利用晶振来提供一个稳定的时钟信号,常用的晶振频率有11.0592MHz、12MHz等。
3. 单片机复位电路:用于保证单片机在上电或复位时能够正确地初始化,一般使用降低复位电平的电路。
4. 显示电路:用于将单片机输出的数字信号转换成七段数码管可以识别的信号,一般使用BCD码和译码器进行实现。
二、单片机定时器的应用单片机的定时器具有精准的定时功能,可以帮助实现时钟的计时功能。
单片机的定时器一般分为定时器0和定时器1,根据具体的应用需求选择使用。
在设计数字时钟时,可以将定时器0配置成定时器模式,设置一个适当的定时时间。
当定时器0计时达到设定时间时,会触发一个中断信号,通过中断处理程序可以实现时钟的计时功能。
以下是一个基于单片机的定时器的伪代码示例:```void Timer0_Init(){// 设置定时器0为工作在定时器模式下// 设置计时时间// 开启定时器0中断}// 定时器0中断处理程序void Timer0_Interrupt_Handler(){// 更新时钟显示}void main(){Timer0_Init();while(1){// 主循环}}```在上述伪代码中,Timer0_Init()函数用于初始化定时器0的相关设置,包括工作模式和计时时间等。
Timer0_Interrupt_Handler()函数是定时器0的中断处理程序,用于处理定时器0计时到达设定时间时的操作,例如更新时钟显示。
单片机智能的定时器设计毕业设计

.目录一、课程设计任务书 (1)二、智能定时器设计 (1)1.设计要点 (1)2.硬件设计 (4)(1)光敏电阻 (5)(2)光耦合器 (6)(3)光电开关 (7)(4)红外光电对管 (8)(5)光敏二极管与光敏三极管 (8)(6)拨码开关 (9)三、智能光电定时器软件设计…………………………………………………11.1.程序流程图 (11)1)主程序流程图 (11)2)T0 中断服务子程序 (12)2 .软件去抖 (12)3. 初始化 (12)4.硬件调试方法 (13)5.软件调试方法 (13)6.程序清单 (13)四、结论 (17)五、体会及收获 (17)参考文献 (17)课程设计任务书(智能光电定时器)1、总体方案设计根据资料将同类产品方案特点列出,画出设计方案的原理图和印制板图,说明设计的方案的特点。
2、各功能部件的硬件设计1.各种光电器件、拨码开关对时间置入方式的设计2.单片机硬件对时间置入接收部分的设计以及控制声光报警电路的设计3.单片机软件对定时,报警的编制以及电源的设计智能光电定时器设计一、智能光电定时器设计要点定时器时间置入有两种方式:拨码开关置入方式和光电置入方式拨码开关置入方式,其定时的时间精度为1秒钟;有两个拨码开关,一个设置为分钟位,一个设置为秒钟位。
光电置入方式定时的时间精度为1秒钟。
秒钟的置入电路分钟的置入电路二、智能光电定时器硬件设计1.电路图智能光电定时器电路图智能光电定时器PCB图2. 光电传感器光电传感器的作用主要是将光信号转换为电信号,它是一种利用光敏器件作为检测元件的传感器。
下面介绍一些常用的光电器件:光敏电阻和发光二极管以及光耦合器光敏电阻(一)光敏电阻的工作原理光敏电阻是用光电导体制成的光电器件(即PC器件),又称光导管,它是基于半导体光电效应工作的。
光敏电阻的灵敏度易受潮湿的影响,因此要将光电导体严密封装在带有玻璃的壳体中。
光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电气信息学院课程设计任务书课题名称基于单片机的定时器设计姓名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、设计要求:1)设计方案要合理、正确;2)系统硬件设计;3)系统软件设计及调试;4)系统联调;5)写出设计报告。
二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。
周五进行答辩和设计结果检查。
三、参考文献1)《微型计算机原理及应用》许立梓编机械工业出版社 20022)《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 20003)《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 20004)《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社20005)《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 20016)《微型计算机接口技术》邓亚平编清华大学出版社 20017)《单片机原理及及应用》王迎旭编机械工业出版社 20018)《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 20029)《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002目录第1章系统概述................................................................ 错误!未定义书签。
1.1定时器简介 ...................................................................... 错误!未定义书签。
1.2设计内容及要求 .............................................................. 错误!未定义书签。
第2章系统方案设计 ........................................................ 错误!未定义书签。
2.1 系统硬件方案设计 ......................................................... 错误!未定义书签。
2.2 系统软件方案设计 (2)第3章系统软件设计 (3)3.1主控芯片AT89C52 (3)3.2振荡电路设计 (3)3.3复位电路设计 (4)3.4 按键电路设计 (4)3.5 显示电路设计 (5)3.6 报警电路设计 (6)第4章系统软件设计....................................................... 错误!未定义书签。
4.1键盘程序设计 (7)4.2定时程序设计 ................................ 错误!未定义书签。
4.3数码管显示程序设计 (9)4.4报警程序设计 (9)第5章系统调试 (10)5.1程序下载 (10)5.2实物调试 .......................................................................... 错误!未定义书签。
设计总结 . (13)附录A实物图 (14)附录B电路图 (15)附录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.1系统硬件方案设计系统的组成原理框图如图2.1所示,定时器在硬件部分应该具有振荡电路、复位电路、按键电路、显示电路、报警电路,从而实现定时器的操作和执行。
此定时器设计具有的功能为:1.1-60分钟可调倒数计时并报警。
2.5分钟倒数计时并报警。
3.20分钟倒数计时并报警。
4.60分钟倒数计时并报警。
图2.1 系统的组成原理框图2.2系统软件方案设计本系统软件方案设计由主程序模块、数码管显示程序模块、按键程序模块、播放音乐程序和延时程序模块等组成。
主程序主要完成定时器初始化,显示数值,检查有无按键按下、报警程序等等。
系统程序结构图如图2.2所示:图2.2 系统程序结构图3.1主控芯片AT89C52AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM ),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,AT89C52单片机在电子行业中有着广泛的应用。
图3.1 AT89C52芯片管脚图3.2振荡电路设计在MCS-51芯片内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成一个稳定的自激振荡器,如图3-2所示:C1C2图3.2 振荡电路复位操作有上电复位和按键手动复位两种方式。
上电自动复位是通过外部复位的电容来实现的,其电路如图4-5所示。
只要电源cc v的上升时间不超过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 蜂鸣器第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 初值计算定时器初始化程序如下void system_Ini(){TMOD = 0x01;TH0 = 0xee;TL0 = 0x00;IE = 0x8A;TR0 = 1;}中断响应程序如下,循环200次后为定时一秒,LedNumVal减一,到时间后一直执行beep();报警程序。
void T0zd(void) interrupt 1{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控制数码管位选,采用动态显示,先选定数码管,将数据对应显示,延时后进行下一位数码管选定,重复程序直至四位数码管显示完毕。
void DigDisplay1(){unsigned int j;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报警程序设计当到时间后,一直执行蜂鸣器程序,并将数码管显示 - - - - 图形,代表已到时间。