单片机定时器设计
- 格式:doc
- 大小:271.00 KB
- 文档页数:26
单片机定时器设计
一、设计原理
单片机定时器是通过计时寄存器来实现定时功能的。
一般来说,计时寄存器是一个16位的寄存器,存放的值从0x0000到0xFFFF之间。
定时器通过不断地递增计时寄存器的值,来实现定时的功能。
当计时寄存器达到预设的值时,会产生一个定时器中断信号,可以通过该中断信号来触发其他相关操作。
定时器工作的基本原理是通过外部晶振提供一个基准时钟,利用该时钟周期性地对计时寄存器进行递增。
根据外部晶振的频率,定时器的精度也会不同。
定时器的工作模式主要分为两种:定时工作模式和计数工作模式。
定时工作模式是指定时器在达到预设的值后产生中断,并重新开始计时。
计数工作模式是指定时器不断地计数,直到外部触发一个事件,产生中断并清零计时寄存器。
二、设计实例分析
1.设计一个1秒的定时器
2.设计一个毫秒级的定时器
3.设计一个按键消抖定时器
在按键输入中,为了避免按键的抖动,常常需要使用定时器来进行按键的消抖处理。
假设按键抖动时间为10ms,我们可以设置一个10ms的定时器,在定时器中断时检测按键状态,若按键状态稳定一致,则认定按键有效。
结语
单片机定时器是一种非常实用的功能模块,可以实现各种定时、测定、控制等功能。
本文通过给出了几个常见的定时器设计实例,并提供了相应
的计算公式,希望对读者有所帮助。
通过进一步学习和实践,读者可以更
加深入地理解和应用单片机定时器。
一、实验目的1. 理解单片机定时器的工作原理和功能。
2. 掌握单片机定时器的编程方法,包括初始化、设置定时时间、启动定时器等。
3. 学会使用定时器实现定时功能,并通过实验验证其效果。
二、实验器材1. 单片机实验板2. 连接线3. 51单片机4. 计时器5. 示波器6. 电脑7. Keil软件三、实验原理定时器是单片机的一种重要外设,用于实现定时功能。
51单片机内部有两个定时器,分别为定时器0和定时器1。
定时器的工作原理是通过定时器计数器对机器周期进行计数,当计数器达到设定值时,定时器溢出,并产生中断请求。
定时器0和定时器1都具有四种工作模式,分别为:1. 模式0:13位定时器/计数器2. 模式1:16位定时器/计数器3. 模式2:8位自动重装模式4. 模式3:两个8位计数器本实验采用定时器0工作在模式1,实现50ms的定时功能。
四、实验步骤1. 将单片机实验板连接到电脑,并启动Keil软件。
2. 创建一个新的项目,并添加51单片机头文件(reg51.h)。
3. 编写定时器初始化函数,设置定时器0工作在模式1,并设置定时时间为50ms。
4. 编写定时器中断服务函数,用于处理定时器溢出事件。
5. 编写主函数,设置定时器中断,并启动定时器。
6. 编译并下载程序到单片机实验板。
7. 使用示波器观察定时器0的溢出信号。
五、实验代码```c#include <reg51.h>#define TIMER0_MODE1 0x01// 定时器0初始化函数void Timer0_Init() {TMOD &= 0xF0; // 清除定时器0模式位TMOD |= TIMER0_MODE1; // 设置定时器0工作在模式1TH0 = 0xFC; // 设置定时器0高8位初值TL0 = 0x18; // 设置定时器0低8位初值ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}// 定时器0中断服务函数void Timer0_ISR() interrupt 1 {TH0 = 0xFC; // 重新加载定时器0高8位初值TL0 = 0x18; // 重新加载定时器0低8位初值// ... (其他处理)}void main() {Timer0_Init(); // 初始化定时器0while(1) {// ... (其他处理)}}```六、实验结果与分析1. 编译并下载程序到单片机实验板,使用示波器观察定时器0的溢出信号,可以看到定时器0每隔50ms产生一个溢出信号。
单片机系统的时钟与定时器设计原理详解引言:随着现代电子技术的快速发展,单片机在各个领域得到了广泛应用。
在单片机系统中,时钟和定时器是非常重要的组成部分。
时钟用来驱动整个单片机系统的节奏,而定时器用于实现各种时间相关的功能。
本文将详细解析单片机系统中时钟和定时器的设计原理。
一、时钟设计原理:在单片机系统中,时钟充当着同步整个系统操作的功能。
它是一个稳定可靠的信号源,用于指导单片机各个部件的工作。
时钟信号通常由晶体振荡器产生,通过芯片内部的倍频电路进行频率提升。
常见的时钟频率有4MHz、8MHz、16MHz等。
时钟的设计需要考虑以下几个方面:1. 稳定性:时钟信号必须具有高稳定性,以确保整个系统的正常运行。
通常使用石英晶体作为振荡器,由于石英晶体具有稳定频率的特性,因此可以提供可靠和精确的时钟信号。
2. 频率选择:时钟频率的选择应根据具体的应用需求进行。
较高频率的时钟可以提高系统的处理速度,但同时也会增加功耗。
因此,在设计时应合理选择适当的时钟频率。
3. 电源噪声:电源噪声对时钟信号的稳定性有很大影响。
为了减小电源噪声对时钟的干扰,可以采用电源滤波电路,提高时钟信号的抗干扰能力。
4. 时钟分频:有时候需要减小时钟频率用于驱动其他外设,可以通过时钟分频器来实现。
分频器可以将高频的时钟信号分频得到较低频率的时钟信号。
二、定时器设计原理:定时器在单片机系统中有着广泛的应用,可以实现延时、定时、脉冲生成等功能。
定时器通常由一个计数器和相关的控制逻辑组成。
定时器的设计需要考虑以下几个方面:1. 计数器选择:在选择定时器时,需要根据需求选择适当的计数器位数。
通常,8位计数器可以计数255个时间单位,16位计数器可以计数65535个时间单位。
计数器的位数越大,可以表示的时间范围就越大,但同时也会增加硬件成本和资源占用。
2. 定时器模式:定时器可以有不同的工作模式,如定时模式、脉冲计数模式等。
定时模式用于实现定时功能,脉冲计数模式用于计算脉冲的个数。
毕业设计毕业设计题目:学生学号:学生姓名:所在系(部):专业及班级:指导教师:完成日期:《电气自动化》专业毕业设计任务书课题名称:定时系统课题类型:模拟课题设计的目的:(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)闹铃器件的选择方案:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。
采用蜂鸣器闹铃结构简单,控制方便。
STC15F2K60S2单片机定时器编程一、STC15F2K60S2 单片机定时器概述STC15F2K60S2 单片机内部集成了 5 个定时器,分别是 2 个 16 位的定时器/计数器 T0 和 T1,2 个 8 位的定时器 T2 和 T3,以及 1 个独立波特率发生器定时器T4。
这些定时器都具有不同的特点和应用场景。
T0 和 T1 是传统的 16 位定时器/计数器,可以工作在定时模式和计数模式。
在定时模式下,通过设置定时器的初值和溢出周期,可以实现精确的定时功能;在计数模式下,可以对外部脉冲进行计数。
T2 和 T3 是 8 位定时器,具有自动重载功能,使用起来更加方便。
T4 是独立波特率发生器定时器,主要用于串行通信中的波特率设置。
二、定时器的工作模式1、定时模式在定时模式下,定时器对内部的系统时钟进行计数。
通过设置定时器的初值和溢出周期,可以实现不同时长的定时功能。
例如,如果系统时钟频率为 12MHz,要实现 1ms 的定时,我们可以计算出定时器的初值为 65536 1000,然后将初值写入定时器的寄存器中。
2、计数模式在计数模式下,定时器对外部引脚输入的脉冲进行计数。
当计数值达到设定的阈值时,产生溢出中断。
三、定时器的相关寄存器1、定时器控制寄存器(TCON)TCON 寄存器用于控制定时器的启动、停止、溢出标志等。
例如,TR0 和 TR1 位分别用于控制 T0 和 T1 的启动和停止,TF0 和 TF1 位则分别表示 T0 和 T1 的溢出标志。
2、定时器模式寄存器(TMOD)TMOD 寄存器用于设置定时器的工作模式和计数方式。
例如,可以通过设置 TMOD 寄存器的某些位来选择定时器是工作在定时模式还是计数模式,以及是 8 位模式还是 16 位模式。
3、定时器初值寄存器(TH0、TL0、TH1、TL1、TH2、TL2、TH3、TL3)这些寄存器用于存储定时器的初值。
在定时模式下,通过设置初值可以控制定时器的溢出周期;在计数模式下,初值则决定了计数的阈值。
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灯的控制。
单片机定时器的设计一、单片机定时器的基本原理单片机定时器是通过内部或外部时钟源产生固定时间间隔触发中断来实现的。
在单片机中,通常采用计数器的方式来实现定时器功能。
计数器在一次计数结束之后会自动从初始化值重新开始计数,并且触发中断。
因此,我们可以通过设置计数器的计数值和时钟源的频率来实现所需的定时功能。
二、单片机定时器的设计步骤要设计一个有效的单片机定时器,我们需要按照以下步骤进行操作。
1.确定所需的定时时长首先需要确定所需的定时时长,以便后续的计数器设置。
可以根据具体应用场景来确定定时时长,比如几毫秒、几十毫秒、几百毫秒等。
2.选择合适的计数器位宽计数器位宽决定了定时器能够计数的最大值。
通常,单片机提供的计数器位宽有8位、16位、32位等多种选择。
要根据所需的定时时长来选择合适的计数器位宽,确保可以覆盖所需的最大计数值。
3.设置计数器初始值计数器的初始值决定了定时器的倒计时开始值。
根据所需的定时时长和计数器的位宽,可以通过简单的计算得出计数器初始值。
同时,还需要考虑时钟源的频率是否与计数器的位宽匹配,以避免定时器溢出或计数不准确的问题。
4.配置定时器中断定时器中断是实现定时功能的核心部分。
在单片机中,定时器溢出时会产生中断,通过中断服务函数来处理定时器事件。
可以根据具体需求选择在时间到达时产生中断,还是定时一段时间后再产生中断。
三、单片机定时器的实现方法根据单片机的不同型号和架构,实现定时器的方法有所不同。
下面以常见的基于8051单片机的定时器实现为例进行说明。
1.选择定时器模式8051单片机中,定时器可以工作在16位定时器(Timer0和Timer1)和8位定时器(Timer2)两种模式下。
根据实际需求选择合适的定时器模式。
2.配置定时器控制寄存器定时器控制寄存器用于设置定时器的工作模式和时钟源。
根据实际需求,设置定时器模式、计数器位宽、时钟源等参数。
3.设置计数器初始值设置计数器初始值,使定时器开始倒计时。
利用单片机的定时器设计一个数字时钟数字时钟是我们日常生活中常见的计时工具,可以准确地显示当前的时间。
而单片机的定时器则可以提供精准的定时功能,因此可以利用单片机的定时器来设计一个数字时钟。
本文将介绍如何使用单片机的定时器来设计一个基于数字显示的时钟,并提供基本的代码实现。
一、时钟电路设计利用单片机设计一个数字时钟,首先需要设计一个合适的时钟电路。
时钟电路一般由电源电路、晶振电路、单片机复位电路和显示电路组成。
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器件),又称光导管,它是基于半导体光电效应工作的。
光敏电阻的灵敏度易受潮湿的影响,因此要将光电导体严密封装在带有玻璃的壳体中。
光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。
摘要摘要随着时代的进步,电子行业的发展,定时器的应用也越来越广泛,单片机以其强大的功能,成为许多功能电子产品的首选。
本次电子定时器电路根据设计要求采用AT89C51单片机来实现最大99秒倒计时,采用两位数码管显示。
文章的核心主要是硬件介绍及连接和软件编程两个大的方面。
硬件电路主要包括AT89C51、晶振电路、数码管,发光二级管,按键。
软件用汇编语言实现,主要包括主程序、倒计时、重启控制程序等软件模块。
采用软硬件配合基本能实现设定定时时间倒计时功能,达到了设计的要求和目的。
并在Proteus软件上进行了仿真和调试。
关键词 AT89C51单片机;定时器;倒计时目录摘要……………………………………………………………………………………………第一章绪论.........................................................1.1定时器的发展.................................................1.2 电子定时器的应用...............................................1.3选题的目的和意义................................................1.4 本章小结第二章单片机的基础知识 (3)2.1单片机简介 (3)2.2单片机的特点 (3)2.3 本章小节第三章功能实现及硬件介绍 (4)3.1 设计功能实现 (4)3.2 C51单片机引脚介绍 (9)3.3时钟和复位电路3.4数码管显示 (10)3.5键盘 (12)3.6电气原理图………………………………………………………3.7本章小结第四章软件设计 (15)4.1 程序流程图 (15)4.2定时1秒设计 (16)4.3重新启动 (17)4.4程序 (17)4.5 本章小结结论................................................................ 参考文献............................................................ 致谢.........................................................................第一章绪论1.1定时器的发展人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。
传统的定时器都是使用发条驱动式、电机传动式、电钟式等机械定时器。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的备个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
电子定时器相对传统定时器来说体积小,重量轻,造价低,精度高,寿命长,而且安全可靠适用于频繁使用,在各个领域得到了广泛的应用。
使相当多需要人控制时间的工作变得简单了许多。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方而发展,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在己能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
1.2电子定时器的应用电子定时器大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备甚至各种定时电气的自动启用等。
电子定时器经常用于延时自动关机、定时。
延时自动关机可用于电视机、催眠器、路灯及其他电器的延时断电及延时自停电源等。
定时可用于照相定时曝光,定时闪光,定时放大,水位定时报警,延时电铃,延时电子锁等,人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。
电子定时器影响着人类的生产和生活,随着电子技术的发展,电子定时器也在不断的进步,将朝着更高精度,更多用途的方向为我们服务。
1.3 选题的的目的和意义定时器与生活联系密切,我们亲身体会到它存在的价值,通过课程设计自己亲自完成电子定时器的简单设计不仅可以将学到的理论知识应用于实践,更提高了我们思考问题,解决问题的能力,同时提高我们的学习兴趣。
1.4 本章小结本章小结:本章主要介绍了定时器的现状,让我们对电子定时器的有了初步的了解,为进一步设计及研究奠定了基础。
第二章单片机的相关知识2.1单片机简介单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。
从应用领域来看,单片机主要用来控制,所以又称为微控制器(Micrucontroller Unit)或嵌入式控制器。
单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。
2.2单片机的特点l. 单片机的存储器ROM和RAM是严格区分的。
RAM称为程序存储器,只存放程序,固定常数,及数据表格。
RAM则为数据存储器,用作工作区及存放用户数据。
2. 采用面向控制的指令系统。
为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。
3. 单片机的I/O通常是多功能的。
由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。
2.3 本章小结通过对单片机总体的介绍,我们对单片机有了初步的认识,针对单片机的特点对其应用也有了更深的目的性。
第三章功能实现及硬件介绍3.1设计功能介绍P1.0 定时开始, P1.1 时间调整, P1.2 重新启动首先初始状态显示00,按下P1.1所连按键进行时间加1操作,设定好后按下P1.0所连按键倒计时开始,当所设定时间到达时显示00,二极管发光。
系统总体框图3.2 C51单片机引脚介绍一、89C51的性能及特点89C51的主要性能包括:①与MCS-51微控制器产品系列兼容。
②片内有4KB可在线重复编程的快闪擦写存储器(FLASH MDMORY)。
③存储器可循环写入/擦除1000次。
④存储数据保存时间为10年。
⑤宽工作电压范围:VCC可为2.7~6V。
⑥全静态工作:可从0HZ到16MHZ。
⑦程序存储器具有3级加密保护。
⑧128×8位内部RAM。
⑨32条可编程I/O线。
⑩两个16位定时器/计数器。
中断结构具有5个中断源和2个优先级。
可编程全双工串行通道。
空闲状态维持低功耗和掉电状态保存存储内容。
(2)、AT89C51硬件结构及引脚MCS-51系列单片机采用40引脚双列直插式封装(DIP),4个并行口共有32根引脚,可分别作为地址线、数据线和I/O线2根电源线2根时钟震荡电路引脚和4根控制线。
1.电源引脚Vcc和VssVss:接地端。
Vcc:芯片+5V电源端。
2.时钟信号引脚XTAL1和XTAL2XTAL1、XTAL2:当使用单片机内部震荡电路时,用来外接石英晶体和微调电容,XTAL1是片内震荡电路反相放大器的输入端,XTAL2是片内震荡电路反相放大器的输出端,震荡电路的频率就是晶体的固有频率。
当使用外部时钟时,XTAL1接地,XTAL2接外部时钟信号源。
3.控制信号引脚RST/VPD 、ALE/PROG ————、PSEN ————和EA ——/VPPRST/VPD :RST 是复位信号输入端。
当输入的复位信号保持两个机器周期(24个时钟周期)以上的高电平时有效,用来完成复位操作第二功能VPD作为备用电源输入端,当主电源VCC 发生故障,电压降低到低电平规定值时,可通过VPD 为单片机内部RAM 提供电源,以保护片内RAM 中的信息不丢失,使系统在上电后能继续正常运行。
ALE/PROG ————:ALE 为地址锁存允许输出信号。
在访问外部存储器时,ALE用来锁存P0口扩展低8位地址的控制信号。
在不访问外部存储器时,ALE也以时钟震荡频率的1/6的固定频率输出,因而它又可用作对外输出时钟信号或其他需要,例如可以用示波器查看ALE 是否有脉冲信号输出来确定89C51芯片的好坏第二功能PROG ————是对内部有EPROM 的单片机的EPROM 编程时编程脉冲输入端,它和31号引脚的第二功能Vpp 一起使用。
PSEN ————:外部ROM 的读选通信号输出端。
在访问外部ROM 时,PSEN ————产生负脉冲作为读外部ROM 的选通信号。
而在访问外部RAM 或片内ROM 时,不会产生有效PSEN ————信号。
EA ——/VPP:EA ——是访问外部ROM 的控制信号。
当EA ——为低电平时,CPU 只执行外部ROM 中的程序。
当EA ——为高电平且PC 值小于0FFF(4K)时,CPU 执行内部ROM 的程序,但当PC 的值超出4K 时将自动转去执行片外ROM 的程序。
对于无片内ROM 的8031或不使用内部ROM 的89C51,需外扩EPROM ,此时EA ——必须接地第二种功能VPP 是对8751的片内EPROM 的+21V 编程电源输入端。
4.P0~P3口结构及功能(1)P0口由一个输出锁存器、一个转换开关MUX 、两个三态输入缓冲器、输出驱动电路和一个与门及一个反相器组成,如图2-2所示。
图2-2 P0口位结构图P0口具有两种功能:第一,P0口可以用作通用I/O接口;第二,P0口可以用作地址/数据总线。
(2)P1口是由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成,驱动电路内部设有上拉电阻,如图2-3所示。
图2-3 P1口位结构图P1口是51单片机唯一的单功能口,是通用的准双向I/O口。
(3)P2口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个反相器组成,如图2-4所示。
图2-4 P2口位结构图P2口共有两个功能:第一个功能与上述两组引脚的第一功能相同,即可用作通用I/O口;它的第二功能与P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位。
(4)P3口由一个输出锁存器、三个三态输入缓冲器、输出驱动电路和一个与非门组成,如图2-5所示。
图2-5 P3口位结构图P3口有两个功能:第一个功能与其余三个端口的第一功能相同;第二功能做控制用,每个引脚的功能不同:P3.0——RXD:串行口接收数据输入端P3.1——TXD:串行口发送数据输出端P3.2——INT0:外部中断申请输入端0P3.3——INT1:外部中断申请输入端1P3.4——T0:外部计数脉冲输入端0P3.5——T1:外部计数脉冲输入端1P3.6——WR:写外设控制信号输出端P3.7——RD:读外设控制信号输出端3.3 时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。