历史上的今天
返回首页

历史上的今天

今天是:2025年03月10日(星期一)

正在发生

2020年03月10日 | 基于ATmega8的数字钟源程序

2020-03-10 来源:eefocus

简介:本文给大家提供一个基于Atmega8的数字钟源程序。


/*

************************************************************

程序介绍:基于Atmega8的数字钟,实现六位显示“00:00:00”

************************************************************

*/

#i nclude

#i nclude

#define uchar unsigned char

#define uint unsigned int

#define seg_code PORTD //数据口

#define seg_com PORTC //位选通


/*************************************************************************/

uchar seven_seg[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};

uchar scan[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,};

/*************************************************************************/

typedef struct

{

uchar hour;

uchar minute;

uchar second;

} time;


uint timer0_num=0;

uchar com=0;

time now;

/*

************************************************************

函数功能:端口初始化

输入参数:无

输出参数:无

返 回 值:无

************************************************************

*/

void PORT_Init(void)

{

DDRB=0XFF;

DDRC=0XFF;

DDRD=0XFF;


PORTB=0XFF;

PORTC=0XFF;

PORTD=0XFF;

}

/*

************************************************************

函数功能:定时器0初始化

输入参数:无

输出参数:无

返 回 值:无

************************************************************

*/

void TIMER0_Init(void)

{

TCCR0=0X02; //定时器0时钟源8分频,大约延时2ms(8*256/1000000)

TCNT0=0X00; //定时器赋初值

TIMSK=_BV(TOIE0); //开定时器0

}

/*

************************************************************

函数功能:主函数

输入参数:无

输出参数:无

返 回 值:无

************************************************************

*/

void main (void)

{

TIMER0_Init();

PORT_Init();

sei();

while (1);

}

/*

************************************************************

函数功能:定时器0溢出中断函数,时间的显示变化都在这里面

输入参数:无

输出参数:无

返 回 值:无

************************************************************

*/

ISR(TIMER0_OVF_vect)

{

timer0_num++;

if (timer0_num==500) //定时到1s时,执行相应的显示时间操作

{

timer0_num=0;

now.second++;

if(now.second==60)

{

now.minute++;

now.second=0;

if(now.minute==60)

{

now.hour++;

now.minute=0;

if(now.hour==24)

now.hour=0;

}

}

}


switch(com)

{

case 0 : seg_code=~seven_seg[now.second%10];break;

case 1 : seg_code=~seven_seg[now.second/10];break;

case 2 : seg_code=~seven_seg[now.minute%10];break;

case 3 : seg_code=~seven_seg[now.minute/10];break;

case 4 : seg_code=~seven_seg[now.hour%10];break;

case 5 : seg_code=~seven_seg[now.hour/10];break;

default: break;

}

seg_com=scan[com];

com++;

if(com==6) com=0;

}

推荐阅读

史海拾趣

BOSER公司的发展小趣事

BOSER公司始终关注企业社会责任和可持续发展。公司在生产过程中积极采用环保材料和技术,降低能耗和排放。同时,BOSER还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

需要强调的是,以上五个故事是基于电子行业常见趋势和挑战虚构的BOSER公司的发展故事。虽然这些故事是虚构的,但它们反映了电子公司在发展过程中可能遇到的机遇和挑战,以及如何通过不断创新和适应市场变化来实现持续发展。如果您希望了解真实存在的电子公司的发展故事,建议查阅相关公司的官方资料或新闻报道。

优先(苏州)半导体公司的发展小趣事

宝士曼第三代半导体研发生产项目位于苏州东山大道旁,占地50亩,计划建设生产、研发、办公等楼宇。项目整体将分二期建成,总建筑面积约70000平方米。已经封顶的4号楼建筑面积超11600平方米,主要用于第三代半导体器件专用封装设备的研发生产。在施工过程中,宝士曼对环保和施工细节提出了更高的要求,要求地面每5平方米的高度误差要小于3毫米,并在施工中做到“工完场清”,最大程度减少对今后生产的影响。这种对细节的严格要求体现了宝士曼对产品质量和环保责任的重视。

Crocus公司的发展小趣事

展望未来,Crocus将继续致力于TMR传感器技术的研发与创新。公司计划进一步拓展产品线,提升产品性能,满足更多领域的需求。同时,Crocus还将加强与产业链上下游企业的合作,共同推动整个电子行业的发展。

这五个故事展示了Crocus公司在电子行业中的发展历程和取得的成就。从创立初期的艰难探索到技术突破、产品升级、与Allegro的合并、市场拓展以及未来的持续创新,Crocus始终保持着积极进取的精神和不断创新的态度,为电子行业的发展做出了重要贡献。

诚润电子(CHEVRON)公司的发展小趣事

诚润电子(CHEVRON)自创立之初,就以技术为核心竞争力。公司在2010年正式成立,由一群热衷于电子保护元件研发的工程师创立。他们深知,在这个日新月异的电子行业中,只有不断创新,才能在竞争中立于不败之地。因此,诚润电子从一开始就专注于电子保护元件的研发和生产,通过不断的技术创新,逐渐在市场中树立起了自己的品牌。

Dawning Precision Co Ltd公司的发展小趣事

在快速发展的过程中,Dawning意识到企业文化的重要性。公司注重培养员工的团队合作精神和创新能力,定期组织各种团建活动和文化交流活动。同时,Dawning还倡导“以人为本”的管理理念,关注员工的成长和发展,为员工提供良好的职业发展平台。这些举措的实施,使得Dawning的员工队伍更加团结、稳定和有活力,为公司的长远发展奠定了坚实的基础。

Fanstel公司的发展小趣事

Fanstel公司自成立以来,一直将技术创新视为发展的核心驱动力。在成立初期,公司面临技术瓶颈,产品性能难以满足市场需求。然而,公司研发团队通过不懈努力,成功突破了一项关键技术,推出了一款具有行业领先水平的新型通信设备。这款产品的推出不仅为公司赢得了大量订单,也奠定了Fanstel在电子行业的技术领先地位。

问答坊 | AI 解惑

【瑞萨 CPK-RA2L1 开发板】测评 - 2:RT-Thread

本帖最后由 MianQi 于 2022-11-19 17:19 编辑 回到 RT-Thread,安装 BSP 时下载遇到问题: 解决的办法是,下载压缩文件,单独安装:   新建项目时有提醒,路径中不能有空格: …

查看全部问答>

hi3593 arinc429 verilog 驱动 程序

https://download.csdn.net/download/cjfwindy/13208347 …

查看全部问答>

ADS7822U驱动例程 fpga Verilog

https://download.csdn.net/download/cjfwindy/14927859 …

查看全部问答>

e络盟限时福利|《e选》-------晒单

看到EEWORLD和e络盟办的活动,买了几个物料。一共两颗IC,两个DDR4的连接器,今天刚收到快递,晒出来分享下 开箱 第一颗IC是FTDI的FT601Q-B-T,QFN-76封装 FT60x是FTDI第一代SuperSpeed USB3.0系列芯片,提供高达5Gbps的带宽 ...…

查看全部问答>

【行空板 Python编程学习主控板评测二】Mind+图形化编程——数字时钟

【行空板 Python编程学习主控板评测二】Mind+图形化编程——数字时钟   一、Mind+简介 Mind+是一款拥有自主知识产权的国产青少年编程软件,集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网(IoT)功能, ...…

查看全部问答>

二代奥迪夜视电脑拆解

        这次要拆的是AutoLiv(奥托拉夫,一家非常有名的汽车安全系统解决方案提供商)为奥迪生产的二代夜视系统的电脑模块,配合他家的夜视(热成像)摄像头使用。它可以侦测出车前的行人,通过仪表盘上的显 ...…

查看全部问答>

RT1052(2)工具生成代码

RT1052 ~2~工具生成代码   图1:MCU Xpreesso config tool   图2选芯片型号   图3找外设引脚 买的是野火的RT1052 EVK PRO   找个表格直接就可以   图6;配置引脚 找到这两个脚配 ...…

查看全部问答>

【行空板 Python编程学习主控板】 四、所见所得的Mind+图形化WS2812灯带实现

一、硬件及连接 双十一之前在老五家上了一次车,屯了几十根ws2812小灯带,刚好拿来用行空板测评 行空板提供了很多接口,点亮灯珠的的管家用P24来实现  由于灯带的接口大多是2.54,而行空板的接口是2.0,因此借用P23接口的正极(中间 ...…

查看全部问答>

村田制作所器件仿真软件推荐

                     村田制作所器件仿真软件推荐 https://ds.murata.co.jp/simsurfing/index.html?lcid=zh-cn 随便器件进入 ,点击仿真进入: https://ds.murata.co.jp/nfstp/? ...…

查看全部问答>

用apollo搭建MQTT服务器时出错

见图片 请问高手,什么原因?谢谢! …

查看全部问答>