基于tc2的实时时钟设计 AVR

发布者:EtherealGrace最新更新时间:2016-10-25 来源: eefocus关键字:tc2  实时时钟  AVR 手机看文章 扫描二维码
随时随地手机看文章
//***************FileName:RTC.C***************//

//***************ICCAVR V6.30编译*****************//

#include                  
#define uchar unsigned char
#define uint unsigned int

//数码管字型表,对应0,1,2,3,4,5,6,7,8,9//
uchar Table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar Data[4]={0,0,0,0};       //定义初始时间:00:00            
uchar CNT;                     //定义中断计数次数      
void DelayMs(uint i)           //Ms级延时,参数i为延时时间
{uint j;
for(;i!=0;i--)
{for(j=8000;j!=0;j--) {;}}
}

void Display(uchar *p)         //动态显示函数,参数p为待显示的数组名
{uchar i,sel=0x01;           
for(i=0;i<4;i++)
{PORTA=sel;                  //选通最右边的数码管
   PORTC=0xff-Table[p[i]];     //送字型码
   DelayMs(1);                 //显示延时    
   sel=sel<<1;                 //移位以显示前一位
}
}

void Init_IO(void)             //初始化I/O口
{DDRA=0xff;                    //设置A口为推挽1输出
PORTA=0xff;
DDRC=0xff;                    //设置C口为推挽1输出             
PORTC=0xff;
}

void Add_Second(uchar *p)
{p[3]++;
if(p[3]==10) {p[3]=0;p[2]++;}
if(p[2]==6) {p[2]=0;p[1]++;}
if(p[1]==10) {p[1]=0;p[0]++;}
if(p[0]==6) {p[0]=0;}
}

void main(void)
{uchar i;
Init_IO();                    //初始化I/O口
PORTA=0xff;                   //点亮以测试所有的数码管
PORTC=0x00;   
DelayMs(300);                 //延时
PORTC=0xff;                   //熄灭所有的数码管
ASSR=0x08;                    //异步时钟使能
TCCR2=0x07;                   //32768的晶振1024分频作为T/C2的时钟源
TIMSK=0x40;                   //T/C2溢出中断使能
SREG=SREG|0x80;               //全局中断使能       
while(1)
{Display(Data);
if(CNT==32) 
    {CNT=0;
Add_Second(Data);}
}
}

#pragma interrupt_handler Timer2:5
void Timer2(void)
{CNT=CNT+1;}

关键字:tc2  实时时钟  AVR 引用地址:基于tc2的实时时钟设计 AVR

上一篇:不要忘记使用AVR的BOD功能!
下一篇:同步串口spi的c语言编程

推荐阅读最新更新时间:2024-03-16 15:17

基于AVR单片机的节能机器人电梯,软硬件协同
一、项目概述 1.1 引言 随着社会的发展,高层建筑和智能化建筑的不断出现,作为垂直运输工具的电梯得到了越来越广泛的应用,人们对电梯服务质量及可靠运行提出了越来越高的要求。在2010年4月22日电梯行业 节能 安全 智能 技术交流会上中国电梯协会副秘书长张乐祥提出节能、安全、智能已成为电梯技术发张的主流,驱动与控制系统仍存在改善空间,远程监控维修技术成为焦点。 本文在节能方面运用电梯群控分配控制技术,以能量消耗作为主要指标把侯梯和乘梯时间作为模型约束建立数学模型,另外如果持续3 分钟没有轿厢、层站召唤,电梯将自动关闭照明及风扇,并降低梯厅位置显示器的亮度,从而大幅度减少待机电力消耗;在安全和智能方面通过对电梯的各种状态进
[单片机]
基于<font color='red'>AVR</font>单片机的节能机器人电梯,软硬件协同
基于AVR Butterfly的电源设计
0 引 言 随着嵌入式系统设计技术的发展,在设计和仿真中,系统工程师对电源的要求也越来越高。在嵌入式系统设计是使用8031单片机和74系列集成电路时,所有使用74系列集成电路的电路板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的三极管变得越来越小并且工作的电压越来越低,使得嵌入式系统开发的重点从系统的速度,转到低功耗设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测试时,还要模拟不同的电源故障情况下,比如掉电等,嵌入式系统的稳定性和
[单片机]
基于<font color='red'>AVR</font> Butterfly的电源设计
avr键盘程序
键盘扫描有中断方式和查询方式 #i nclude jn8515def.h /******以下是键盘排列图****** | | | PC0 ___1|__2|__3|__ | | | PC1 ___4|__5|__6|__ | | | PC2 ___7|__8|__9|__ | | | PC3 ___C|__0|__S|__ | | | | | | PC4 PC5 PC6 ****************************
[单片机]
AVR、51系列、PIC单片机的对比分析
单片机诞生于20世纪70年代末,它是指一个集成在一块芯片上的完整计算机系统。它包括CPU、内存、内部和外部总线系统。在AVR、51系列、PIC单片机中,51系列最基本,同时有解密容易等缺点;PIC单片机工业抗干扰性强,各个型号的兼容性强;AVR最新的MEGA系列运行速度快。各种单片机都有各自的优缺点,应根据需要选择。 关键词: 单片机、AVR、51系列、PIC、性能对比分析 AVR、51系列、PIC单片机的对比分析 1、51系列单片机的优缺点分析。 51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上
[单片机]
基于AVR单片机的24C08数据操作的C语言程序设计
#include iom16v.h #include macros.h #define uint unsigned int #define uchar unsigned char #include I2C_drive.h //包含I2C总线驱动程序软件包 uchar const seg_data ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; //0~9和熄灭符的段码表 uchar const bit_tab ={0xbf,0x7f}; //第7、8只数码管位选表 uchar disp_buf ={0,0}; //定义2个显示缓冲单元 uchar val;
[单片机]
AVR微控制器在BLDC电机控制中的应用
引言 许多汽车应用,包括从最小的阀门到笨重的座椅,都含有运动部件,而速度可能从每分钟数十转到数千转不等。一直以来,有刷电机在汽车应用中占主导地位,因为它们成本低,而且只需简单的继电器就能加以控制。不过,有刷电机较重,而且电刷会产生噪声和电火花,并会随着使用时间的增加而磨损。 现代汽车中电机的数量在不断增加,因此制造商需要体积更小更轻、转矩和速度更高并受到精确控制的电机。防倾斜(anti-pitch)车窗升降电机就是一个很好的示例,其他还有刹车和转向助力、通风、冷却,以及推拉门等应用。另外,进气和涡轮增压器控制则是比较新颖的领域,这时电机及其控制器可能处于150℃的高温下,远远超过125℃的标准温度。 目
[单片机]
<font color='red'>AVR</font>微控制器在BLDC电机控制中的应用
AVR单片机uPD6121/AS6122等红外编码芯片的解码程序
#include #define uchar unsigned char #define ulong unsigned long /*------------------------------显示-----------------------------------*/ #define LED _DATA PORTB const uchar tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /* 0 1 2 3 4 5 6 7 8 9 A B C
[单片机]
轻触式开关电路在AVR单片机中的应用
引 言: 单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。一般可采用RS触发器、计数器以及采用555集成电路等等。在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。本文将介绍一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。 1 电路原理 如图1所示,DC-DC为一个带有关断控制端的直流稳压电源芯片,MCU是一个单片机。当按下S1时,Q1和D1导通,稳压芯片工作,为单片机供电。单片机马上将相应的I/O引脚置为输出高,这时Q1和Q2导通,整个电路进入工作状态。而后单片机再将这个I/O引脚设置为输入,由于上拉电阻R4的存在,Q1和Q2一直导通。
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved