基于单片机实现的定时器设计
单片机定时器设计
单片机定时器设计
一、设计原理
单片机定时器是通过计时寄存器来实现定时功能的。
一般来说,计时寄存器是一个16位的寄存器,存放的值从0x0000到0xFFFF之间。
定时器通过不断地递增计时寄存器的值,来实现定时的功能。
当计时寄存器达到预设的值时,会产生一个定时器中断信号,可以通过该中断信号来触发其他相关操作。
定时器工作的基本原理是通过外部晶振提供一个基准时钟,利用该时钟周期性地对计时寄存器进行递增。
根据外部晶振的频率,定时器的精度也会不同。
定时器的工作模式主要分为两种:定时工作模式和计数工作模式。
定时工作模式是指定时器在达到预设的值后产生中断,并重新开始计时。
计数工作模式是指定时器不断地计数,直到外部触发一个事件,产生中断并清零计时寄存器。
二、设计实例分析
1.设计一个1秒的定时器
2.设计一个毫秒级的定时器
3.设计一个按键消抖定时器
在按键输入中,为了避免按键的抖动,常常需要使用定时器来进行按键的消抖处理。
假设按键抖动时间为10ms,我们可以设置一个10ms的定时器,在定时器中断时检测按键状态,若按键状态稳定一致,则认定按键有效。
结语
单片机定时器是一种非常实用的功能模块,可以实现各种定时、测定、控制等功能。
本文通过给出了几个常见的定时器设计实例,并提供了相应
的计算公式,希望对读者有所帮助。
通过进一步学习和实践,读者可以更
加深入地理解和应用单片机定时器。
基于单片机的定时闹钟设计
基于单片机的定时闹钟设计设计定时闹钟是人们日常生活中常见的需求之一,而单片机技术的发展为定时闹钟的实现提供了可行的解决方案。
本文将介绍基于单片机的定时闹钟设计。
一、研究背景及意义在现代社会中,时间是人们日常生活中非常重要的一个因素。
为了更好地规划时间和提高生活效率,人们需要定时提醒自己进行各种活动。
闹钟作为定时提醒的工具,在人们的日常生活中扮演着不可替代的角色。
而基于单片机的定时闹钟实现具有高精度、多功能等优点,因此备受人们青睐。
二、技术方案设计本文设计的基于单片机的定时闹钟主要由三部分组成:时钟电路、单片机控制电路和显示电路。
1. 时钟电路时钟电路采用RTC芯片,可以提供高精度的时间计量。
RTC芯片内部自带晶振,保证了较高的时钟精度。
时钟电路主要功能为提供当前时间,包括小时、分钟和秒。
2. 单片机控制电路单片机控制电路是实现定时闹钟的核心部分。
程序流程如下:①初始化:单片机启动后,需要对RTC芯片和闹钟设定进行初始化,包括设定当前时间和设定闹钟时间。
②计时函数:单片机开启定时器,在每秒钟时钟信号来临时,计时器会进行一次计数。
③闹钟判断:单片机判断当前时间是否等于闹钟设定时间,如果相等,则触发闹钟事件,启动蜂鸣器提示。
④按键设置:单片机可以通过按键进行时间设置和闹钟设置,包括增加或减少小时、分钟和秒数,并将设置信息保存至RTC芯片内存中。
3. 显示电路显示电路采用数码管进行显示,使用单片机控制输出数据。
数码管分为小时显示、分钟显示和秒显示,可以满足不同的显示需求。
三、实验结果分析通过实验结果可以发现,本文设计的基于单片机的定时闹钟可以准确地显示时间和定时提醒。
同时,可以通过按键进行时间和闹钟的设置,并存储至RTC芯片内部,保证了时间和闹钟的持久性。
四、结论及展望基于单片机的定时闹钟设计具有实用性和可行性,可以提高人们生活的效率和品质。
然而,本设计在信号筛选和抗干扰能力方面还有一定的改进空间,需要通过更深入的研究来进一步完善。
单片机定时器毕业设计(论文)
毕业设计毕业设计题目:学生学号:学生姓名:所在系(部):专业及班级:指导教师:完成日期:《电气自动化》专业毕业设计任务书课题名称:定时系统课题类型:模拟课题设计的目的:(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单片机的定时器来实现定时功能,可以通过对定时器寄存器的设置来调整定时的时间间隔。
中断处理:在定时器到达设定的时间间隔时,通过中断处理来触发相应的操作。
可以通过设定中断优先级来确保定时器中断的可靠性。
闹钟功能的实现:通过软件算法和控制电路,将定时器和中断处理结合起来实现闹钟功能。
stm32单片机设计定时器中断实现1s的led灯闪烁知识应用
stm32单片机设计定时器中断实现1s的led灯闪烁知识应用要实现1s的LED灯闪烁,可以使用STM32单片机的定时器中断来控制LED的开关。
以下是实现的步骤:1. 配置定时器:选择一个定时器(如TIM2)并设置适当的预分频和计数值,以实现1s的定时周期。
2. 配置中断:使能定时器中断,并将中断优先级设置为适当的值(较高优先级)。
3. 初始化LED引脚:将LED引脚设置为输出,并初始化为高电平(LED关闭)。
4. 编写中断处理程序:在中断处理程序(如TIM2_IRQHandler)中,切换LED引脚的状态。
例如,如果LED引脚当前为高电平,则将其设置为低电平,反之亦然。
5. 启动定时器:启动定时器以开始定时。
整个步骤如下所示的代码示例:```c#include "stm32fxx.h"void TIM2_IRQHandler(void){if(TIM2->SR & TIM_SR_UIF){TIM2->SR &= ~TIM_SR_UIF; // 清除中断标志位// 切换LED引脚状态if(GPIOC->ODR & GPIO_ODR_ODR0)GPIOC->ODR &= ~GPIO_ODR_ODR0; // 关闭LEDelseGPIOC->ODR |= GPIO_ODR_ODR0; // 打开LED}}int main(){// 初始化LED引脚RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; // 使能GPIOC时钟GPIOC->MODER |= GPIO_MODER_MODER0_0; // 将PC0设置为输出模式GPIOC->OSPEEDR |= GPIO_OSPEEDR_OSPEED0; // 设置PC0输出速度// 配置定时器RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; // 使能TIM2时钟TIM2->PSC = 8399; // 将预分频设置为8400-1,得到10kHz 的计数频率TIM2->ARR = 9999; // 将计数值设置为10000-1,得到1s的定时周期// 配置中断TIM2->DIER |= TIM_DIER_UIE; // 使能更新中断NVIC_EnableIRQ(TIM2_IRQn); // 使能TIM2中断NVIC_SetPriority(TIM2_IRQn, 0); // 设置TIM2中断优先级为最高// 启动定时器TIM2->CR1 |= TIM_CR1_CEN; // 启动TIM2定时器while(1){// 程序主循环}return 0;}```以上代码使用了TIM2定时器和PC0引脚作为LED灯的控制。
基于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)
单片机定时器的设计
单片机定时器的设计一、单片机定时器的基本原理单片机定时器是通过内部或外部时钟源产生固定时间间隔触发中断来实现的。
在单片机中,通常采用计数器的方式来实现定时器功能。
计数器在一次计数结束之后会自动从初始化值重新开始计数,并且触发中断。
因此,我们可以通过设置计数器的计数值和时钟源的频率来实现所需的定时功能。
二、单片机定时器的设计步骤要设计一个有效的单片机定时器,我们需要按照以下步骤进行操作。
1.确定所需的定时时长首先需要确定所需的定时时长,以便后续的计数器设置。
可以根据具体应用场景来确定定时时长,比如几毫秒、几十毫秒、几百毫秒等。
2.选择合适的计数器位宽计数器位宽决定了定时器能够计数的最大值。
通常,单片机提供的计数器位宽有8位、16位、32位等多种选择。
要根据所需的定时时长来选择合适的计数器位宽,确保可以覆盖所需的最大计数值。
3.设置计数器初始值计数器的初始值决定了定时器的倒计时开始值。
根据所需的定时时长和计数器的位宽,可以通过简单的计算得出计数器初始值。
同时,还需要考虑时钟源的频率是否与计数器的位宽匹配,以避免定时器溢出或计数不准确的问题。
4.配置定时器中断定时器中断是实现定时功能的核心部分。
在单片机中,定时器溢出时会产生中断,通过中断服务函数来处理定时器事件。
可以根据具体需求选择在时间到达时产生中断,还是定时一段时间后再产生中断。
三、单片机定时器的实现方法根据单片机的不同型号和架构,实现定时器的方法有所不同。
下面以常见的基于8051单片机的定时器实现为例进行说明。
1.选择定时器模式8051单片机中,定时器可以工作在16位定时器(Timer0和Timer1)和8位定时器(Timer2)两种模式下。
根据实际需求选择合适的定时器模式。
2.配置定时器控制寄存器定时器控制寄存器用于设置定时器的工作模式和时钟源。
根据实际需求,设置定时器模式、计数器位宽、时钟源等参数。
3.设置计数器初始值设置计数器初始值,使定时器开始倒计时。
基于单片机设计定时器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.引言定时器是一种非常常见的电子设备,用于测量和控制时间。
在嵌入式系统中,定时器通常由单片机来实现。
单片机是一种高度集成的微型计算机,拥有处理器、存储器和输入输出设备。
本文将介绍基于单片机的定时器设计,并进行详细探讨。
2.单片机定时器的概念单片机定时器是单片机内部的一个功能模块,用于生成定时的脉冲信号。
通过控制定时器的设置,可以实现各种不同的定时功能,如时间测量、延时控制、周期性信号生成等。
在控制系统中,定时器的应用广泛,对于实时控制和时间精度要求较高的场景尤为重要。
3.单片机定时器的工作原理单片机定时器通常由计数器和预分频器组成。
计数器用于计数,每计数到一个特定的值,就会产生一个中断或输出脉冲。
预分频器用于控制计数器的计数速度,通过调整预分频器的设置,可以实现不同的计数速度和定时周期。
4.单片机定时器的应用单片机定时器广泛应用于各种场景中,如通信设备、工业自动化、仪器仪表等。
在通信设备中,定时器用于生成各种调制解调信号、时钟信号等。
在工业自动化中,定时器用于周期性的控制任务,如定时采样、定时测量等。
在仪器仪表中,定时器用于测量和显示时间,并和其他功能模块进行协调。
5.单片机定时器的设计要点在进行单片机定时器设计时,需要注意以下几个要点:5.1确定定时器的应用需求根据实际的应用需求,选择适当的定时器类型和工作模式。
不同类型的单片机定时器提供了不同的功能和参数设置,需要根据具体的应用场景进行选择。
5.2设置定时器的计数值和预分频器根据应用的时间精度要求和计数周期,设置合适的计数值和预分频器。
计数值和预分频器之间存在一定的数学关系,需要进行计算和调整。
5.3配置定时器的工作模式和中断根据应用的实际需要,选择合适的定时器工作模式和中断方式。
定时器可以工作在单次触发模式和周期性触发模式,可以选择中断方式或输出脉冲方式。
5.4编写相应的程序控制定时器通过单片机的编程,用相应的指令和函数来控制定时器的工作。
基于单片机实现的定时器设计
基于单片机实现的定时器设计一、定时器的基本原理定时器的核心思想是通过对时钟信号进行计数来实现定时功能。
在单片机中,通常使用内部的计数器来完成这一任务。
计数器会在每个时钟周期内递增或递减,当计数值达到预设值时,就会产生定时中断或触发相应的输出。
为了实现准确的定时,需要考虑时钟源的精度和稳定性。
单片机的时钟源可以是内部振荡器,也可以是外部晶振。
外部晶振通常能够提供更高的精度和稳定性,但会增加硬件成本和设计复杂度。
二、单片机的选择在选择用于实现定时器的单片机时,需要考虑多个因素。
首先是单片机的性能,包括处理速度、存储容量和接口资源等。
其次是成本和开发难度,对于一些简单的定时应用,可以选择成本较低、开发容易的单片机;而对于复杂的系统,则可能需要性能更强的单片机。
常见的单片机系列如 51 单片机、STM32 单片机等都具备实现定时器的能力。
51 单片机是经典的 8 位单片机,具有简单易用的特点;STM32 单片机则是 32 位单片机,功能更为强大,适用于更复杂的应用场景。
三、硬件设计硬件设计主要包括单片机最小系统的搭建和定时器相关的外围电路。
单片机最小系统通常包括电源电路、复位电路和时钟电路。
电源电路为单片机提供稳定的工作电压,复位电路用于在系统启动时将单片机初始化到一个已知状态,时钟电路则为单片机提供时钟信号。
对于定时器的外围电路,如果需要输出定时信号来控制外部设备,可以添加驱动电路和接口电路。
例如,如果要控制一个电机的转动时间,可以使用继电器或晶体管来驱动电机,并通过单片机的 GPIO 口与驱动电路连接。
四、软件设计软件设计是实现定时器功能的关键部分。
首先需要对单片机进行初始化,包括设置时钟源、配置定时器的工作模式和预分频系数等。
定时器的工作模式通常有多种选择,如定时模式、计数模式等。
在定时模式下,可以设置定时器的定时周期;在计数模式下,可以通过外部脉冲来控制计数值。
预分频系数用于对时钟信号进行分频,以实现不同精度的定时。
基于单片机的定时器设计汇编
基于单片机的定时器设计摘要:生活处处都有单片机,家里的所有电器只要是智能控制的都是单片机控制、现在智能手机中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 引言我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。
基于单片机控制的智能定时闹钟方案设计书(含完整程序仿真图)
本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子定时闹钟。
电子钟设计可采用数字电路实现,也可以采用单片机来完成。
数字电子钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计时装置。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外,AT89C51的指令系统和引脚与8051完全兼容,片内有128B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进—步可以扩充控制电器的启停。
设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分的设计。
采用四个开关来控制定时闹钟的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。
课设准备中我根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真实验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。
设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续一分钟。
显示采用的六位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。
基于单片机的厨房定时器可预置分秒倒计时装置
基于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的石英晶振。
基于单片机的智能定时器毕业设计
毕业设计(论文)基于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单片机定时器设置51单片机,也被称为8051微控制器,是一种广泛应用的嵌入式系统。
它具有4个16位的定时器/计数器,可以用于实现定时、计数、脉冲生成等功能。
通过设置相应的控制位和计数初值,可以控制定时器的启动、停止和溢出等行为,从而实现精确的定时控制。
确定应用需求:首先需要明确应用的需求,包括需要定时的时间、计数的数量等。
根据需求选择合适的定时器型号和操作模式。
设置计数初值:根据需要的定时时间,计算出对应的计数初值。
计数初值需要根据定时器的位数和时钟频率进行计算。
设置控制位:控制位包括定时器控制寄存器(TCON)和中断控制寄存器(IE)。
通过设置控制位,可以控制定时器的启动、停止、溢出等行为,以及是否开启中断等功能。
编写程序代码:根据需求和应用场景,编写相应的程序代码。
程序代码需要包括初始化代码和主循环代码。
调试和测试:在完成设置和编程后,需要进行调试和测试。
可以通过观察定时器的状态和输出结果,检查定时器是否按照预期工作。
计数初值的计算要准确,否则会影响定时的精度。
控制位的设置要正确,否则会导致定时器无法正常工作。
需要考虑定时器的溢出情况,以及如何处理溢出中断。
需要考虑定时器的抗干扰能力,以及如何避免干扰对定时精度的影响。
需要根据具体应用场景进行优化,例如调整计数初值或控制位等,以达到更好的性能和精度。
51单片机的定时器是一个非常实用的功能模块,可以用于实现各种定时控制和计数操作。
在进行定时器设置时,需要注意计数初值的计算、控制位的设置、溢出处理以及抗干扰等问题。
同时需要根据具体应用场景进行优化,以达到更好的性能和精度。
在实际应用中,使用51单片机的定时器可以很方便地实现各种定时控制和计数操作,为嵌入式系统的开发提供了便利。
在嵌入式系统和微控制器领域,51单片机因其功能强大、使用广泛而备受。
其中,定时器中断功能是51单片机的重要特性之一,它为系统提供了高精度的定时和计数能力。
本文将详细介绍51单片机定时器中断的工作原理、配置和使用方法。
基于51单片机定时器的电子时钟设计
基于51单片机定时器的电子时钟设计电子时钟是一种集计时、显示时间等功能于一体的电子设备。
它可以准确地显示当前的时间,并通过定时器控制乃至更新时间。
本文将介绍基于51单片机定时器的电子时钟设计。
设计步骤如下:步骤一:硬件设计首先,需要准备以下硬件元件:1.51单片机:作为主要控制单元;2.DS1302实时时钟芯片:用于计时和保存时间数据;3.16x2字符LCD显示屏:用于显示时间;4.4x4矩阵键盘:用于调整时间和设置闹钟;5.蜂鸣器:用于报时功能;6.电位器:用于调整LCD背光亮度。
将这些硬件元件按照电路图连接起来,注意正确连接引脚和电源。
步骤二:软件设计在51单片机上编写程序,实现以下功能:1.初始化:a.初始化DS1302实时时钟芯片,设置初始时间;b.初始化LCD显示屏;c.初始化矩阵键盘;2.获取时间:a.从DS1302芯片读取当前时间;3.显示时间:a.将时间数据转换为字符,并在LCD上显示出来;4.键盘输入:a.监测矩阵键盘输入,判断用户按下的是哪个键;b.根据不同的键,执行相应的操作,如设置时间、设置闹钟等;5.闹钟功能:a.设置闹钟时间,当当前时间与闹钟时间相同时,触发蜂鸣器报时;b.可以通过按键来设置闹钟时间和开启/关闭闹钟功能。
以上是基本的电子时钟功能,可以根据实际需求进行扩展和添加其他功能。
步骤三:测试与调试步骤四:优化与扩展在基本功能正常运行的基础上,可以对电子时钟进行优化和扩展。
添加一些实用的功能,如温湿度显示、日期显示、闹钟音乐选择等,以提高电子时钟的实用性和用户体验。
总结:本文介绍了基于51单片机定时器的电子时钟设计步骤,包括硬件设计和软件编程。
通过该设计,可以实现准确显示时间、调整时间、设置闹钟等功能。
为了使电子时钟更加实用,可以根据需要进行优化和扩展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章单片机的简介一个8位的80c51微处理器,片内256字节数据存储器RAM/SFR,用以存放可以读写的数据,如运算的中间结果,最终结果以及欲显示的数据;片内4kb程序存储器Flash ROM,用以存放程序,一些原始数据和表格;4个8位并行I/O 口P0~P3,每个端口既可用作输入,也可用作输出;两个16位的定时器/计数器,每个定时器/计数器都可设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或者定时的结果实现计算机控制;具有5个中断源,两个中断优先级的中断控制系统;一个全双工UART(通用异步接受发送器)的串行I/O口,用于实现单片机之间或者单片机与PC机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许震荡频率为24MHz;89c51与80c51相比具有节电工作方式,即休闲方式及掉电方式。
1.1中央处理器(CPU):CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。
1.1.1 运算器:运算器用来完成算术运算和逻辑运算功能,它是 89C51内部处理各种信息的主要部件。
运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。
算术逻辑单元(ALU): 89C51中的ALU由加法器和一个布尔处理器组成。
累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。
暂存寄存器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。
状态寄存器(PSW):PSW是一个8位标志寄存器,用来存放ALU操作结果的有关状态。
1.1.2控制器:控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。
控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。
程序计数器PC是专门用于存放现行指令的16位地址的。
CPU 就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令寄存器IR 进行分析。
指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。
指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。
定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。
1.1.3寄存器阵列:寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。
通用寄存器组用来存放过渡性的数据和地址,提高CPU的运行速度。
专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。
1.1.4存储器:89C51单片机内部有256个字节的RAM数据存储器和4KB的闪存程序存储器(Flash),当不够使用时,可分别扩展为64 KB外部RAM存储器和64 KB外部程序存储器。
它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。
这种结构的单片机称为哈佛型结构单片机。
程序存储器是可读不可写的,用于存放编好的程序和表格常数。
数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。
89C51单片机对外部电路进行控制或交换信息都是通过I/O端口进行的。
单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。
并行I/O端口:89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信息。
串行I/O端口:89C51有一个全双工的可编程串行I/O端口,它利用了P3口的第二功能,即将P3.1引脚作为串行数据的发送线TXD,将P3.0引脚作为串行数据的接收线RXD。
1.1.5 定时器/计数器:89C51内部有两个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1),T0和T1分别由两个8位寄存器构成,其中T0由TH0(高8位)和TL0(低8位)构成,T1由TH1(高8位)和TL1(低8位)构成。
TH0、TL0、TH1、TL1都是SFR 中的特殊功能寄存器。
T0和T1在TCON和TMOD的控制下可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。
当定时或计数溢出时还可申请中断。
1.1.6中断系统:单片机中的中断是指CPU暂停正在执行的原程序转而为中断源服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。
中断系统是指够处理上述中断过程所需要的部分电路。
89C51的中断系统由中断源、中断允许控制器IE 、中断优先级控制器IP 、定时器控制器TCON(中断标志寄存器)等构成,IE 、IP 、TCON 均为SFR 特殊功能寄存器(见表2.2)。
1.1.7内部总线:总线是用于传送信息的公共途径。
总线可分为数据总线、地址总线和控制总线。
单片机内的CPU 、存储器、I/O 接口等单元部件都是通过总线连接到一起的。
采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。
89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。
1.1.8 89C51单片机引脚及其功能:89C51有40条引脚,与其他51系列单片机引脚是兼容的。
这40条引脚可分为I/O 端口线、电源线、控制线、外接晶体线四部分。
其封装形式有两种:双列直插封装(DIP)形式和方形封装形式,如图所示。
12345678910111213141516171819204039383736353433323130292827262524232221(T 2)P1.0(T 2EX)P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST (RXD)P3.0(TXD)P3.1(T0)P3.4(T1)P3.5XTAL2XTAL1GND(TNT0)P3.2(TNT1)P3.3(WR)P3.6(RD)P3.7V C CP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)P2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)EA/V PPALE/PROG PSEN P1.5P1.6P1.7RST (RXD)P3.0NC (TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/V PP NCALE/PROG PSEN P2.7(A15)P2.6(A14)P2.5(A13)789101112131415161739383736353433323130291819202122232425262728P 1.4P 1.3P 1.2P 1.1(T 2E X )P 1.0(T 2)N C V C CP 0.0(A D 0)P 0.1(A D 1)P 0.2(A D 2)P 0.3(A D 3)(W R )P 3.6(R D )P 3.7X T A L 2X T A L 1G N D N C (A 8)P 2.0(A 9)P 2.1(A 10)P 2.2(A 11)P 2.3(A 12)P 2.46543214443424140(a)(b)(a) 双列直插式封装 (b) 方形封装图1 89C51封装和引脚分配图1.1.9 89C51单片机工作方式:单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。
复位的作用是使中央处理器CPU 以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
1.1.9.1 复位原理:89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST 引脚高电平两个机器周期,单片机即复位。
复位后,PC 程序计数器的内容为0000H ,其他特殊功能寄存器的复位状态如表2.5所示。
片内RAM 中内容不变。
1.1.9.2 常用复位电路:一般有上电复位、手动开关复位和自动复位电路三种,如图所示。
V CCRST V SS89C51+5 V C10 μF R 8.2 k ΩV CC RST V SS89C51+5 V C10 μF R 8.2 k ΩV CCRSTP1.089C51+5 VWDIMAX750WDO PESET10 k Ω10 μF 12(a)(b)(c)1 k Ω89C51(a)上电复位电路;(b) 手动复位电路;(c) 自动复位电路图2 单片机复位电路图1.1.9.3 89C51时钟电路:单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU 时序。
而产生这种基本节拍的电路就是振荡器和时钟电路。
89C51单片机内部有一个用于构成振荡器的单级反相放大器,如图所示。
图3 89C51内部振荡器电路图引脚XTAL1为反相器输入端,XTAL2为反相器输出端。
当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器,如下图所示。
内部时钟电路V CCQ2RfQ3Q4GNDXTAL2Q1D1D2R1XTAL1PD图4 内部振荡器等效电路图1.2 单片机的应用领域1.2.1 在智能仪器仪表的应用:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
1.2.2在家用电器中的应用:可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无内部时钟电路GNDXTAL1R1RfV CCC1C2XTAL2石英晶体或陶瓷振荡器(外部)PD所不在。
1.2.3在工业控制中的应用:用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
1.2.4在计算机网络和通信领域中的应用:现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。