单片机(51) 多功能秒表的实现

发布者:素心轻语最新更新时间:2022-07-05 来源: csdn关键字:单片机  多功能秒表 手机看文章 扫描二维码
随时随地手机看文章

#include

#define uchar unsigned char

#define uint unsigned int

 

#define PIN0 P0  

#define PIN1 P1 

#define PIN3 P3

 

sbit start=P2^7; 

sbit reset=P2^6;

sbit add=P2^5;

sbit reduse=P2^4;

 

uint second=0;   

uint num=0;     

uint num1=0;

 

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

uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};

uchar code table2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

 

void Delayms(uint x){

uint i,j;

for(i=0;i for(j=0;j<123;j++);

}

void Display(uint w,uint a,uint b,uint c,uint d){

PIN3=table2[w];

Delayms(1);

PIN0=table[a]; 

PIN1=0x7f;

Delayms(1);

PIN0=table[b];  

PIN1=0xbf;

Delayms(1);

PIN0=table1[c];  

PIN1=0xdf;  

Delayms(1);

PIN0=table[d];

PIN1=0xef;

Delayms(1);

}

 

void InitTimer0(){ 

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=0;

}

void main()

{

uint ms100=0;

uint s,s1,min,min1,minute=0; 

 

InitTimer0();

while(1)

{

if(add==0){

Delayms(20); 

if(add==0){

minute++;

while(!add);

}

}

if(reduse==0){

Delayms(20); 

if(reduse==0){

minute--;

while(!reduse);

}

}

if(start==0){  

Delayms(20); 

{

if(start==0){ 

TR0=!TR0;

while(!start);

}

}

}

if(reset==0){ 

Delayms(20);

if(reset==0)  

{

num=0;

num1=0;

ms100=0;

second=0;

minute=0;

while(!reset);

}

}

if(num1>=2)

{

num1=0; 

ms100++;

if(ms100>=10) 

{

ms100=0; 

num1=0;

}

}

if(num>=20)

{

num=0;    

second++;

if(second>=60) 

{

second=0;

minute++;

if(minute>=60) 

 

{

TR0=!TR0;

num1=0;

num=0;

ms100=0;

second=0;

minute=0;

}

}

}

s=second%10; 

s1=second/10;

min=minute%10;

min1=minute/10;

Display(ms100,s,s1,min,min1);  

}

}

 

void TIMER0()  interrupt 1  

{

TH0=(65536-50000)/256;  

TL0=(65536-50000)%256;

num++;

num1++;

}


关键字:单片机  多功能秒表 引用地址:单片机(51) 多功能秒表的实现

上一篇:单片机(51) 可调节亮度LED
下一篇:单片机(51) LED贪吃蛇流动

推荐阅读最新更新时间:2024-11-12 11:10

Microchip推出新型8位单片机,集成独立于内核的外设
Microchip Technology Inc.(美国微芯科技公司)日前宣布,PIC18系列产品线又新增了两款8位单片机(MCU)产品。这些单片机将控制器区域网(CAN)总线与大量独立于内核的外设(CIP)结合使用 ,不但增强了系统功能,而且,设计人员不需要增加复杂的软件,便能够更轻松地开发基于 CAN的应用。关于这两款新型PIC18 K83器件的详细信息,请访问: www.microchip.com/k83 。 在基于CAN的系统中使用K83 MCU的一个关键优点是,CIP为实时事件提供了确定性响应,缩短了设计时间,并且可以采用MPLAB®代码配置器(MCC)工具 方便 地进行配置。这一新系列产品非常适合医疗、工业和汽
[半导体设计/制造]
Microchip推出新型8位<font color='red'>单片机</font>,集成独立于内核的外设
芯旺微推出KungFu内核汽车级MCU KF32A146,拓宽车载电机类应用场景
继KungFu家族推出32位车规级MCU KF32A156一年以来,KungFu 32位MCU产品迅速在汽车BCM、整车VCU控制器、新能源汽车BMS、汽车Tbox、汽车照明、汽车座椅等应用场景中收获大量车厂落地项目,以强劲的研发实力、快速的技术支持和大量的成功案例,向市场交出了满意的答卷。 为丰富车载电机类应用市场,芯旺微电子推出KungFu 32内核汽车级MCU KF32A146系列产品,本系列是芯旺微电子为汽车末端节点控制器量身定制的32位车规级MCU产品,采用全自主IP KungFu32内核,目前已推出KF32A146KQT、KF32A146IQT、KF32A146KQS、KF32A146IQS四种型号,并已广泛应用在
[汽车电子]
芯旺微推出KungFu内核汽车级<font color='red'>MCU</font> KF32A146,拓宽车载电机类应用场景
物联网需求强劲,MCU明年持续供不应求
近日,欧洲半导体巨头NXP公司对其代理商发出了涨价通知。通知称,将从2018年第一季度开始对NXP旗下MCU(微控制器)、数字化网络、汽车微控制器等主要产品上调价格。涨价幅度在5%—10%不等,这标志着半导体巨头打响了2018年MUC芯片涨价的第一枪。   目前其他同行暂处于观望中,不过有分析称,ST意法半导体有可能跟进调涨。据媒体报道,由于汽车电子及物联网市场对MCU需求十分强劲,导致MCU供应短缺,价格持续暴涨。不少MCU厂商产品交期都从4个月延长至6个月,日本MCU厂商更是拉长至9个月。 MCU因其高性能、低功耗、可编程、灵活性等优点,在消费电子、汽车电子、物联网等领域有着十分广阔的应用前景。机构预计,到2020
[嵌入式]
物联网创客指南:MCU设计的最佳实践和除错技巧
在本节中,SiliconLabs将分享在软件开发方面的经验教训。关键词extern,staTIc和volaTIle都是什么?你应该在你的代码中使用递归还是malloc()?下面就随网络通信小编一起来了解一下相关内容吧。 1)查找硬件设备的现有软件示例 开发任何嵌入式解决方案的第一步是找到可以使您的任务更简单的示例。您在自定义解决方案中找到的特定部分的软件示例将帮助您以另一种方式“查看”设备,并帮助您重新解释设备规格,即使这些示例是针对其他计算机架构或软件语言的。 2)编译器的代码 没有完美的计算机软件语言。所有语言都有自己的优势和弱点。用于EFM32家族的Simplicity Studio中使用的软件语言是C。C语言有着
[网络通信]
使用单片机会出现哪些问题呢
刚接触到单片机的人往往会有个疑惑:既然人们已经有能力制造功能强大的计算机,为何还要生产些功能不强的计算机?其实,功能强弱并不是决定是否生产的决定因素,市场需要才是关键。比如,用来控制一台电箱的计算机显然没必要使用 奔腾 芯片的强大运算能力,只要进行非常简单的计算,作个比较,看一看温度是否在所控制区间之内,然后再做出相应的控制就行了。 单片机在人们的生活中、工农业生产设备中处处有应用,例如各定时装置、自动控制装置等。爱好者学习单片机应该注意观察事物,找到自己周围能够使用单片机的场合,从而将学到的知识应用到实际中去。例如,使用单片机技术改造传统的机电设备、在特定的场合使用单片机替代PLC等就有着广阔的应用前景;又如,使用单片机控制电扇、
[单片机]
51单片机串口C程序
#include reg51.h unsigned char tmp; //初始化串行口 void csh() { SM0=0; SM1=1; REN=1; TI=0; RI=0;//以上是初始化scon寄存器,想当于SCON=0x50; PCON=0;//初始化电源,为波特率不增加 TH1=0xF3; TL1=0XF3;//设置波特率为2400 TMOD=0X20;//设置定时器,定时器1工作于8位自动重载模式, 用于产生波特率 EA=1;//开总中断 ES=1;//ES-串行中断允许控制位 ES = 1 允许串行中断。 TR1=1;//启动定时器开始工作 } void delayms
[单片机]
采用PIC单片机控制的电话小总机
  本小总机以PIC单片机控制,使用简单,分机间可互相内线通话,最大优点是当供电停止时,各分机仍可打外线,且保持通话保密的功能。   电路原理:   IC2-8870作DTMF信号检测,送入单片机IC3-PIC16C54单片机中,单片机根据情况控制继电器的吸合,完成对各分机的控制。当需要内线通话时,提起某一分机(如DHJ1),提机信号通过光电耦合O2-TLP521送入IC3中,拨打分机号码由8870检测送入IC3,IC3驱动相应分机的继电器吸合,以及由REL继电器送入响铃信号,当被叫分机提机时,REL1接通由IC4、R1组成的恒流源供电给各分机工作;当有外线电话打入时,其中一分机提机,需转到另一分机时,拨打该分机号码后挂机,
[单片机]
采用PIC<font color='red'>单片机</font>控制的电话小总机
GD32 MCU上电跌落导致启动异常如何解决
大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题?本视频将会为大家讲解可能的原因以及解决方法: GD32 MCU上下电复位波形如下图所示,上电过程中如果存在吃电的模块,比如wifi模块/4G模块/开启某块电路等,可能存在电源电压跌落的情况,此时若MCU在启动过程中可能会造成MCU加载代码异常,进而导致启动异常。电压跌落到POR和PDR之间会有可能出现启动异常,因为该段电压区间为非正常工作电压且不会发生PDR复位。 解决方法上可以有以下两种:1、硬件整改上电波形,在VDD端增加电容,提升VDD的供电能力,进而降低电源波动;2、修改NRST引脚对应的RC阻容,调整MCU启动时间,避开电源电压跌落的
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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