历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2018年10月10日 | 单片机C语言程序设计:10s的秒表

发布者:光明2599 来源: 21ic关键字:单片机  C语言程  秒表 手机看文章 扫描二维码
随时随地手机看文章

#include


#define uchar unsigned char


#define uint unsigned int


sbit K1=P3^7;


uchar


i,Second_Counts,Key_Flag_Idx;


bit Key_State;


uchar

 

DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};


//延时


void DelayMS(uint ms)


{


uchar t;


while(ms--) for(t=0;t<120;t );


}


//处理按键事件


void Key_Event_Handle()


{


if(Key_State==0)


{


Key_Flag_Idx=(Key_Flag_Idx 1)%3;


switch(Key_Flag_Idx)


{


case 1:EA=1;ET0=1;TR0=1;break;


case 2:EA=0;ET0=0;TR0=0;break;


case 0:P0=0x3f;P2=0x3f;i=0;Second_Counts=0;


}


}


}


//主程序


void main()


{

 

P0=0x3f; //显示 00


P2=0x3f;


i=0;


Second_Counts=0;


Key_Flag_Idx=0; //按键次数(取值 0,1,2,3)


Key_State=1; //按键状态

 


TMOD=0x01; //定时器 0 方式 1

 


TH0=(65536-50000)/256; //定时器 0:15ms


TL0=(65536-50000)%6;


while(1)


{


if(Key_State!=K1)


{


DelayMS(10);


Key_State=K1;


Key_Event_Handle();


}


}


}

 


/T0 中断函数


void DSY_Refresh() interrupt 1


{


TH0=(65536-50000)/256; //恢复定时器 0 初值


TL0=(65536-50000)%6;


if( i==2)

 

{


i=0;


Second_Counts ; //50ms*2=0.1s 转换状态


P0=DSY_CODE[Second_Counts/10];


P2=DSY_CODE[Second_Counts];


if(Second_Counts==100) Second_Counts=0; //满 100(10s)后显示 00


}


}

 

单片机C语言程序设计:10s的秒表


关键字:单片机  C语言程  秒表 引用地址:单片机C语言程序设计:10s的秒表

上一篇:关于程序效率的问题,你有思考过吗?
下一篇:89C51与STM8简要对比

推荐阅读

9月13日召开的苹果发布会上,苹果宣布 Apple Watch 加入通过FDA认证的心电图(ECG)功能,可供患者实时检测,并将检测结果直接与医疗保健专业人员共享。无独有偶,中国的智能可穿戴领域同样值得关注,来自康康血压的Kang Watch智能血压手表,也已通过了国家食品药品监督管理总局(CFDA)认证。Apple Watch满足了用户基于手表的医疗级心电监测的功能,...
在所有的嵌入式应用中几乎都会用到的一个功能就是ADC模块(模数转换器)。这些模数转换器可以读取来自模拟传感器的电压,如温度传感器、倾斜传感器、电流传感器、柔性传感器等等。因此,在本教程中,我们将学习如何通过Energia IDE开发环境使用MSP430G2中的ADC来读取模拟电压。我们将一个小型电位器连接到MSP开发板,并在模拟引脚上施加一个变化的电压,...
无论是燃料电池、电解还是化学储能,都通过电流控制化学反应,因此电化学的作用越来越重要。对这些应用来说,决定性因素在于提高反应速度和效率。(图片来源:TU Wien)据外媒报道,维也纳技术大学(TU Wien)和德国电子同步加速器(DESY)的研究人员发现,由镧、锶、铁和氧气制成的特殊材料,可以在两种不同状态之间来回切换。在一种状态下,该材料具有...
路透社10月6日报道,消息人士称,苹果公司将因其NFC芯片技术而受到欧盟反垄断指控,此举使其可能面临巨额罚款的风险,或迫使其向竞争对手开放移动支付系统。报道称,目前初步的担忧是苹果的NFC芯片所支持的快捷支付,其移动支付服务Apple Pay应该如何在商家的应用程序和网站上使用的条款和条件,以及该公司拒绝让竞争对手访问支付系统。其中一位消息人士...

史海拾趣

问答坊 | AI 解惑

运算放大器的发展体现了电子技术的进步

引言  不断增长的电子元器件市场始终保持着对高性能运算放大器的巨大需求。宽带、低功耗、高精度只是新产品要求的几个关键参数。虽然这些参数已经得到的不断地提高,但对设计人员来说,理想的运算放大器依然是一个“神话”,在运算放大器设计中仍 ...…

查看全部问答∨

【藏书阁】模拟电子技术基础解题指南

目录: 第一章 半导体器件基础 第二章 基本放大电路 第三章 多级放大电路 第四章 放大电路中的反馈 第五章 集成运算放大器 第六章 运放基本运算电路 第七章 有源滤波电路 第八章 电压比较电路 第九章 滤波发生电路 第十章 功率放大电路 ...…

查看全部问答∨

今天参加了gct

今天参加了gct考试就是在职工程硕士,报考的中科院那个软件工程,想学学嵌入式开发,不知道这种学校,学习是否能学到东西?以后前景如何?我报的是脱产班的…

查看全部问答∨

bootloader的问题

bootloader只是针对处理器的吗? 比如wince5.0自带的2410的Eboot 只要是2410的处理器,不管板子是什么样的,这个Eboot都可以用吗? …

查看全部问答∨

聘请站内上海的嵌入式高手教授嵌入式方面的知识和经验!!

本人有一定的C++和windows下开发的经验,现在对嵌入式编成产生浓厚兴趣,真诚希望站内在上海的高手能面授这方面的知识和经验,对于讲课的薪水可以共同商议。如有上海的志同道合者想要一起学习也可以与我联系! 本人联系方式:marshal_win@hotmail. ...…

查看全部问答∨

在PsSetCreateImageNotifyRoutine的回调函数里用zwterminateproess结束进程为什么不行?

想禁止程序运行,就在PsSetCreateImageNotifyRoutine判断路径,如果是要禁止的,就用zwterminateproess结束进程,但总是不成功。…

查看全部问答∨

请教个2407最弱的问题。

我用2407A的开发板做led指示灯实验,做了一周了,一直没有成功。我也一直在按照说明书的要求做,但就是不行。我的各个文件在附件里,请高手指点。都快失去对dsp的信心了啊。再有,LF2407A中,程序存储器是32K的内部rom+32K的外部扩展rom吗?为什么 ...…

查看全部问答∨

模电

本帖最后由 dontium 于 2015-1-23 13:27 编辑 …

查看全部问答∨

dddddd

  [ 本帖最后由 smallemote 于 2011-11-18 17:11 编辑 ]…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved