单片机定时器设计
单片机 第五章2 单片机的定时器计数器

若晶振频率为6MHz,1个机器周期为1/6 x 10-6 x12=2μs 则最小定时时间为:[213 –(213 -1)]x2μs=2μs 最大定时时间为:[213 –0] x2μs=16384μs =16.384ms
2、 方式1 (T1,T0) 当M1M0两位为 01时,定时 /计数器被选为工作方式 1,16位计数器,其逻辑结构 如图 所示。
8FH TCON TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
TF1(TCON.7, 8FH位)----定时器T1中断请求溢出标志位。 TF0(TCON.5, 8DH位)----定时器T0中断请求溢出标志位。 TR1(TCON.6, 8EH位)----T1运行控制位。 0:关闭T1;1:启动T1运行。只由软件置位或清零。 TR0(TCON.4, 8CH位)----T0运行控制位。 0:关闭T0;1:启动T0运行。只由软件置位或清零。
1、 方式0 (T1,T0)
当 M1M0两位为 00时,定时 /计数器被选为工作方式 0, 13位计数器,其逻辑结 构如图所示。
振荡器 ÷12 C/ T = 0 TL0 低5位 C/ T = 1 控制 T0 端 TR0 GATE INT0 端 TH0 高8 位 TF0 中断
+
在方式0下,计数工作方式时,计数值的范围是: 1~8192(213 ) 定时工作方式时,定时时间的计算公式为: (213一计数初值)×晶振周期×12 或(213一计数初值)×机器周期
例4:用定时器l 以工作方式2计数,每计100次进行累计器加1操作.
(1)计算计数初值. 28—100=156D=9CH TH1=9CH,TL1=9CH TMOD寄存器初始化:MlM0=10,C/T=1,GATE=0 因此 TMOD=60H (2)程序设计序设计
51单片机定时器工作方式

51单片机定时器工作方式51单片机是一种非常常见的单片机,它具有多个定时器用来实现各种定时任务。
下面我们就来详细介绍一下51单片机的定时器工作方式。
首先,51单片机的定时器可以分为两种类型:定时/计数器0(T0)和定时/计数器1(T1),它们分别有不同的工作方式和控制寄存器。
一、定时/计数器0(T0)工作方式:定时/计数器0(T0)是一个8位的定时器/计数器,它可以进行定时或计数操作。
在定时模式下,它可以作为定时器在规定的时间段内进行计时;在计数模式下,它可以根据外部信号的脉冲计数。
在定时模式下,T0可以通过设置控制寄存器TCON的位4(TR0)来启动或停止计时操作。
当TR0为1时,定时器开始计时;当TR0为0时,定时器停止计时。
定时器的工作频率可以通过控制寄存器TMOD的位1和位0来设置。
在计数模式下,T0可以通过设置TCON的位5(CT0)来选择定时器或计数器操作。
当CT0为0时,定时器工作,当CT0为1时,计数器工作。
同时,在计数模式下,还需要通过设置控制寄存器TMOD的位1和位0来设置计数器的工作频率。
定时/计数器0还可以使用中断功能,通过设置控制器IE的位4(ET0)来开启或关闭中断。
当ET0为1时,当定时器溢出时会产生中断请求,可以在中断服务程序中处理相应的操作。
二、定时/计数器1(T1)工作方式:定时/计数器1(T1)也是一个8位的定时器/计数器,它可以进行定时或计数操作。
类似于T0,T1也可以在定时模式下作为定时器进行计时,或者在计数模式下根据外部信号的脉冲进行计数。
在定时模式下,T1可以通过设置TCON的位6(TR1)来启动或停止计时操作。
当TR1为1时,定时器开始计时;当TR1为0时,定时器停止计时。
定时器的工作频率可以通过设置TMOD的位3和位2来设置。
在计数模式下,T1可以通过设置TCON的位7(CT1)来选择定时器或计数器操作。
当CT1为0时,定时器工作;当CT1为1时,计数器工作。
51单片机定时器计数器详解

51单⽚机定时器计数器详解第六章定时器/计数器6.1 定时器的结构及⼯作原理6.2 定时器的控制6.3 定时器的⼯作模式及其应⽤第六章定时器/计数器实现定时⼀般有多种⽅法:1. 利⽤软件实现(延时程序)优点:简单,控制⽅便;缺点:CPU效率低。
2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率⾼;缺点:修改参数⿇烦。
3. 利⽤计数器实现输⼊脉冲定时器/计数器作⽤主要包括产⽣各种时标间隔、记录外部事件的数量等,是单⽚机中最常⽤、最基本的部件之⼀。
外来脉冲定时计数定时器/计数器功能⽰意图6.1 定时器/计数器的结构及⼯作原理6.1.1 定时器/计数器的基本结构MCS-51单⽚机有⼆个定时器/计数器,每个定时器/计数器由⼏个专⽤寄存器组成。
TMOD(89H )⾼四位TMOD(89H )低四位⽅式寄存器TCON(88H)TCON(88H)控制寄存器*8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)定时器T1定时器T0定时器/计数器的结构如下图所⽰。
定时器/计数器的基本结构框图申请P3.5or P3.4or 8DH 8BH8CH 8AH6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图INTx P3.YGATE :门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5⼀. 对外部输⼊信号的计数功能当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。
若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。
所以计数器计数的频率最⾼为fosc 的1/24。
BDEHT H >1个机器周期T L >1个机器周期L⼆. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。
INTx P3.Y例如:晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。
单片机 定时器实现24小时时钟程序

#include <reg51.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit LS138A = P2^2; //定义138译码器的输入A脚由P2.2控制sbit LS138B = P2^3; //定义138译码器的输入脚B由P2.3控制sbit LS138C = P2^4; //定义138译码器的输入脚C由sbit k1=P2^0;sbit k2=P2^1 ;sbit k3=P2^5;bit flag;uchar sec=0,min=0,hour=12;uchar count_10ms, DelayCNT;int m=1;//此表为LED 的字模, 共阴数码管0-9 -unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};void delay(uint z){int x,y;for(x=z;x>0;x--)for(y=20;y>0;y--) ;}void timer(){TMOD=0x01;TH0=0xdc;TL0=0x00;EA=1;ET0=1;TR0=1;}void key(){ int t;if(k1==0){delay(30);if(k1==0){ while(!k1);t++;m=t%2;}}}/************主函数**********************/ main(){ unsigned int i ;unsigned int LedOut[10];timer();while(1) //进入循环状态{if(m==0){if(k2==0){delay(30);if(k2==0)while(!k2);hour++;}if(hour>=24)hour=0;if(k3==0){delay(30);if(k3==0)while(!k3);min++;}if(min>=60)min=0;}LedOut[0]=Disp_Tab[hour/10];LedOut[1]=Disp_Tab[hour%10];LedOut[2]=Disp_Tab[10];LedOut[3]=Disp_Tab[min/10];LedOut[4]=Disp_Tab[min%10];LedOut[5]=Disp_Tab[10];LedOut[6]=Disp_Tab[sec/10];LedOut[7]=Disp_Tab[sec%10];for( i=0; i<9; i++) //实现8位动态扫描循环{P0 = LedOut[i]; //将字模送到P0口显示switch(i) //使用switch 语句控制位选也可以是用查表的方式学员可以试着自己修改{case 0:LS138A=0; LS138B=0; LS138C=0; break;case 1:LS138A=1; LS138B=0; LS138C=0; break;case 2:LS138A=0; LS138B=1; LS138C=0; break;case 3:LS138A=1; LS138B=1; LS138C=0; break;case 4:LS138A=0; LS138B=0; LS138C=1; break;case 5:LS138A=1; LS138B=0; LS138C=1; break;case 6:LS138A=0; LS138B=1; LS138C=1; break;case 7:LS138A=1; LS138B=1; LS138C=1; break;}delay(10);}}}void timer1() interrupt 1 // 中断函数{TH0=0xdc;TH0=0x00;key();if(m){{count_10ms++;}if(count_10ms==10){count_10ms=0;sec++;if(sec>=60){sec=0;min++;if(min>=60){min=0;hour++;if(hour>=24){hour=0;sec=0;min=0;}}}}}}。
80C51单片机的定时计数器

80C51单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式1.定时器/计数器的工作方式0<1)电路逻辑结构当图6-7中的计数器=13位<TH的8位与TL低5位)即得方式0的逻辑电路图。
<2)工作方式0的特点①两个定时器/计数器T0、T1均可在方式0下工作;②是13位的计数结构,其计数器由TH全部8位和TL的低5位构成<高3位不用);③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
应说明的是,方式0采用13位计数器是为了与早期的产品兼容,计数初值的高8位和低5位的确定比较麻烦,所以在实际应用中常由16位的方式1取代。
2.定时器/计数器的工作方式1<1)电路逻辑结构方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。
其逻辑电路如图6-11所示。
<2)工作方式1的特点①两个定时器/计数器均可在方式1下工作;②是16位的计数结构,其计数器由TH的全部8位和TL的全部8位构成;③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
<3)计数/定时的范围在方式1下,当为计数工作方式时,由于是16位的计数结构,所以计数范围是:1~65536。
当为定时工作时,其定时时间=<216-计数初值)×机器周期,例如:设单片机的晶振频率f=12MHz,则机器周期为1μs,从而定时范围:1μs~65536μs。
因为80C51单片机的定时计数器是可编程的。
因此,在利用定时/计数器进行定时计数之前,先要通过软件对他进行初始化,初始化一般应进行如下工作:①设置工作方式,即设置TMOD中的各位GATE、C/T、M1M0。
②计算加1计数器的计数初值COUNT,并将计数初值COUNT 送入TH、TL中。
计数方式:计数值 = 2n – COUNT ,计数初值:COUNT= 2n –计数值。
单片机指令的时钟和定时器控制

单片机指令的时钟和定时器控制时钟和定时器控制是单片机中非常重要的功能模块。
单片机的时钟主要用于控制指令的执行过程,而定时器功能则可以实现精确的时间测量和任务调度。
本文将详细介绍单片机指令的时钟和定时器控制。
一、时钟控制在单片机中,时钟是指定时单元(Timer/Counter)的运行时钟。
时钟信号可以是外部晶振信号,也可以是由外部晶振经过分频电路产生的。
时钟信号的频率直接影响到单片机的运行速度和性能。
不同型号的单片机支持的最大工作频率不同,需要根据具体型号的手册来设置时钟频率。
时钟的分频系数可以通过内部的控制寄存器来设置,通常可以选择不同的分频因子来适应不同的应用需求。
在设置时钟的分频系数时,需要考虑到单片机的工作环境、外部设备的要求以及功耗等方面的因素。
在程序中,可以通过配置寄存器来设置时钟源、分频系数等参数。
常见的时钟源有外部晶振,内部振荡器等。
下面是一个简单的示例代码:```C#include <reg51.h>void main(){// 设置时钟源为外部晶振,分频系数为12TMOD = 0x01;TCON = 0x00;TH0 = 0x1A;TL0 = 0x1A;TR0 = 1;while(1){// 在这里编写其他的代码}}```在上面的示例代码中,通过设置TMOD寄存器来配置定时器的工作模式。
TCON寄存器用于启动定时器,并设置定时器的计数初值。
最后通过设置TR0寄存器来启动定时器的计数。
二、定时器控制定时器是单片机中常用的功能模块之一,它可以根据设置的参数自动定时中断,并执行相应的处理函数。
定时器通常用于实现精确的时间测量、任务调度、脉冲计数等应用。
在单片机中,常见的定时器有定时器0和定时器1。
定时器0通常用于系统的时基控制和通信协议的实现,定时器1则通常用于编码器计数、PWM信号生成等应用。
定时器的工作原理是通过计数器的自动累加和溢出来实现的。
当定时器溢出时,会触发相应的中断,并执行中断处理函数。
51单片机定时器产生pwm波的程序
51单片机定时器产生pwm波的程序PWM(Pulse Width Modulation)是一种调节脉冲信号宽度的技术,通过改变信号的高电平时间和低电平时间的比例来控制输出电压的大小。
在很多应用中,PWM技术被广泛应用于电机控制、LED调光、音频放大器等领域。
在使用51单片机生成PWM波之前,我们首先需要了解51单片机的定时器的工作原理。
51单片机内部集成了多个定时器,其中最常用的是定时器0和定时器1。
这两个定时器都是16位的,可以通过设定定时器的计数值和工作模式来控制定时器的工作。
在使用定时器0和定时器1生成PWM波之前,我们还需要明确一些概念。
占空比是指高电平时间与一个周期的比值,通常用百分比表示。
频率是指一个周期的时间,单位是赫兹(Hz)。
接下来我们以定时器1为例,介绍如何在51单片机上生成PWM波。
我们需要设置定时器1的工作模式。
定时器1的工作模式分为两种:8位自动重装载模式和16位工作模式。
在8位自动重装载模式下,定时器1的计数器值从0到255,然后自动重装载为初始值,重复计数。
在16位工作模式下,定时器1的计数器值从0到65535,然后自动重装载为初始值,重复计数。
在生成PWM波时,我们通常使用16位工作模式。
我们需要设置定时器1的计数值。
定时器1的计数值决定了PWM波的频率。
计数值越大,频率越低;计数值越小,频率越高。
我们可以根据具体的应用需求来设定计数值。
然后,我们需要设置定时器1的占空比。
占空比决定了PWM波的高电平时间与低电平时间的比例。
占空比为50%时,高电平时间和低电平时间相等;占空比小于50%时,低电平时间多于高电平时间;占空比大于50%时,高电平时间多于低电平时间。
我们可以通过改变定时器1的占空比来控制PWM波的输出电压的大小。
我们需要启动定时器1开始工作。
定时器1开始工作后,会自动根据设定的计数值和占空比生成相应的PWM波。
使用51单片机定时器生成PWM波的步骤如下:1. 设置定时器1的工作模式为16位工作模式;2. 设定定时器1的计数值,确定PWM波的频率;3. 设定定时器1的占空比,确定PWM波的输出电压的大小;4. 启动定时器1开始工作。
51单片机定时器计数器汇编实验报告
批阅长沙理工大学实验报告年级光电班号姓名同组姓名实验日期月日指导教师签字:批阅老师签字:内容一、实验目的四、实验方法及步骤二、实验原理五、实验记录及数据处理三、实验仪器六、误差分析及问题讨论单片机定时器/计数器实验一、实验目的1、掌握51单片机定时器/计数器的基本结构。
2、掌握定时器/计数器的原理及编程方法。
二、实验仪器1、装有keil软件的电脑2、单片机开发板三、实验原理51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。
若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构成。
方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。
四、实验内容1、计算计数初值单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。
设待求计数初值为x,则:(2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。
二进制表示为:00010101 10100000B。
十六进制为:高八位(15H),低八位(A0H)。
2、设置相关控制寄存器TMOD设置为xxxx0001B3、程序设计ORG 0000HAJMP MAINORG 30HMAIN: MOV P1,#0FFH ;关闭所有灯ANL TMOD,#0F0H ;置定时器0工作方式1ORL TMOD,#01H ;不影响T1的工作MOV TH0,#15H ;设置计数初始值MOV TL0,#0A0HSETB EA ;CPU开中断SETB ET0 ;定时器0开中断SETB TR0 ;定时器开始运行LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTPAJMP LOOP ;然跳转到LOOP处运行INTP: MOV TH0,#15H ;重新设置计数初值MOV TL0,#0A0HCPL P1.0 ;输出取反AJMP LOOPEND AJMP LOOPEND4、实验仿真新建工程项目文件中,并为工程选择目标器件为AT公司的AT89S51。
《STM定时器》PPT课件
立即加载计数器
更新事件时加载计数器
控制寄存器:TIMx_CR1
控制寄存器:TIMx_CR1
控制寄存器:TIMx_CR1
寄存器操作编程
void Timer3_Init(u16 arr,u16 psc) { RCC->APB1ENR |= 1 << 1; TIM3->ARR = arr;//设置重装载值 TIM3->PSC = psc;//设置分频系数 TIM3->DIER |= 1 << 0;//允许更新中断 TIM3->DIER |= 1 << 6;//允许TIME中断 TIM3->CR1 |= 1 << 0; MY_NVIC_Init(3,3,TIM3_IRQChannel,2); }
第4组:所有4位用来配置响应优先级。即16种中断向量具有都不相同的响应 优先级。
STM32中断的配置方法
第一步 定义一个中断配置结构体变量
NVIC_InitTypeDef NVIC_InitStructure;
第二步 建立中断优先级配置组
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_ 1);
其属性编号越小,优先级别越高
若内核正在执行C的中断服务函数,则它能被抢占优先级更高的中断A打断,由 于B和C的抢占优先级相同,所以C不能被B打断。但如果B和C中断是同时到达的, 内核就会首先响应响应优先级别更高的B中断。
抢占优先级和响应优先级的数量由一个4位的数字来决定。
第0组:所有4位用来配置抢占优先级,即NVIC配置的24 =16种中断向量都是只有抢 占属性,没有响应属性。
向下计数模式:计数器从设定的数值开始向下计数到0,然后自动从设定的 数值重新向下计数,并产生一个向下溢出事件。
单片机时间控制器设计
第 2 期 1
S IN E&T C N L G N O M TO CE C E H O O YIF R A I N
0机械 与电子 。
科技信息
单片机时间控制器设计
叶雯静 刘 婷 ( 庆机 械 电子高级 技工 学校 中国 重庆 重
4 00 ) 0 0 0
【 摘 耍】 单片机由于体积小、 重量轻 ; 电源单一、 功耗低 ; 功能强 、 价格低 ; 全部 集成在 一块芯 片上 , 布线短、 合理 ; 据大 多在单 片机 内传 数 送、 运行 速 度 快 、 干 扰 能 力 强 、 靠性 高等 特 点 , 广 泛 用 于 测控 系 统 、 能仪 器仪 表 、 电一 体 化 产 品 、 能 接 口 、 片机 多机 系统 以及 人 类 抗 可 被 智 机 智 单
图 1 系统 组 成 图
为 了 实 现 多 路 定 时功 能 , 件 中 设 置 了两 路 , 路 为 8组 的相 同 软 每 的时 间 计数 器 。 路每 组 定 时 器 可 以 独 立 计 时 , 立 输 出定 时 信 号 。 每 独 实 现 了 2路 开 关 8组 时 间 定 时 控 制 。
生 活 中的 家 电控 制 等 领 域 。 本设 计 是 以单 片机 为 核 心 , 成控 制 器 , 够 在 设 定 的 时 间 到达 后 控 制 两路 开 关 的 接 通 与 断 开 , 路 开 关 可设 置 八 构 能 每
路时间, 时间长度 可通过按键 设定的一 个应 用实例。通过开发实验和现场应 用证明, 本设计方案性能 良好, 工作 可靠, 并且操作简单、 实施 方便,
根 据 任 务 要求 为 了 实 现 以 单 片机 为 核 心 , 成 控 制 器 , 够 在 设 构 能 定 的时 间到 达 后控 制 两 路 开 关 的 接 通 与 断 开 . 路 开 关 可设 置 八 路 时 每
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机技术课程设计 第 1 页 共 20 页 第一章 绪论 1.1.1单片机的介绍 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
1.1.2单片机的应用 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机技术课程设计 第 2 页 共 20 页 单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域 1.2多功能家用定时器 1.2.1多功能家用定时器的概述 人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。 1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。 定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变
得简单了许多,家用电器都安装了定时器来控制开关或工作时间。 1.2.2多功能家用定时器的功能与实现步骤 1. 能够调整数字钟、定时开启、关闭时间的显示 当时间分别显示小时、分钟状态时,按11键,实现将当前显示的小时或分钟减1;按12键时,实现将当前显示的小时或分钟加1。 2. 能过实现三路定时 通过按10键来选择显示的时间。从而实现三路定时的开启与关闭,实现三路定时功能。 3. 既能够实现按键输值,也可用加减键来对其调时 当在小时状态时,不管是在数字钟还是定时状态,都可以通过按键来对其调时,同时此时如果觉得时间按错还可以通过加减键进行调整时间。 4. 能够时间倒计时的秒表功能 当一开始接通是,显示的是60秒倒计时功能,这一功能有助于对准确时间更好的把握。 5. 能够显示今天心情 当在时钟状态时,按加减键,可显示出今天心情。如果按减号键时,显示sad,并且LED灯全灭;如果按加号键时,显示fine,并且灯全亮。 单片机技术课程设计 第 3 页 共 20 页 第二章 系统电路设计 2.1 系统总体设计框架结构
总体结构图如下:
图2.1总体结构图 按键输入电路:对定时器输入定时时间、时钟时间,并对其调整。 时钟电路:给单片机一个时钟信号,让其工作。 复位电路:使单片机为初始状态,并从初态开始工作。 LED显示电路:表明定时器的工作状态。 数码管显示电路:显示数字钟时间或定时时间或心情。 继电器电路:是用较小的电流去控制较大电流的一种“自动开关”。
2.2 系统硬件单元电路设计 2.2.1 时钟电路设计 时钟电路对单片机是不可缺的,单片机的每个功能都要以时钟电路为基础工作。单片机内部自带一个时钟电路,外部接入定时控制元件即可构成一个稳定的自激振荡器。其中机器周期共有12个振荡脉冲周期,因此,机器周期是时钟周期的12倍。本实验中时钟电路中使用的晶体是12MHz,则时钟周期为(1/12)us,机器周期为1us。实验图如下:
单片机 按键输入 电路 时钟电路 复位电路 蜂鸣器电路 数码管显示电路 继电器电路 LED显示电路 单片机技术课程设计
第 4 页 共 20 页 时钟电路图:
图2.2时钟电路图 2.2.2 复位电路设计 复位操作有上电自动复位、按键电平复位和外部脉冲复位三钟方式,本次实验用的是按键电平复位,利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。电路图如下: 复位电路图:
图2.2按键电平复位
2.2.3按键电路设计 本课题要用数码管显示数字钟、定时时间。这就需要键盘来设定,键盘可以分为独立连接式和矩阵式。本实验用的是矩阵式。为了减少所以的I/O口,利用三——八译码器来实现12个键盘的连接。 对于这种矩阵式的键盘连接,扫描时依次将行线置为低电平,即在置某根行线为低电平时,其它都线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。注意在按键时一定要调延时子程序来消除抖动。矩阵式键盘如下所示: 单片机技术课程设计 第 5 页 共 20 页 按键电路图: SHIFT10112233+11445566-12778899
L1L1L1L1L1L1L0L0L0L0L0L0Y0Y1Y2Y3Y4Y5Y0Y1Y2Y3Y4Y5 图2.3按键电路 2.2.4 LED显示电路设计 本次实验中要用发光二极管显示状态。由下图知发光二极管阴极以经接地,当其阳极为高电平时,二极管就发光显示所处状态。 LED显示电路图:
P1.1R32kQ29013D3LEDL1L3R62kR72kR102kD5LEDD6LEDD7LEDQ49013Q59013Q69013P1.4P1.5P1.6L4L5P1.2R42k
Q39013
D4
LED
R82k
D2LEDQ7
9013
P1.3
L2L6
R92k
D8LEDQ8
9013
P1.7L7
图2.4 LED显示电路图 2.2.5 数码管显示电路设计 实验中所用的数码管为共阴极数码管,当给其引脚加入高电平时,数码管中对应的那一段就亮。图2.6为外部显示图,其内部结构如下: 单片机技术课程设计 第 6 页 共 20 页 图2.5共阴极数码管内部结构
图2.6共阴极数码管显示 2.2.6 继电器电路设计 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
图2.7继电器电路 单片机技术课程设计
第 7 页 共 20 页 2.3系统硬件总电路 总电路图由时钟电路、复位电路、继电器电路、键盘电路、LED显示电路、数码管显示电路组成来实现定时功能。其中四个数码管为共阴极的数码管。74LS138为3—8译码器,74LS07为输出缓冲器,74LS00为与非门,7805为三端稳压器,电容的作用基本都是滤波来减少噪声对实验的影响。 电路图如下:
VCCVCCVCCVCCY0Y1Y2Y3Y0Y1Y2F3VCCViVCCRSTRSTP1.0P1.0P1.1P1.1P1.2P1.2VCCVCCVCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1O1O2O3O4O5O6O7P0.7ALE/PSENP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P1.3P1.4P1.5P1.6P1.7P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL1XTAL2P3.0ALE/PSENP2.7P2.6P2.5P2.4P2.3P2.1P2.0P2.2P2.1P2.0O1O2O3O4O5O6O7Y0Y1Y2Y3Y4Y5F0F1F2Y3VCCO1O2O3O4O5O6O7O1O2O3O4O5O6O7O1O2O3O4O5O6O7O1O2O3O4O5O6O7F1F3F0F2P3.3P2.1P2.0VCCVCC1234567891011121314151617181920J3CON201234567891011121314151617181920J4CON20A11B12Y13A24B25Y26GND7Y38B39A310Y411B412A413VCC14JP174LS00A1B2C3/G2A4/G2B5G16Y77GND8Y69Y510Y411Y312Y213Y114Y015VCC16JP474LM138P1.01P0.138P1.12P0.237P1.23P0.336P1.34P0.435P1.45P0.534P1.56P0.633P1.67P0.732P1.78/EA31RST9ALE30P3.010/PSEN29P3.111P2.728P3.212P2.627P3.313P0.039P3.414P2.526P3.515VCC40P3.616P2.425P3.717P2.324XTAL218P2.223XTAL119P2.122VSS20P2.021JP289S5112J5CON2C120pfC220pfC30.ufC40.1ufC60.1ufC70.1ufC80.1ufC910ufC1010ufRSTSW-PBS1SW-PBS2SW-PBS3SW-PBS4SW-PBS5SW-PBS6SW-PBS7SW-PBS8SW-PBS9SW-PBS10SW-PBS11SW-PBS12SW-PBR210KR32kR42kR12kQ19013Q29013Q39013Y112MK1RELAY-SPDT12345678J10.33KabfcgdeDPY1234567edcomcdpba8comdpf9g10DS1DPY_7-SEG_DPabfcgdeDPY1234567edcomcdpba8comdpf9g10DS3DPY_7-SEG_DPabfcgdeDPY1234567edcomcdpba8comdpf9g10DS4DPY_7-SEG_DPabfcgdeDPY1234567edcomcdpba8comdpf9g10