久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4356|回復: 0
打印 上一主題 下一主題
收起左側

基于arduino+TM1637的計時器程序(包含倒計時、暫停功能)Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
基于arduino的計時器(包涵倒計時、暫停、重置),在proteus8中仿真通過。用了兩組1673的時鐘芯片。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


Arduino代碼如下:

  1. #include <SevenSegmentTM1637.h>
  2. #include <SevenSegmentExtended.h>

  3. volatile int minute;
  4. volatile int second;
  5. volatile int order;
  6. volatile int full;
  7. volatile int empty;
  8. volatile int setvalue;
  9. volatile int topvalue;
  10. boolean  timerState=LOW;
  11. SevenSegmentExtended  display(8,9);

  12. void setup(){
  13. pinMode(2, INPUT);
  14.   minute = 0;
  15.   second = 0;
  16.   order = 0;
  17.   full = 0;
  18.   empty = 0;
  19.   setvalue = 5;
  20.   topvalue = 0;
  21.   display.begin();
  22.   order = 0;
  23.   // 倒計時時sencond與minute從full開始計時,順計時從empty開始計時
  24.   if (order == 0) {
  25.     empty = 0;
  26.     full = 59;
  27.     minute = setvalue;
  28.     second = 0;
  29.     topvalue = 0;

  30.   } else {
  31.     empty = 59;
  32.     full = 0;
  33.     minute = 0;
  34.     // 設置為x分鐘,加上秒鐘走59,實際多走了一分鐘,所以減一
  35.     topvalue = setvalue - 1;

  36.   }
  37.   attachInterrupt(digitalPinToInterrupt(2),interruptFun,LOW);
  38. }


  39. void loop(){
  40.   // 決定順計時倒計時0為倒計時,1為順計時
  41.   // 設置計時的最大數值
  42.   // 倒計時時topvalue=0時minute重置為setvalue
  43.   // 順計時topvalue=setvalue值時被重置
  44.   // minute=0
  45. if(timerState)
  46. {
  47.   display.printTime(minute,second,true);
  48.   delayMicroseconds(1);
  49.   if (second == empty && minute == topvalue) {
  50.     if (order == 0) {
  51.       // 當minute達到設定的值則
  52.       minute = setvalue;
  53.       second = empty;

  54.     } else {
  55.       // 當minute達到設定的值則
  56.       minute = full;
  57.       second = full;

  58.     }

  59.   } else if (second == empty) {
  60.     if (order == 0) {
  61.       second = 59;
  62.       minute = minute - 1;

  63.     } else {
  64.       second = 0;
  65.       minute = minute + 1;

  66.     }
  67.   } else {
  68.     if (order == 0) {
  69.       second = second - 1;

  70.     } else {
  71.       second = second + 1;

  72.     }

  73.   }
  74. }
  75. }

  76. void interruptFun()
  77. {
  78. timerState=!timerState;
  79.     digitalWrite(5,timerState);
  80.     // Inside the attached function, delay() won't work and the value returned by millis() will not increment.
  81.   //  delay(5000);                          
  82.       
  83. }
復制代碼

Proteus8.8版本的仿真圖下載:
countDowntimer.zip (31.11 KB, 下載次數: 53)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕欧美在线观看 | 成人在线视频免费观看 | 在线国产一区二区三区 | 国产一级一级国产 | 成人三级影院 | 亚洲黄色在线免费观看 | 日韩高清一区二区 | 四虎成人精品永久免费av九九 | 欧美日韩专区 | 男人av在线播放 | 亚洲午夜视频在线观看 | 亚洲+变态+欧美+另类+精品 | 国产一区二区久久久 | 国产一区中文字幕 | 伊色综合久久之综合久久 | 欧美久久国产 | 日韩一区二区三区视频 | 久久亚洲综合 | 久久久久久久久久久蜜桃 | 国产视频一区二区 | 天天干天天操 | 国产一区二区三区免费观看在线 | 亚洲欧美中文字幕在线观看 | 日韩欧美第一页 | 国产精品久久精品 | 久久综合伊人 | 国产精品久久久久久久久免费丝袜 | 国产一区二区三区视频 | 国产综合在线视频 | 国产精品一区在线播放 | 国产一区二区三区四区在线观看 | 久久精品国产一区 | 久久成人亚洲 | 黄篇网址 | 日韩精品网站 | 国产精品一区一区 | 成人在线视频观看 | 草草视频在线免费观看 | 91精品久久久久久久久久小网站 | 国产高潮av| 香蕉视频久久久 |