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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2792|回復(fù): 3
收起左側(cè)

四塊P6板組成的64X128點(diǎn)陣屏制作的比賽用倒計(jì)時(shí)器

[復(fù)制鏈接]
ID:235200 發(fā)表于 2021-7-18 20:42 | 顯示全部樓層 |閱讀模式
用STC15F2K60S2單片機(jī)控制,帶矩陣按鍵,大字顯示倒計(jì)時(shí),可實(shí)際用于比賽(為21日西門子邏輯控制比賽專做), 附所有項(xiàng)目代碼,供參考
11.png 22.png 33.jpg

單片機(jī)源程序如下:
  1. //LED屏控制程序   本程序驅(qū)動(dòng)32*64LED彩色屏
  2. //每一個(gè)單元屏傳送2路數(shù)據(jù)
  3. #include <stc15f2k60s2.H>
  4. #include "common.h"
  5. #include "delay.h"
  6. #include "arkey.h"      //行列按鍵
  7. #include "ledping.h"    //LED屏
  8. #include "zk.h"

  9. bit djs_F=0;              //倒計(jì)時(shí)標(biāo)志
  10. bit sec_F=0;              //秒標(biāo)志
  11. bit shun_F=0;             //閃爍標(biāo)志
  12. u8 timecount=0;           //時(shí)間計(jì)數(shù)
  13. u8 data min,sec;

  14. u8 data djs[4];                //倒計(jì)時(shí)數(shù)組

  15. void Timer0Init(void)                //2ms@22.1184MHz晶振
  16. {
  17.         AUXR |= 0x80;                //?????1T??
  18.         TMOD &= 0xF0;                //???????
  19.         TL0 = 0x33;                //??????
  20.         TH0 = 0x53;                //??????
  21.         TF0 = 0;                //??TF0??
  22.         TR0 = 1;                //???0????
  23. }


  24. void main()
  25. {
  26.         u8 data key,status;
  27.   u16 m;
  28.   Timer0Init();        //2ms定時(shí)初始始化
  29.         SP=0xf0;
  30.   while(1)
  31.    {
  32.                 if (status==0)
  33.                 {         
  34.                  key=KeyScan();
  35.                  if (key!=0)                   //判斷是否有按鍵
  36.                  {
  37. //                                 T_keyF=0;
  38.                                  switch(key)
  39.                {
  40.                       case 0x01: status=5;   break;
  41.                 case 0x02: status=6;   break;
  42.                 case 0x03: status=7;   break;
  43.                 case 0x04: status=8;   break;       //查詢溫度 DS18B20
  44.                 case 0x05: status=9;   break;
  45.                 case 0x06: status=10;   break;
  46.                 case 0x07: status=11;  break;
  47.                 case 0x08: status=12;  break;
  48.                 case 0x09: status=13;  break;       //90分鐘倒計(jì)時(shí)
  49.                 case 0x0a: status=14;  break;       //倒計(jì)時(shí)開始
  50. //                case 0x0b: status=15;  break;
  51. //                case 0x0c: status=16;  break;
  52. //                case 0x0d: status=17;  break;
  53. //                case 0x0e: status=18;  break;
  54. //                case 0x0f: status=19;  break;
  55. //                case 0x10: status=20;  break;
  56.                                  default: status=0;
  57.                }
  58.                                  key=0;                        //清空按鍵值
  59.                          }
  60.                  if (djs_F)
  61.                  {
  62.                          djsrun();                      //顯示總時(shí)間
  63.                          min=90;                        //分鐘  (倒計(jì)時(shí)總時(shí)長(zhǎng))
  64.                          sec=0;                         //秒
  65.                  }
  66.          }
  67.                 else
  68.                         if (status==5)
  69.                         {
  70.                                 dzdisp32(dz11,dz12,0);          //顯示8個(gè)漢字
  71.                                 m++;
  72.                                 if (m>=500)
  73.                                 {
  74.                                         m=0;
  75.                                         status=6;
  76.                                 }
  77.                         }
  78.                 else
  79.                         if (status==6)
  80.                         {
  81.                                 dzdisp32(dz21,dz22,0);
  82.                                 m++;
  83.                                 if (m>=500)
  84.                                 {
  85.                                         m=0;
  86.                                         status=7;
  87.                                 }
  88.                         }        
  89.                 else
  90.                         if (status==7)
  91.                         {
  92.                                 dzdisp32(dz31,dz32,1);
  93.                                 m++;
  94.                                 if (m>=200)
  95.                                 {
  96.                                         m=0;
  97.                                         status=8;
  98.                                 }
  99.                         }
  100.                 else
  101.                         if (status==8)
  102.                         {
  103.                                 dzdisp32(dz41,dz42,2);
  104.                                 m++;
  105.                                 if (m>=200)
  106.                                 {
  107.                                         m=0;
  108.                                         status=9;
  109.                                 }
  110.                         }
  111.                 else
  112.                         if (status==9)
  113.                         {
  114.                                 dzdisp32(dz51,dz52,1);
  115.                                 m++;
  116.                                 if (m>=200)
  117.                                 {
  118.                                         m=0;
  119.                                         status=5;
  120.                                 }
  121.                         }        
  122.                         
  123.                 else
  124.                         if (status==13)               //90分鐘倒計(jì)時(shí)
  125.                         {
  126.                                   djs_F=1;                  //倒計(jì)時(shí)功能設(shè)置
  127.                                   xsinit();                 //顯示內(nèi)容初始化
  128.                                         status=0;
  129.                         }
  130.                 else
  131.                         if (status==14)               //90分鐘倒計(jì)時(shí)開始
  132.                         {
  133.                                  ET0=1;
  134.                                  EA=1;
  135.                                  status=15;
  136.                         }
  137.                 else
  138.                         if (status==15)               //倒計(jì)時(shí)
  139.                         {
  140.                                  if (sec_F)                 //秒標(biāo)志
  141.                                  {
  142.                                          sec_F=0;                 //清除秒標(biāo)志
  143.                                          if (sec==0)
  144.                                          {
  145.                                                  if(min!=0)
  146.                                                  {
  147.                                                   sec=59;
  148.                                                   min--;
  149.                                                  }
  150.                                                  if ((min==0)&&(sec==0))            //分鐘和秒鐘均走完
  151.                                                  {EA=0;ET0=0;}
  152.                                          }
  153.                                          else
  154.                                     sec--;
  155.                                          djs[0]=min/10;
  156.                                          djs[1]=min%10;
  157.                                          djs[2]=sec/10;
  158.                                          djs[3]=sec%10;
  159. //                                         xsgx1();                  //更新顯示緩沖區(qū)  1個(gè)緩沖區(qū)
  160.                                          xsgx2();                    //更新顯示緩沖區(qū)  2個(gè)緩沖區(qū)
  161.                                  }
  162.        djsrun();                     //倒計(jì)時(shí)運(yùn)行        
  163.      }                                 
  164.          }
  165. }


  166. void time0() interrupt 1
  167. {
  168.         timecount++;
  169.         if (timecount==250)               //500ms
  170.         {
  171.                 timecount=0;
  172.                 shun_F=~shun_F;                 //閃爍標(biāo)志求反
  173.                 if (!shun_F)
  174.                 {
  175.                         sec_F=1;                      //產(chǎn)生1秒信號(hào)
  176.                 }
  177.         }
  178. }
復(fù)制代碼
51hei.png
所有資料51hei提供下載:
64X128比賽用倒計(jì)時(shí)器.rar (133.91 KB, 下載次數(shù): 33)
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2021-7-18 23:52 | 顯示全部樓層
有問題?
沒有問題就是錯(cuò)區(qū)了
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2021-7-19 13:34 | 顯示全部樓層
看圖就覺得比較異怪:
就不能把【數(shù)字】做窄一點(diǎn),將【:】號(hào)插在中間嗎?
回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2021-7-20 22:30 | 顯示全部樓層
yzwzfyz 發(fā)表于 2021-7-19 13:34
看圖就覺得比較異怪:
就不能把【數(shù)字】做窄一點(diǎn),將【:】號(hào)插在中間嗎?

時(shí)間緊,就沒有去調(diào)整了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线看91| 一区二区三区国产精品 | 6996成人影院网在线播放 | 精品国产一区二区三区免费 | 日本欧美在线 | 超级黄色一级片 | 二区三区在线观看 | 成人午夜激情 | 一区二区三区中文 | 国产综合在线视频 | www.久久.com| 麻豆av网站 | 国产精品海角社区在线观看 | 欧美视频成人 | 91激情电影| 日韩精品一区二区三区 | 男人的天堂视频网站 | 中文字幕国产视频 | 亚洲美女视频 | 日日夜夜免费精品视频 | 丁香一区二区 | 日日干干夜夜 | 国产精品a久久久久 | 精品国产一区二区三区免费 | 伊人成人免费视频 | 成人片免费看 | 日日夜夜精品 | 精品一区二区三区四区五区 | 亚洲精品在线91 | 国产精品久久久久久久岛一牛影视 | 欧美高清一级片 | 欧美精品一区二区三区四区 在线 | 99在线免费视频 | 欧美aⅴ | 国产精品网页 | 欧美激情国产日韩精品一区18 | www.性色 | 久久久国产精品入口麻豆 | 99国产精品99久久久久久粉嫩 | 一区二区三区四区五区在线视频 | 视频一区二区在线 |