基于单片机的定时器设计.
单片机定时器毕业设计(论文)
![单片机定时器毕业设计(论文)](https://img.taocdn.com/s3/m/e7dbaf014a7302768e99393d.png)
毕业设计毕业设计题目:学生学号:学生姓名:所在系(部):专业及班级:指导教师:完成日期:《电气自动化》专业毕业设计任务书课题名称:定时系统课题类型:模拟课题设计的目的:(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单片机定时闹钟设计
![基于AT89C51单片机定时闹钟设计](https://img.taocdn.com/s3/m/5189b250de80d4d8d05a4f2e.png)
塔里木大学信息工程学院《单片机原理与外围电路》课程论文题目:单片机定时闹钟设计姓名:海热古丽·依马木学号:**********班级:计算机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单片机的定时闹钟的设计](https://img.taocdn.com/s3/m/c8045fe885254b35eefdc8d376eeaeaad1f31612.png)
基于at89c51单片机的定时闹钟的设计本文介绍了基于AT89C51单片机的定时闹钟的设计。
文章将探讨设计目的和背景,并着重阐述定时闹钟的实现原理和功能。
本文档将介绍基于at89c51单片机的定时闹钟的硬件设计要点,包括电源、显示器、按键等组件选择和连接方式。
电源选择与连接在设计定时闹钟的硬件方案时,选择合适的电源是非常重要的。
以下是一些电源选择和连接的要点:使用稳定可靠的电源模块,例如直流电源模块,以确保单片机工作的稳定性。
将电源模块的正负极连接到at89c51单片机的VCC和GND引脚上。
注意电源的电压和电流要符合at89c51单片机的工作要求。
显示器选择与连接显示器是定时闹钟中显示时间和其他信息的重要组件。
以下是一些显示器选择和连接的要点:考虑使用液晶显示器 (LCD) 或数码管作为显示器,这些显示器可以清晰地显示数字和字符。
根据设计需求,选择合适的显示器尺寸和类型。
将显示器的控制引脚与at89c51单片机的相应引脚连接,以实现时间和信息的显示。
按键选择与连接按键是控制定时闹钟设置和功能的重要组件。
以下是一些按键选择和连接的要点:选择合适的按键类型,例如触摸按键或机械按键。
根据设计需求,确定所需的按键数量和布局。
将按键的引脚连接到at89c51单片机的GPIO引脚,以接收按键输入并实现相应的功能。
上述是基于at89c51单片机的定时闹钟的硬件设计要点,通过合理选择和连接电源、显示器和按键等组件,可以确保定时闹钟的稳定运行和正常功能。
本文将阐述基于at89c51单片机的定时闹钟的软件设计要点,包括如下内容:定时器的设置:使用at89c51单片机的定时器来实现定时功能,可以通过对定时器寄存器的设置来调整定时的时间间隔。
中断处理:在定时器到达设定的时间间隔时,通过中断处理来触发相应的操作。
可以通过设定中断优先级来确保定时器中断的可靠性。
闹钟功能的实现:通过软件算法和控制电路,将定时器和中断处理结合起来实现闹钟功能。
基于MCS-51单片机的多点定时器设计
![基于MCS-51单片机的多点定时器设计](https://img.taocdn.com/s3/m/522543f5c8d376eeaeaa311d.png)
为了保证逻辑 系统本身的可靠性以及完备性 , 厂爪以及 需要满足一定 的约束条件。任意给定两 个逻辑 系统 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单片机的多路数字定时抢答器设计
![基于80C52单片机的多路数字定时抢答器设计](https://img.taocdn.com/s3/m/c81182fb6294dd88d0d26bd7.png)
课程设计任务书学生姓名: 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
![基于单片机设计定时器CH451](https://img.taocdn.com/s3/m/7cc9bdea19e8b8f67c1cb955.png)
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。
利用单片机的定时器设计一个数字时钟
![利用单片机的定时器设计一个数字时钟](https://img.taocdn.com/s3/m/839f4384ba4cf7ec4afe04a1b0717fd5360cb2bc.png)
利用单片机的定时器设计一个数字时钟数字时钟是我们日常生活中常见的计时工具,可以准确地显示当前的时间。
而单片机的定时器则可以提供精准的定时功能,因此可以利用单片机的定时器来设计一个数字时钟。
本文将介绍如何使用单片机的定时器来设计一个基于数字显示的时钟,并提供基本的代码实现。
一、时钟电路设计利用单片机设计一个数字时钟,首先需要设计一个合适的时钟电路。
时钟电路一般由电源电路、晶振电路、单片机复位电路和显示电路组成。
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计时到达设定时间时的操作,例如更新时钟显示。
单片机智能的定时器设计毕业设计
![单片机智能的定时器设计毕业设计](https://img.taocdn.com/s3/m/dfa4b83e172ded630a1cb63d.png)
.目录一、课程设计任务书 (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器件),又称光导管,它是基于半导体光电效应工作的。
光敏电阻的灵敏度易受潮湿的影响,因此要将光电导体严密封装在带有玻璃的壳体中。
光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。
基于单片机的定时器设计
![基于单片机的定时器设计](https://img.taocdn.com/s3/m/2c618ad5dc88d0d233d4b14e852458fb770b389d.png)
基于单片机的定时器设计1.引言定时器是一种非常常见的电子设备,用于测量和控制时间。
在嵌入式系统中,定时器通常由单片机来实现。
单片机是一种高度集成的微型计算机,拥有处理器、存储器和输入输出设备。
本文将介绍基于单片机的定时器设计,并进行详细探讨。
2.单片机定时器的概念单片机定时器是单片机内部的一个功能模块,用于生成定时的脉冲信号。
通过控制定时器的设置,可以实现各种不同的定时功能,如时间测量、延时控制、周期性信号生成等。
在控制系统中,定时器的应用广泛,对于实时控制和时间精度要求较高的场景尤为重要。
3.单片机定时器的工作原理单片机定时器通常由计数器和预分频器组成。
计数器用于计数,每计数到一个特定的值,就会产生一个中断或输出脉冲。
预分频器用于控制计数器的计数速度,通过调整预分频器的设置,可以实现不同的计数速度和定时周期。
4.单片机定时器的应用单片机定时器广泛应用于各种场景中,如通信设备、工业自动化、仪器仪表等。
在通信设备中,定时器用于生成各种调制解调信号、时钟信号等。
在工业自动化中,定时器用于周期性的控制任务,如定时采样、定时测量等。
在仪器仪表中,定时器用于测量和显示时间,并和其他功能模块进行协调。
5.单片机定时器的设计要点在进行单片机定时器设计时,需要注意以下几个要点:5.1确定定时器的应用需求根据实际的应用需求,选择适当的定时器类型和工作模式。
不同类型的单片机定时器提供了不同的功能和参数设置,需要根据具体的应用场景进行选择。
5.2设置定时器的计数值和预分频器根据应用的时间精度要求和计数周期,设置合适的计数值和预分频器。
计数值和预分频器之间存在一定的数学关系,需要进行计算和调整。
5.3配置定时器的工作模式和中断根据应用的实际需要,选择合适的定时器工作模式和中断方式。
定时器可以工作在单次触发模式和周期性触发模式,可以选择中断方式或输出脉冲方式。
5.4编写相应的程序控制定时器通过单片机的编程,用相应的指令和函数来控制定时器的工作。
基于单片机实现的定时器设计
![基于单片机实现的定时器设计](https://img.taocdn.com/s3/m/1d69485178563c1ec5da50e2524de518974bd37f.png)
基于单片机实现的定时器设计一、定时器的基本原理定时器的核心思想是通过对时钟信号进行计数来实现定时功能。
在单片机中,通常使用内部的计数器来完成这一任务。
计数器会在每个时钟周期内递增或递减,当计数值达到预设值时,就会产生定时中断或触发相应的输出。
为了实现准确的定时,需要考虑时钟源的精度和稳定性。
单片机的时钟源可以是内部振荡器,也可以是外部晶振。
外部晶振通常能够提供更高的精度和稳定性,但会增加硬件成本和设计复杂度。
二、单片机的选择在选择用于实现定时器的单片机时,需要考虑多个因素。
首先是单片机的性能,包括处理速度、存储容量和接口资源等。
其次是成本和开发难度,对于一些简单的定时应用,可以选择成本较低、开发容易的单片机;而对于复杂的系统,则可能需要性能更强的单片机。
常见的单片机系列如 51 单片机、STM32 单片机等都具备实现定时器的能力。
51 单片机是经典的 8 位单片机,具有简单易用的特点;STM32 单片机则是 32 位单片机,功能更为强大,适用于更复杂的应用场景。
三、硬件设计硬件设计主要包括单片机最小系统的搭建和定时器相关的外围电路。
单片机最小系统通常包括电源电路、复位电路和时钟电路。
电源电路为单片机提供稳定的工作电压,复位电路用于在系统启动时将单片机初始化到一个已知状态,时钟电路则为单片机提供时钟信号。
对于定时器的外围电路,如果需要输出定时信号来控制外部设备,可以添加驱动电路和接口电路。
例如,如果要控制一个电机的转动时间,可以使用继电器或晶体管来驱动电机,并通过单片机的 GPIO 口与驱动电路连接。
四、软件设计软件设计是实现定时器功能的关键部分。
首先需要对单片机进行初始化,包括设置时钟源、配置定时器的工作模式和预分频系数等。
定时器的工作模式通常有多种选择,如定时模式、计数模式等。
在定时模式下,可以设置定时器的定时周期;在计数模式下,可以通过外部脉冲来控制计数值。
预分频系数用于对时钟信号进行分频,以实现不同精度的定时。
基于单片机的定时器设计汇编
![基于单片机的定时器设计汇编](https://img.taocdn.com/s3/m/3324cf7daaea998fcd220e52.png)
基于单片机的定时器设计摘要:生活处处都有单片机,家里的所有电器只要是智能控制的都是单片机控制、现在智能手机中arm处理器也是一种高级单片机。
本文是对实时控制中的,实时显示这一功能进行进一步的研究。
实时控制系统,相对于其他的控制系统,最重要的一点就是实时。
文中的实时,指的是对时间的显示。
时间的显示包括对时、分的显示。
这些时间的显示,可以按照自己的需求进行进一步的设定。
这个实时系统,可以是通过串口接收的上位机,接收上位机中的信号,根据需求来进行时间的显示,帮助系统实现实时的效果。
同时,它可进行时间的独立显示。
利用STC89C51RC单片机作为本系统的中控模块。
上电后,按下功能键进入调时状态,通过各单元电路将按键部分设定的时间通过定时时间显示部分中的LED数码管显示出来。
中途可重新设置定时数值,复位部分除上电初实现复位外,也可人工复位。
关键词:实时;单片机;数码管;按键复位。
Based on single chip microcomputer timer designAbstract:Life is a single chip, all appliances at home as long as the intelligent control is now SCM control Intelligent mobile phone ARM processor is a kind of advanced single chip microcomputer.This article is in real-time control, real-time display this function for further studies. Real-time control system, relative to other control system, the most important thing is that in real time. In this paper, the real-time, refers to the display of time. The display includes pair, the display of the time. The display of the time, can according to your needs further. The real-time system, can be via a serial port to receive the upper machine, receiving signals in the PC, according to the demand for time display, help system to realize real time effect. At the same time, it can be independent of time.Using 89C51 microcontroller as the system control module. After power on, press the function key to transfer state, through each unit circuit timing LED digital display part of the display through the key part of the set time. You may re set the timer values, reset parts in addition to power up reset, the buttons can be reset at any time.Key Words : microcontrolle;digital tube;The Key to return.目录1引言 (1)1.1课题的来源和意义 (1)1.2定时器的应用 (1)1.3电子定时器的发展前景 (1)1.4 确定设计方案 (2)2 51单片机内部结构及计数原理 (2)2.1 51单片机内部机构 (2)2.2计数原理 (2)3 系统硬件配件设计 (4)3.1 芯片的选择 (4)3.2 交流控制接口电路 (5)3.3显示电路 (5)3.4 继电器 (5)3.5数码管 (6)4 硬件电路设计 (7)4.1 中继触发电路 (7)4.2继电器开关电路 (8)4.3时钟电路 (9)5 软件设计 (10)5.1 实现功能 (10)结论 (11)参考文献 (13)致谢 (14)附录1:程序 (15)附录2:系统仿真原理图 (21)1 引言我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。
基于单片机控制的智能定时闹钟方案设计书(含完整程序仿真图)
![基于单片机控制的智能定时闹钟方案设计书(含完整程序仿真图)](https://img.taocdn.com/s3/m/e1f9e82afab069dc51220162.png)
本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子定时闹钟。
电子钟设计可采用数字电路实现,也可以采用单片机来完成。
数字电子钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计时装置。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外,AT89C51的指令系统和引脚与8051完全兼容,片内有128B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进—步可以扩充控制电器的启停。
设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分的设计。
采用四个开关来控制定时闹钟的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。
课设准备中我根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真实验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。
设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续一分钟。
显示采用的六位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。
基于单片机的厨房定时器可预置分秒倒计时装置
![基于单片机的厨房定时器可预置分秒倒计时装置](https://img.taocdn.com/s3/m/6605fd87844769eae109ed67.png)
基于51单片机的厨房定时器设计报告学院:信息光电子科技学院专业:光电信息科学与工程年级:姓名:学号:一、设计报告概述日常生活中熬个汤、煮个蛋……都需要预定一定的时间,设计一个厨房定时器,用户预设倒计时的时长,启动后系统开始倒计时,当时间为0后,启动蜂鸣器报警。
本设计报告中的厨房定时器,是以单片机(STC89C52),四位七段数码管、按键开关和蜂鸣器等组成的综合设计系统电路。
上电,电源指示灯点亮,数码管显示为0000,用户可以通过按键开关预设定时时间,启动后系统开始倒计时,当时间为0后,蜂鸣器报警。
数码管显示分、秒,计时时间上限为99分钟,按键开关以10分钟或1分钟单位调整时间。
图1 系统设计结构图本系统组成如图1 系统设计结构图所示,主要由五个部分组成。
报警电路 (蜂鸣器)1.AT89C52单片机——控制芯片AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
图2 AT98C52引脚图2.时钟震荡电路AT89C52中有一个用于构成内部振荡器的高增益反相放大器,与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
如果使用石英晶体,电容使用30pF ±10pF,而如使用陶瓷谐振器建议选择40pF±10pF,可以使系统更稳定,避免噪音干扰而死机。
此设计采用的是12MHz的石英晶振。
基于单片机的智能定时器毕业设计
![基于单片机的智能定时器毕业设计](https://img.taocdn.com/s3/m/021f11a7ff00bed5b8f31d84.png)
毕业设计(论文)基于51单片机的智能定时控制器系统设计毕业设计(论文)任务书课题名称基于51单片机的智能定时控制器系统设计课题性质工程应用专业应用电子技术班级10电子(2)班学生姓名学号指导教师教研室主任系部主任发放日期一、课题条件:随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。
数字电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
二、毕业论文(设计)主要内容:1、时间显示:用4位数码管显示当前小时和分钟,秒功能用两LED灯代替(每秒闪烁一次)。
2、可手动设定时间。
3、开机流程:系统有红色和蓝色指示灯,上电10S内,每秒红色指示灯闪烁一次,并伴有蜂鸣声,作为开机/重启提醒,此时绿色指示灯灭。
10S后红色指示灯灭,若光线较强则绿色指示灯亮,若光线较弱则绿色指示灯亮度减半进入节能模式。
3、具有整点报时功能(四短一长),可自行设定报时时间段;三、计划进度:1. 资料的收集撰写开题报告6月20日至9月8日2. 方案设计9月9日至9月15日3. 电路的设计指标分析与确定;后期的电路优化元器件的选择与参数确定9月16日至11月2日4. 毕业设计论文的修改、完善11月3日至11月10日5. 毕业设计答辩11月15 日至11月20日四、主要参考文献:a)康光华主编.电子技术基础.北京:高等教育出版社,1999.6b)b)何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.07c)c)杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.06d)d)先锋工作室编著.单片机程序设计实例.北京:清华大学出版社.2003.01指导教师(系)教研室主任年月日年月日摘要本次设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由5V直流电源供电。
51单片机定时器设置
![51单片机定时器设置](https://img.taocdn.com/s3/m/de62469277eeaeaad1f34693daef5ef7ba0d12b1.png)
51单片机定时器设置51单片机,也被称为8051微控制器,是一种广泛应用的嵌入式系统。
它具有4个16位的定时器/计数器,可以用于实现定时、计数、脉冲生成等功能。
通过设置相应的控制位和计数初值,可以控制定时器的启动、停止和溢出等行为,从而实现精确的定时控制。
确定应用需求:首先需要明确应用的需求,包括需要定时的时间、计数的数量等。
根据需求选择合适的定时器型号和操作模式。
设置计数初值:根据需要的定时时间,计算出对应的计数初值。
计数初值需要根据定时器的位数和时钟频率进行计算。
设置控制位:控制位包括定时器控制寄存器(TCON)和中断控制寄存器(IE)。
通过设置控制位,可以控制定时器的启动、停止、溢出等行为,以及是否开启中断等功能。
编写程序代码:根据需求和应用场景,编写相应的程序代码。
程序代码需要包括初始化代码和主循环代码。
调试和测试:在完成设置和编程后,需要进行调试和测试。
可以通过观察定时器的状态和输出结果,检查定时器是否按照预期工作。
计数初值的计算要准确,否则会影响定时的精度。
控制位的设置要正确,否则会导致定时器无法正常工作。
需要考虑定时器的溢出情况,以及如何处理溢出中断。
需要考虑定时器的抗干扰能力,以及如何避免干扰对定时精度的影响。
需要根据具体应用场景进行优化,例如调整计数初值或控制位等,以达到更好的性能和精度。
51单片机的定时器是一个非常实用的功能模块,可以用于实现各种定时控制和计数操作。
在进行定时器设置时,需要注意计数初值的计算、控制位的设置、溢出处理以及抗干扰等问题。
同时需要根据具体应用场景进行优化,以达到更好的性能和精度。
在实际应用中,使用51单片机的定时器可以很方便地实现各种定时控制和计数操作,为嵌入式系统的开发提供了便利。
在嵌入式系统和微控制器领域,51单片机因其功能强大、使用广泛而备受。
其中,定时器中断功能是51单片机的重要特性之一,它为系统提供了高精度的定时和计数能力。
本文将详细介绍51单片机定时器中断的工作原理、配置和使用方法。
c语言单片机定时器计数器程序
![c语言单片机定时器计数器程序](https://img.taocdn.com/s3/m/c230e0700a4c2e3f5727a5e9856a561252d32124.png)
C语言单片机定时器计数器程序1. 简介C语言是一种被广泛应用于单片机编程的高级编程语言,它可以方便地操作单片机的各种硬件模块,包括定时器和计数器。
定时器和计数器是单片机中常用的功能模块,它们可以用来实现精确的时间控制和计数功能。
本文将介绍如何使用C语言编程实现单片机的定时器计数器程序。
2. 程序原理在单片机中,定时器和计数器通常是以寄存器的形式存在的。
通过对这些寄存器的操作,可以实现定时器的启动、停止、重载以及计数器的增加、减少等功能。
在C语言中,可以通过对这些寄存器的直接操作来实现对定时器和计数器的控制。
具体而言,可以使用C语言中的位操作和移位操作来对寄存器的各个位进行设置和清零,从而实现对定时器和计数器的控制。
3. 程序设计在编写单片机定时器计数器程序时,首先需要确定定时器的工作模式,包括定时模式和计数模式。
在定时模式下,定时器可以按照设定的时间间隔生成中断,从而实现定时功能;在计数模式下,定时器可以根据外部的脉冲信号进行计数。
根据不同的应用需求,可以选择不同的工作模式,并根据具体情况进行相应的配置。
4. 程序实现在C语言中,可以通过编写相应的函数来实现对定时器和计数器的控制。
需要定义相关的寄存器位置区域和位掩码,以便于程序对这些寄存器进行操作。
编写初始化定时器的函数、启动定时器的函数、停止定时器的函数、重载定时器的函数等。
通过这些函数的调用,可以实现对定时器的各种操作,从而实现定时和计数功能。
5. 示例代码以下是一个简单的单片机定时器计数器程序的示例代码:```c#include <reg52.h>sbit LED = P1^0; // 定义LED连接的引脚void InitTimer() // 初始化定时器{TMOD = 0x01; // 设置定时器0为工作在方式1TH0 = 0x3C; // 设置初值,定时50msTL0 = 0xAF;ET0 = 1; // 允许定时器0中断EA = 1; // 打开总中断void Timer0_ISR() interrupt 1 // 定时器0中断服务函数{LED = !LED; // 翻转LED状态TH0 = 0x3C; // 重新加载初值,定时50msTL0 = 0xAF;}void m本人n(){InitTimer(); // 初始化定时器while(1){}}```以上代码实现了一个简单的定时器中断程序,当定时器计数到50ms 时,会触发定时器中断,并翻转LED的状态。
- 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报警程序设计当到时间后,一直执行蜂鸣器程序,并将数码管显示 - - - - 图形,代表已到时间。