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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

pic16F877A單片機,不知道怎樣寫倒計時,請大神指點學習方法

[復制鏈接]
跳轉到指定樓層
樓主
ID:956815 發(fā)表于 2021-7-27 14:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2021-7-27 17:05 | 只看該作者
敢問一下,正計時會嗎?
回復

使用道具 舉報

板凳
ID:155507 發(fā)表于 2021-7-27 17:39 | 只看該作者
我給你來個程序試試




  1. #include <pic.h>           //調用PIC16F87XA單片機的頭文件

  2. //根據(jù)選項,配置字應該如下所示:
  3. //__CONFIG(HS&WRTEN&WDTDIS&BOREN&PWRTDIS&UNPROTECT&DUNPROT&DEBUGDIS&LVPDIS);

  4. //實際使用中,這樣太麻煩,對于默認選項,我們將其忽略掉:
  5. __CONFIG(HS&WDTDIS&LVPDIS);

  6. //---------------------------------------
  7. //數(shù)碼管字形表,供顯示時查詢
  8. const unsigned char LED[10]=
  9. {                          //定義表格一定要使用const,這樣會做到程序存儲區(qū)中
  10.     0B00111111,            //"0"的字形表,0x3F
  11.     0B00000110,            //"1"的字形表,0x06
  12.     0B01011011,            //"2"的字形表,0x5B
  13.     0B01001111,            //"3"的字形表,0x4F
  14.     0B01100110,            //"4"的字形表,0x66
  15.     0B01101101,            //"5"的字形表,0x6D
  16.     0B01111101,            //"6"的字形表,0x7D
  17.     0B00000111,            //"7"的字形表,0x07
  18.     0B01111111,            //"8"的字形表,0x7F
  19.     0B01101111,            //"9"的字形表,0x6F
  20. };

  21. //---------------------------------------
  22. //4位數(shù)碼管相關I/O設置
  23. #define U5A  RB0           //4位數(shù)碼管單元的U5(74HC138)的A腳接在RB0口上
  24. #define U5B  RB1           //4位數(shù)碼管單元的U5(74HC138)的B腳接在RB1口上
  25. #define U5C  RB2           //4位數(shù)碼管單元的U5(74HC138)的C腳接在RB2口上
  26. //---------------------------------------


  27. void main(void)            //主函數(shù),單片機開機后就是從這個函數(shù)開始運行
  28. {

  29.     unsigned char c=0;     //定義一個char型變量,做延時用
  30.     unsigned char d=0;     //定義一個char型變量,控制顯示位置
  31.     unsigned char e=0;     //定義一個char型變量,做延時用
  32.     unsigned int  f=9999;     //定義一個int型變量,顯示內容用,顯示內容0-9999

  33.     TRISB=0B11111000;      //初始化RB7-RB0的輸入輸出方向
  34.     TRISD=0B00000000;      //初始化RD7-RD0的輸入輸出方向
  35.     PORTB=0B00000000;      //初始化RB7-RB0的數(shù)值
  36.     PORTD=0B00000000;      //初始化RD7-RD0的數(shù)值

  37.     while(1)               //死循環(huán),單片機初始化后,將一直運行這個死循環(huán)
  38.     {

  39.         for(c=0;c<250;c++);//做一個0-250的循環(huán),不執(zhí)行其他操作,只為延時
  40.         if(++e>200)        //做一個延時,時間到將顯示內容加1
  41.         {
  42.             e=0;           //清零,為下一次延時做準備
  43.             if(--f<=0) f=9999;//顯示內容加1,因為只有4位顯示,超過9999后歸零
  44.         }
  45.         PORTD=0;           //關一次顯示,以免顯示出鬼影
  46.         if(++d>3) d=0;     //先將d加1,然后判斷是否大于3,大于3歸零
  47.         if(d==0)           //如果d=0,顯示千位
  48.         {
  49.             U5A=0;         //U5A=0,U5B=0,U5C=0,選通數(shù)碼管的千位進行顯示
  50.             U5B=0;         //U5A=0,U5B=0,U5C=0,選通數(shù)碼管的千位進行顯示
  51.             U5C=0;         //U5A=0,U5B=0,U5C=0,選通數(shù)碼管的千位進行顯示
  52.             PORTD=LED[f/1000];       //將要顯示的f的千位提取出來查表后送顯示
  53.         }
  54.         else if(d==1)      //如果d=1,顯示百位
  55.         {
  56.             U5A=1;         //U5A=1,U5B=0,U5C=0,選通數(shù)碼管的百位進行顯示
  57.             U5B=0;         //U5A=1,U5B=0,U5C=0,選通數(shù)碼管的百位進行顯示
  58.             U5C=0;         //U5A=1,U5B=0,U5C=0,選通數(shù)碼管的百位進行顯示
  59.             PORTD=LED[(f%1000)/100]; //將要顯示的f的百位提取出來查表后送顯示
  60.         }
  61.         else if(d==2)      //如果d=2,顯示十位
  62.         {
  63.             U5A=0;         //U5A=0,U5B=1,U5C=0,選通數(shù)碼管的十位進行顯示
  64.             U5B=1;         //U5A=0,U5B=1,U5C=0,選通數(shù)碼管的十位進行顯示
  65.             U5C=0;         //U5A=0,U5B=1,U5C=0,選通數(shù)碼管的十位進行顯示
  66.             PORTD=LED[(f%100)/10];   //將要顯示的f的十位提取出來查表后送顯示
  67.         }
  68.         else if(d==3)      //如果d=3,顯示個位
  69.         {
  70.             U5A=1;         //U5A=1,U5B=1,U5C=0,選通數(shù)碼管的個位進行顯示
  71.             U5B=1;         //U5A=1,U5B=1,U5C=0,選通數(shù)碼管的個位進行顯示
  72.             U5C=0;         //U5A=1,U5B=1,U5C=0,選通數(shù)碼管的個位進行顯示
  73.             PORTD=LED[f%10];         //將要顯示的f的個位提取出來查表后送顯示
  74.         }
  75.     }
  76. }
復制代碼
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久久久久久久 | 日韩精品一区二区三区免费视频 | 国产一级影片 | 日韩乱码在线 | 日韩三区 | 玖玖操| 色免费看 | 免费a国产 | 91日韩在线 | 日韩在线观看中文字幕 | 色999视频 | 国产区视频在线观看 | 久久99精品久久久久 | 国产精品无码专区在线观看 | 最新免费黄色网址 | 日韩成人在线视频 | 精品国产一区二区三区性色av | 丝袜美腿一区二区三区动态图 | 丝袜 亚洲 另类 欧美 综合 | 国产99热| 成人精品一区二区 | 日韩在线一区二区三区 | 中文字幕久久久 | 日韩人体视频 | 色婷婷一区二区三区四区 | 91亚洲精品久久久电影 | 手机看片169 | 久久久久香蕉视频 | 国产三级精品视频 | 天堂中文资源在线 | 91视频在线看 | 欧美色综合一区二区三区 | 九九综合九九 | 国产在线永久免费 | 欧美视频一区二区三区 | 日韩国产高清在线观看 | 精品久久久久久久久久久 | 天天操天天摸天天干 | 国产精品国产精品 | 欧美 中文字幕 | 欧美一区二区激情三区 |