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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機定時器0~99循環自加器程序,數字飛快跳動,縮短delay也不行

[復制鏈接]
跳轉到指定樓層
樓主
任務目的是用單片機控制兩個數碼管,實現0~99的循環自加。

電路原理圖如下:


我的單片機代碼如下所示:
  1. #include<reg51.h>
  2. #define u8 unsigned char;
  3. #define u16 unsigned int;

  4. u8 seg[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};                 //共陽0~9段碼

  5. void delay(void)
  6. {
  7.         int i;

  8.         for(i = 0; i < 20; i++)
  9.                 ;
  10. }

  11. void main(void)
  12. {
  13.         char i = 1, time = 0;
  14.         char ten, one;
  15.         
  16.         P0 = 0xc0;                                                                                  //初始化
  17.         P2 = 0xfc;
  18.         TMOD = 0X01;
  19.         TH0 = (65536 - 50000) / 256;
  20.         TL0 = (65536 - 50000) % 256;
  21.         TR0 = 1;
  22.         
  23.         while(1)
  24.         {
  25.                 if(TF0 == 1)
  26.                 {
  27.                         if(i == 20)                                                                  //延時一秒
  28.                         {
  29.                                 i = 0;
  30.                                 /*ten = time / 10;
  31.                                 one = time % 10;
  32.                                 P2 = 0xfe;
  33.                                 P0 = seg[one];
  34.                                 delay();
  35.                                 P2 = 0xfd;
  36.                                 P0 = seg[ten]; */
  37.                                 if(time == 99)
  38.                                         time = 0;
  39.                                 else
  40.                                         time++;
  41.                         }
  42.                         i++;
  43.                         TF0 = 0;
  44.                         TH0 = (65536 - 50000) / 256;
  45.                         TL0 = (65536 - 50000) % 256;
  46.                 }

  47.                 ten = time / 10;                                                          //數碼管顯示
  48.                 one = time % 10;
  49.                 P2 = 0xfe;
  50.                 P0 = seg[one];
  51.                 delay();
  52.                 P2 = 0xfd;
  53.                 P0 = seg[ten];
  54.                 delay();
  55.         }               
  56. }
復制代碼
仿真結果為兩個數碼管的數字飛快跳動,且無法辨認,即使縮短delay(),效果也無變化。

求各位的指教。

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

使用道具 舉報

沙發
ID:424598 發表于 2019-2-1 08:51 來自手機 | 只看該作者
延時太短,建議你看看別人51的延時函數
回復

使用道具 舉報

板凳
ID:94031 發表于 2019-2-1 09:00 | 只看該作者
應該加大delay(),而不是縮短delay()。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩手机在线观看 | 久久精品国产亚洲a | 亚洲成人精品 | 日韩高清不卡 | 亚洲一区二区三区四区五区午夜 | 亚洲九九| av在线播放一区二区 | 性高湖久久久久久久久 | 一区中文字幕 | 国产高清在线精品一区二区三区 | 欧美日韩一二三区 | 亚洲有码转帖 | 91av免费观看| 超碰日本 | 国产精品三级 | 在线国产一区二区 | 欧美xxxx在线 | www.xxxx欧美 | 亚洲一区影院 | 一区二区三区播放 | 天天影视网天天综合色在线播放 | 中文字幕在线第二页 | 欧美乱大交xxxxx另类电影 | 亚洲高清在线播放 | 国产欧美精品区一区二区三区 | 亚洲成人av一区二区 | 一区二区三区在线 | www.久久精品 | 日韩在线免费电影 | 国产中文字幕网 | 亚洲精品欧美一区二区三区 | 亚洲三级免费看 | 黑色丝袜三级在线播放 | 免费一级黄色电影 | 日韩欧美亚洲 | 成人在线观看免费视频 | 色婷婷国产精品 | 亚洲v日韩v综合v精品v | 亚洲乱码国产乱码精品精98午夜 | 日韩在线观看一区 | 久久久成人免费一区二区 |