左下角的独立按键k1控制开始和暂停 ,k2按一下加一小时,k3按一下加十分钟,k4按一下加一分钟

#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
char mb[8],key2biao=0,key3biao=0,key4biao=0,key1biao=0;
u16 n=10,ss;
long temp,aa,s;
sbit key1=P3^1;
sbit key2=P3^0;
sbit key3=P3^2;
sbit key4=P3^3;
sbit weixuan1=P2^2;
sbit weixuan2=P2^3;
sbit weixuan3=P2^4;
char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};
void delay(int z);
void display();
void init();
void keyscan();void main()
{init(); while(1){ keyscan();if(s==20){s=0;temp++;}     mb[7]=temp/36000;mb[6]=temp/3600%10;mb[5]=n;mb[4]=temp/600%6;mb[3]=temp/60%10; mb[2]=n;mb[1]=temp/10%6; mb[0]=temp%10;display();}
}   void display ()
{u8 i;for(i=0;i<8;i++){switch(i){case(0):weixuan1=0;weixuan2=0;weixuan3=0;break;case(1):weixuan1=1;weixuan2=0;weixuan3=0;break;case(2):weixuan1=0;weixuan2=1;weixuan3=0;break;case(3):weixuan1=1;weixuan2=1;weixuan3=0;break;case(4):weixuan1=0;weixuan2=0;weixuan3=1;break;case(5):weixuan1=1;weixuan2=0;weixuan3=1;break;case(6):weixuan1=0;weixuan2=1;weixuan3=1;break;case(7):weixuan1=1;weixuan2=1;weixuan3=1;break;}P0=table[mb[i]];delay(1);P0=0x00;}
}void init()
{TMOD|=0x11;  TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;   TR0=0;   ET1=1;  TR1=0;IT0=1;EX0=1;
}void te () interrupt 1
{TH0=(65536-50000)/256;TL0=(65536-50000)%256;s++;}void tee() interrupt 3
{TH1=(65536-50000)/256;TL1=(65536-50000)%256;ss++;if(ss==10){ss=0;if(n==10){n=11;}else n=10;}}void delay (int xms)
{
int x,y;for (x=xms;x>0;x--)for (y=123;y>0;y--);
}void keyscan()
{if((key1==0)&&(!key1biao)){delay(1);key1biao=1;if(key1==0){if (TR0==0){TR0=1;TR1=1;}else if(TR0==1){TR0=0;TR1=0;}}}else if(key1!=0){key1biao=0;}if((key2==0)&&(!key2biao)){delay(1);key2biao=1;if(key2==0){TR0=0;temp=temp+3600;if (temp>86400){temp = 0;}}}else if(key2!=0){key2biao=0;}if((key3==0)&&(!key3biao)){delay(1);key3biao=1;if(key3==0){TR0=0;temp=temp+600;}}
else if(key3!=0){key3biao=0;}if((key4==0)&&(!key4biao)){delay(1);key4biao=1;if(key4==0){TR0=0;temp=temp+60;}}else if(key4!=0){key4biao=0;}
}

51单片机数码管秒表相关推荐

  1. 利用51单片机制作一个秒表的详细过程

    利用51单片机制作一个秒表的详细过程 前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大 ...

  2. 基于51单片机的电子秒表

    基于51单片机的电子秒表 电子秒表 基于51单片机的电子秒表 摘要 1 引言 段数码管以及按键的使用 2 总体设计方案 2.1 设计思路 2.2 设计方框图 3 设计原理分析 3.1 时钟电路的设计 ...

  3. 基于51单片机数码管显示

    基于51单片机数码管显示 ## 数码管显示原理 数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们 ...

  4. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...

    /********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...

  5. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  6. 100、基于51单片机数码管温控 温度控制风扇系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Protues仿真 七.程序 八.资料包括 摘要 在炎热的夏天人们用电风 ...

  7. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  8. 基于51单片机的倒计时秒表proteus仿真设计

    目录 一.设计背景 二.实现功能 三.仿真演示 四.源程序 一.设计背景 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入.本文阐述了基于单片机的数字电子秒表倒计时设计,倒计时精度达0.05s ...

  9. c语言数码管流动显示一个数,51单片机数码管动态显示 - 数码管动态扫描显示01234567程序(三种方案)...

    数码管动态扫描显示01234567程序二--51单片机动态显示共阳数码管01234567 原理图 c语言程序 程序如下: #include #define uint unsigned int #def ...

最新文章

  1. PHP 底层的运行机制与原理 --转
  2. Qt Creator管理会议
  3. Leet Code OJ 260. Single Number III [Difficulty: Medium]
  4. IE8无法调试?IE进入不了调试状态
  5. idea工具debug断点红色变成灰色
  6. mysql查看表描述_MySQL表记录操作介绍(重点介绍查询操作)
  7. 史上最全Redis面试题(2020最新版)
  8. 《数据结构》二叉查找树
  9. 数字化工厂-Process Simulate中的运动学定义
  10. 自己的vscode-settings.json配置
  11. 中文编程入门(Lua5.4中文版)第一个 Lua 程序,世界,你好!
  12. 红外遥控风扇改手机APP远程控制杂记
  13. Open3D-GUI系列教程(五)鼠标事件(拾取顶点)
  14. 国家网络安全周|2022网络安全知识答题
  15. 自定义鼠标指针——让你的指针瞬间变美
  16. proteus中 基于STC89C51的ADC0809模数转换仿真
  17. 2007年1月 讨论:人为什么活着(人活着就是为了能够光荣的死去)
  18. 2011中国国际金融展隆重举行
  19. Ubuntu16.04声卡配置
  20. 常用配置及命令V1.0

热门文章

  1. 《方与圆》序人生控制论 第三章 通向快乐的途径
  2. html长按微信号复制,苹果系统中长按复制微信号显示不全问题解决方法
  3. 9.2-12.25微信小程序开发经验
  4. 如何使用cmd运行java程序
  5. Android将apk转换成二维码提供给别人扫描并下载
  6. python函数编程序_可爱的 Python: Python 中的函数编程(4)
  7. 移动端项目实战之哔哩哔哩
  8. Nginx编译安装+监控模块Nginx-module-vts
  9. 时间显示rpc服务器不可用,“电脑时间的RPC服务器不可用”是什么原因?
  10. PC端游戏不稳定怎么办?云加速来帮您