#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar num1;
#pragma interrupt_handler miao:9//它所对应的位置
#pragma data:code//定义程序存在ROM里面
const uchar table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e
};
/***********************************************/
/*******************延时子程序******************/
/***********************************************/
void delay(uchar z)
{
uchar x,y;
for(x=0;x<255;x++)
for(y=0;y
}
/***********************************************/
/*******************显示子程序******************/
/***********************************************/
void xian(uchar num)
{
PORTA=table[num/10];//十位
PORTC&=~BIT(1);
delay(2);
PORTC|=BIT(1);
PORTA=table[num%10];//个位
PORTC&=~BIT(0);
delay(2);
PORTC|=BIT(0);
}
/***********************************************/
/*****************中断服务子程序***************/
/***********************************************/
void miao()
{
if(num1==60)
num1=0;
num1++;//将变量加1
TCNT1H=0XA4;//赋值高位
TCNT1L=0X71;//赋值低位
}
/***********************************************/
/*******************主程序*********************/
/***********************************************/
void main()
{
DDRA=0XFF;//设置PA口为输出方式
DDRC|=BIT(0)|BIT(1);//设置两位为输出方式
TCCR1B=0XA4;//设置256分频 6M晶体=6000000/256分频-65535化成16进制
TCNT1H=0X71;//给它高位赋值
TCNT1L=0XED;//给它低位赋值
TIMSK|=BIT(2);//打开定时器中断
SREG|=BIT(7);//打开总中断
while(1)
{
xian(num1);
}
}
关键字:AVR 单片机 定时器 计数
引用地址:
AVR单片机定时器计数
推荐阅读最新更新时间:2024-03-16 14:25
浅谈STC单片机特殊IO的用法
在正常情况下,51单片机在上电复位后,所有IO口默认都为高电平,都工作在准双向IO模式,但是STC15系列以后的单片机出现了IO的4种工作模式,一个带有复用功能的IO在上电复位后就会出现不是准双向IO模式的情况,这些引脚在使用时就需要我们多多关照啦。 1、PWM相关的引脚 在STC15系列单片机中,于PWM2到PWM7相关的12个IO,在上电复位后,默认为高阻输入模式,需要对外输出时,需要用户通过程序将其设置为推挽输出或者是准双向IO模式。 在STC8系列单片机中,和PWM相关的所有IO复位后是准双向IO模式,用户可以在通过ISP软件烧写(下载)程序时,选择将其设置为开漏输出模式,同样用户也可以通过程序的方式设置为所需要的工作
[单片机]
AT89S52单片机对洗衣机控制电路的设计
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在洗衣机得到广泛应用。参考电路如下图所示:
[单片机]
基于单片机的电子时钟设计
上图是Proteus仿真图,其中反相器用74lHC14,排阻用10K的,晶振用12MHZ的,电阻R1-R8用200欧的即可。但在实际制作时数码管可以用两个四位一体共阳极的,这样连接电路会更加方便。可以用三极管代替反相器,这样可以节约成本,但代替后无法用Proteus仿真出来,下图为代替后的图片,三极管用常用的9012或者9015即可,经本人实际验证效果非常好。 下图为原理图: 下图为实物图 以下为源程序 #include reg52.h #define uint unsigned int #define uchar unsigned char uchar code table ={
[单片机]
STM8S的TIM1定时器====总览
STM8S单片机内部集成了6个定时器模块,分别是高级控制型(TIM1)、通用型(TIM2、TIM3)和基本型(TIM4)。 高级控制型和通用型都是16位结构定时器,而基本定时器是8位结构。本文重点讲解TIM1类型定时器。 高级控制型定时器TIM1是STM8S208R单片机内部最强大的定时器,它是一个16位的自动装载计数器,可以实现向上、向下计数。计数的时钟可以软件选择片内系统时钟或外部时钟信号计数,并同过可编程的预分频器驱动。 TIM1定时器具有4个独立的捕捉/比较通道,可以实现基本的定时功能,测量输入信号的脉冲宽度、产生输出PWM波形功能。 TIM1带有互补输出、死区控制和中心对齐的PWM功能,可以应用与马达控制
[单片机]
松翰单片机数码管程序
;数码管 ---- 目的:学习查表及间接寻址 CHIP SN8F27E65 //{{SONIX_CODE_OPTION .Code_Option WDT_CLK Flosc/4 .Code_Option Reset_Pin P04 .Code_Option LVD LVD_Max ; 3.3V Reset .Code_Option Watch_Dog Disable .Code_Option Low_Fcpu Flosc/1 .Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator .Code_Option High_Fcpu Fhosc/1 .Code
[单片机]
基于MSP430单片机的颅内出血检测设备设计方案
1 引言 在中国有许多因创伤性颅脑损伤的患者急需抢救,但相当一部分颅内出血患者因未能及时诊断,延误了抢救和治疗时机.因而出现脑血肿或脑疝后压迫脑组织.使脑干和脑实质受到不可逆转的损伤。近红外颅内出血检测设备能在短时间内对颅内出血作出准确的判断.为是否实施CT/MRI检查提供指征。可以显著提高患者的成活几率及神经系统功能恢复.在临床上主要用于硬膜外出血(EDH)、硬膜下出血(SDH)、浅表脑实质出血等,其优点是快速、准确、无损伤,可以应用于急救中心、医院临床科室、监护病房ICU及野外战场等。但在国内还未见到关于此类设备的相关报道,国外比较成熟的设备主要是德国Oicrain公司生产的CRAINscan仪器,价格昂贵。我们根据血
[工业控制]
51单片机两种减法指令的用法介绍
1.带借位减法指令 SUBBA,Rn;(A)(A)-(Rn)-(C),以下类同。 SUBBA,direct SUBBA,@Ri SUBBA,#data 注意:减法之前先清零C,减法指令无不带借位减法指令。 2.减1指令 DECA;(A)(A)-1,以下类同。 DECRn DEC@Ri DECdirect 例、设(R0)=7FH,在内RAM中,(7EH)=00H,(7FH)=40H 执行:DEC@R0 DECR0 DEC@R0 结果为: (R0)= 7EH,(7EH)=0FFH,(7FH)=3FH。
[单片机]
单片机6位数电子密码锁源码+PCB+仿真原理图设计(可改密码
电子密码锁的电路原理图 Altium Designer画的原理图和PCB图如下: 密码锁仿真原理图如下 以下是一套单片机电子密码锁程序: /******************************************************************************* 初始密码:000000 密码位数:6位 注意:掉电后,所设密码会丢失,重新上电时,密码恢复为原始的000000 与P1.0相连的8位发光LED点亮代表锁被打开;熄灭代表锁被锁上 程序功能: 1、开锁: 下载程序后,直接按六次数字0(即代表密码000000),LED亮,锁被打开,
[单片机]