找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2654|回复: 0
打印 上一主题 下一主题
收起左侧

99S单键秒表仿真与单片机源码(单键实现启动、暂停、归零)

[复制链接]
跳转到指定楼层
楼主
99S单键秒表,正计时,单键实现启动、暂停、归零。带Proteus仿真
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. /* 名称:10s 的秒表 说明:首次按键计时开始,再次按键暂停,第三次按键清零。*/
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit K1=P3^7;
  6. uchar i,Second_Counts,Key_num;
  7. bit Key_State;
  8. uchar
  9. DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  10. void DelayMS(uint ms)   //延时
  11. {
  12.    uchar t;
  13.    while(ms--) for(t=0;t<120;t++);
  14. }

  15. void Key_Event()      //处理按键事件
  16. {
  17.    if(Key_State==0)
  18.    {
  19.       Key_num=(Key_num+1)%3;
  20.       switch(Key_num)
  21.       {
  22.          case 1: EA=1;ET0=1;TR0=1;break;
  23.          case 2: EA=0;ET0=0;TR0=0;break;
  24.          case 0: P0=0x3f;P2=0x3f;i=0;Second_Counts=3;
  25.       }
  26.    }
  27. }

  28. void main()      //主程序
  29. {
  30.    P0=0x3f; //显示00
  31.    P2=0x3f;
  32.    i=0;
  33.    Second_Counts=0;
  34.    Key_num=0; //按键次数(取值0,1,2,3)
  35.    Key_State=1; //按键状态
  36.    TMOD=0x01; //定时器0 方式1
  37.    TH0=(65536-50000)/256; //定时器0:15ms
  38.    TL0=(65536-50000)%256;
  39.    while(1)
  40.    {
  41.       if(Key_State!=K1)
  42.       {
  43.          DelayMS(10);
  44.          Key_State=K1;
  45.          Key_Event();
  46.       }
  47.    }
  48. }

  49. void DSY_Refresh() interrupt 1         //T0 中断函数
  50. {
  51.    TH0=(65536-50000)/256; //恢复定时器0 初值
  52.    TL0=(65536-50000)%256;
  53.    if(++i==20) //50ms*2=0.1s 转换状态
  54.    {
  55.       i=0;
  56.       Second_Counts++;
  57.       P0=DSY_CODE[Second_Counts/10];
  58.       P2=DSY_CODE[Second_Counts%10];
  59.       if(Second_Counts==100) Second_Counts=0; //满100(10s)后显示00
  60.    }
  61. }
复制代码

所有资料51hei提供下载:
99单键秒表.rar (22.37 KB, 下载次数: 28)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表