单片机
返回首页

AVR单片机定时器计数

2015-07-20 来源:51hei

#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); 
 }
}
进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • PIC单片机控制的遥控防盗报警器电路

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 如何构建一个触摸传感器电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章