#include
#define uchar unsigned char
sbit P2_0 = P2^0;
sbit P2_1 = P2^1;
sbit P2_2 = P2^2;
sbit P2_3 = P2^3;
static unsigned char second,minute,hour;
unsigned int tcount;
unsigned char m;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90};
void delay(uchar i)
{
uchar j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void display()
{
P0=table[minute/10];
P2_0 = 0;
delay(5);
P2_0 = 1;
P0=(table[minute%10]& 0x7f);
P2_1 = 0;
delay(5);
P2_1 = 1;
P0=table[second/10];
P2_2 = 0;
delay(5);
P2_2 = 1;
P0=table[second%10];
P2_3 = 0;
delay(5);
P2_3 = 1;
}
/*演示主程序*/
void main(void)
{
unsigned int a;
TMOD=0x02;
TH0=0x06;
TL0=0x06;
TR0=1;
ET0=1;
EA=1;
while(1)
{
for(a=100;a>0;a--)
{
display();
}
}
}
/*
********************************************************************************
** 函数名称 : t0(void) interrupt 1 using 0
** 函数功能 : 定时器中断
********************************************************************************
*/
void t0(void) interrupt 1 using 0
{ tcount++;
if(tcount==4000)
{tcount=0;
second++;
if(second==60)
{second=0;
minute++;
if(minute==60)
{minute=0;
hour++;
if(hour==24)
{hour=0;
}
}
}
}
}
关键字:定时器 定时模拟 数字钟显示
引用地址:
定时器定时模拟数字钟显示
推荐阅读最新更新时间:2024-03-16 14:04
基于555定时器的D类耳机驱动器可作为理想的实用放大器
广受欢迎的555定时器可用作乐器或其他应用的PWM/D类放大器。其可在4.5V~16V的电源电压范围内工作,并可输出200mA的驱动电流。音频信号被传送至555定时器的CV( 控制电压)引脚。 本设计实例为耳机和音频线路提供两个简单、便宜的驱动器,分别如图1、图2所示。这两个驱动器针对电吉他和小提琴设计,但也可适用于更多其他应用。对于这样的简单应用而言,噪声和总谐波失真(THD)并不是重点考虑因素,因此并未对这两个数值进行测量。 图1:含运算放大器和NE555定时器的耳机和音频线路驱动器。也可以使用CMOS版本(如LMC555),但输出电流较低。其优点为工作频率较高。 下述为一些设计考虑因素: ●
[电源管理]
剖析STM32-定时器2
4. 常用库函数 定时器参数初始化: void TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct); 结构体内部成员: typedef struct { uint16_t TIM_Prescaler; uint16_t TIM_CounterMode; uint16_t TIM_Period; uint16_t TIM_ClockDivision; uint8_t TIM_RepetitionCounter; } TIM_TimeBaseInitTypeDef; 声明方式(一般
[单片机]
ARM之看门狗定时器——WDT
看门狗原理 看门狗原理上是一个定时器,定时器对脉冲进行计数,当定时溢出时,产生复位信号,使整个系统复位,看门狗的作用就是防止系统意外跑飞,而且在无人看守的状态下依然能够复位,正常运行 Exynos,4412处理器的看门狗模块,包括一个预分频因子、一个四分频的分频器和一个16位的计数器。输入时钟为PCLK,它经过两级分频(预分频和分频),将分频后的时钟作为该定时器的输入时钟。当计数器计满后可以产生中断或者复位信号,他的本质是一个磊减器,每放出一个矩形波,他就减一,当为0的时候,就会出现复位或者中断 寄存器的配置 //设置预分频值和分频,以及打开定时器 WTCON =(255 8)| (1 5)|(3 3)(1 2) //
[单片机]
STM32F4 TIMER定时器配置(二)
一. TIMER配置结构体 1. TIM_TimeBaseInitTypeDef 结构体 2. 计数方式TIM_CounterMode 3.中断服务函数 二. 定时器配置 1.开启定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIMx,ENABLE); 2. 配置定时器结构体 3. 配置NVIC结构体 详解NVIC笔记 4. 编写中断服务函数 5. 例 定时器3初始化函数 void timer_init(int Period,int Prescaler) { //使能时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_T
[单片机]
19课:单片机定时器、中断试验
我们在学单片机时我们第一个例程就是灯的闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机只能这样工作吗?当然不是,我们能用定时器来实现灯的闪烁的功能。 例1:查询方式 ORG 0000H AJMP START ORG 30H START: MOV P1,#0FFH ;关所 灯 MOV TMOD,#00000001B ;定时/计数器0工作于方式1 MOV TH0,#15H MOV TL0,#0A0H ;即数5536 SETB TR0 ;定时/计数器0开始运行 LOOP:JBC TF0,NEXT ;如果TF0等于1,则清TF0并转NEXT处 AJMP LOO
[单片机]
ATmega128 定时器/计时器振荡器
对于拥有定时器/ 振荡器引脚(TOSC1 和TOSC2) 的AVR 微处理器,晶体可以直接与这 两个引脚连接,无需外部电容。此振荡器针对32.768 kHz 的钟表晶体作了优化。不建议 在TOSC1 引脚输入振荡信号。
[单片机]
使用MAXQ系列微控制器中的定时器
本应用笔记描述了如何针对不同的应用设置和使用MAXQ™系列微控制器中的Type 2定时器。它包括供参考的源代码。 介绍 MAXQ系列微控制器有三种类型的定时器:定时器0、定时器1和定时器2。 MAXQ定时器0型是仿照许多0微型控制器上常见的定时器8051型。MAXQ定时器1类型仿照8051定时器2类型。大多数MAXQ产品都有一个新的定时器,称为定时器2,这是MAXQ系列独有的。本应用笔记详细介绍了如何为不同目的设置和使用这款新的定时器2,并附有一些源代码供参考。 概述 功能 定时器的三个主要用途是生成输出波形、对输入信号的转换进行计数(包括对系统时钟转换进行计数,从而起到定时器的作用)以及对输入信号进行计时。本节介绍使用计
[单片机]
C8051F与80C51系列单片机的不同初始化
1 引言 近30年来,世界各主要电子元器件生产厂商纷纷推出自己各具特色的单片机产品。而在百花齐放的单片机家族中,80C5l系列一直扮演着重要的角色。该单片机在教学、科研等领域已经成为入门单片机并成为单片机应用的首选,该产品以其易读性好、扩展能力强而著称,从而成为广大从事单片机开发者最熟悉、最具代表的机型。但人们往往在熟悉80C51单片机之后又选择别的系列单片机开发产品,这是因为80C51具有运算速度慢、功耗大、内部资源少等不足,所以限制了其使用范围。Cygnal公司推出的C805lF系列单片机既弥补了80C51系列的不足,又与MCS—5l指令集兼容。C805lFxxx系列单片机是完全集成的混合信号系统级芯片,具有与8051指令集
[单片机]