用AVR纯软件模拟电子时钟

发布者:breakthrough3最新更新时间:2016-05-03 来源: eefocus关键字:AVR  纯软件  模拟电子时钟 手机看文章 扫描二维码
随时随地手机看文章
* 目    的:电子时钟的纯软件模拟*

* 功    能:实现时钟的功能
* 时钟频率:内部4M *
* 编译环境:ICC-AVR7 *

*图见上一篇日志*

#include
#include

#define uint unsigned int
#define uchar unsigned char
#define on_138  PORTC|=BIT(PC7)    //on or off 138
#define off_138 PORTC&=~BIT(PC7)
#pragma data:code

uchar  flash table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};    //the data for display
uchar  flash site[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
uchar time[3];
uchar temp[6];

void delay(uint ms)         //延时1ms
{
    uint i,j;
      for(i=0;i               for(j=0;j<564;j++);
}

void display(uchar i, uchar j)        //数码管显示时间
   
    if(i==1||i==3)
    {
        PORTA=site[i];
        PORTB=table[j];
        PORTB|=0X80;
    }
    else
    {
        PORTA=site[i];
        PORTB=table[j];
    }
    delay(1);
}

void time_to_temp()        //显示的时间数据送到temp数组保存
{
    uchar i,j=0;
    for(i=0;i<3;i++)
    {
        temp[j++]=time[i];
        temp[j++]=time[i]/10;
    }
}


void inti()       //初始化io口
{
    DDRA=0X07;
    DDRB=0XFF;
    DDRC=0X80;
}
    
void main()
   
    uchar i,time_count=0;
    time[0]=0;
    time[1]=26;
    time[2]=19;
    time_to_temp();
    inti();
    while(1)
    {
        for(i=0;i<6;i++)
        {
            on_138;
            display(i,temp[5-i]);
            off_138;
        }
        
        if(++time_count>=166)
        {
            time_count=0;
            if(++time[0]>=60)
            {
                time[0]=0;
                if(++time[1]>=60)
                {
                    time[1]=0;
                    if(++time[2]>=24)
                    {
                        time[2]=0;
                    }
                }
            }
            time_to_temp();
           
    }
}
关键字:AVR  纯软件  模拟电子时钟 引用地址:用AVR纯软件模拟电子时钟

上一篇:点阵流水显示I_LOVE_YOU
下一篇:AVR单片机C语言程序设计中的位操作

推荐阅读最新更新时间:2024-03-16 14:52

基于AVR单片机的智能小车的设计与制作
O 引言 自工业革命以来,随着电气的发展,人类进入了文明的新阶段。机器人已经广泛用于工业、农业、服务业、军事、机械、交通、航天航空等领域。智能机器人水平的不断提高,大大提高了劳动效率,减轻了劳动强度。机器人与人类并肩作战,在征服自然,改造自然地过程中发挥着重要作用。 智能小车是集理论力学、机械结构、数字电路、模拟电路、传感器、单片机、控制理论和算法等多门学科为一体的综合系统,其内容涵盖机械、电子、自动控制原理、计算机、传感技术等多个学科和领域。 本文设计的基于ATmagel6L的智能小车就是要求其从起跑线出发,然后通过自身自动调整向角和车速,使其自动沿着一条黑色引导线行驶。 1 智能小车的硬件设计方案 本智能小车
[单片机]
基于<font color='red'>AVR</font>单片机的智能小车的设计与制作
AVR--IO设置编程
AVR的C语言基于ANSI C,没有像51那样扩展了位操作(布尔操作),虽然汇编指令里面有SBI/CBI/SBIC/SBIS指令。所以需要采用 位逻辑运算 来实现,这是必须要掌握的。IO口和功能寄存器的操作方法一样,但对于部分功能寄存器的读写有特殊要求,请参看手册。不必考虑代码效率的问题,如果可能,GCCAVR会自动优化为SBI/CBI/SBIC/SBIS指令,跟汇编的效率是一样的。 例如 iom16.h 里面定义了 1 例如 iom16.h 里面定义了 2 3 #define PA0 0 4 5 PA0为1 PORTA |= (1 PA0) 6 PA0为0 PORTA &= ~(1 PA0)
[单片机]
<font color='red'>AVR</font>--IO设置编程
AVR 存储器组织结构及内部EEPROM读写范例
AVR 系列单片机内部有三种类型的被独立编址的存储器,它们分别为:Flash 程序存储器、内部SRAM 数据存储器和EEPROM 数据存储器。 Flash 存储器为1K~128K 字节,支持并行编程和串行下载,下载寿命通常可达10,000 次。由于AVR 指令都为16 位或32 位,程序计数器对它按字进行寻址,因此FLASH 存储器按字组织的,但在程序中访问 FLASH 存储区时专用指令LPM 可分别读取指定地址的高低字节。 寄存器堆(R0~R31)、I/O 寄存器和SRAM 被统一编址。所以对寄存器和I/O 口的操作使用与访问内部SRAM 同样的指令。32 个通用寄存器被编址到最前,I/O 寄存器占用接下来的64 个地址
[单片机]
AVR单片机ATMEGA8 USART的使用
博主在最近的项目里遇到了需要使用USART串口来通信的功能,首先USART和UART有一点很不一样的地方就是: UART:universal asynchronous receiver and transmitter通用异步收发器 TX , RX USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器 TX, RX, CK USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使
[单片机]
MPLAB® X集成开发环境现已支持AVR®单片机
通常使用Microchip的PIC®单片机(MCU)并利用MPLAB生态系统进行开发工作的设计人员现在可以轻松评估AVR® MCU并将其融入到应用中。今天,随着美国微芯科技公司(Microchip Technology Inc)推出MPLAB® X集成开发环境(IDE)5.05版,目前暂属测试版,可支持大部分AVR MCU。未来的MPLAB版本还将加入更多增强的功能以及对其他AVR MCU的支持。当前和未来的AVR器件将继续受Atmel Studio 7和Atmel START支持。 MPLAB X IDE 5.05版提供跨平台且可扩展的统一开发体验,兼容Windows®、MacOS®和Linux®操作系统,设计人员可以
[嵌入式]
MPLAB® X集成开发环境现已支持<font color='red'>AVR</font>®单片机
AVR PCF8591 程序
/********************************************************************* 目 的: 建立PCF8591操作库 目标系统: 基于AVR单片机 应用软件: ICCAVR *********************************************************************/ /*01010101010101010101010101010101010101010101010101010101010101010
[单片机]
关于AVR单片机,你了解多少?
什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机? AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点: 1:在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、EEPROM、SRAM容量较大; 3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); 4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; 6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、
[单片机]
基于AVR单片机的灭火机器人设计与实现
摘要:根据灭火机器人的竞赛规则,给出了灭火机器人的硬件结构设计方案和软件设计流程。所用的机器人处理器为AVR单片机,主要利用红外传感器、光敏传感器对环境进行检测,使机器人在场地中按照预定的方案寻找火源并扑灭。 关键词:灭火机器人;传感器;ATmega32 1 引言 机器人竞赛是近年来迅速开展起来的一种对抗活动,它涉及人工智能、机械、电子、传感器、精密机械等诸多领域。通过竞赛可以培养学生的创新意识、动手能力、团队写作能力等。其中灭火比赛是开展范围最广、影响最大的机器人竞赛项目之一。 比赛规则为模仿生活中消防员灭火,机器人从H点出发,在四个房间内寻找任意摆放的蜡烛,并且设法将其灭掉。比赛场地的墙壁高33cm,材质为木板,颜色为
[工业控制]
基于<font color='red'>AVR</font>单片机的灭火机器人设计与实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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