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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一上電數碼管要顯示一段時間的8才開始變化 求解決

[復制鏈接]
跳轉到指定樓層
樓主
ID:513931 發表于 2019-4-24 11:48 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
50黑幣
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit k = P3;
sbit ch=P3^0;
uchar c = 0;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void DelayMS(uint ms)
{
        uchar i;
        while(ms--) for(i=0;i<120;i++);
}
void main()
{
   
        SBUF = 0x00;//賦初值
        SCON = 0x00;// 工作在方式0
        TMOD=0x01;                               
        TH0=(65536-50000)/256;       
        TL0=(65536-50000)%256;
        PCON = 0x00;//波特率不倍增
        TI = 0;//發送中斷
        ET0 = EA = 1;
        TR0 = 1;
        while(1)
        {
                while(!TI);//等待TI=1時,跳出循環,保證數據全部發送完畢后,再清零
                TI  = 0;  //軟件清零
                DelayMS(300);
        }
}
void Timer0() interrupt 1
{
        uchar t;
        TH0=(65536-50000)/256;       
        TL0=(65536-50000)%256;
        if(++t == 20)
                {
                        t = 0;
                        c = c%10;
                        SBUF=DSY_CODE[c];
                        c++;      
                }
}

E02CF9D0-096C-438F-81B8-782C98783A43.png (110.36 KB, 下載次數: 39)

E02CF9D0-096C-438F-81B8-782C98783A43.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:18297 發表于 2019-4-24 13:09 | 只看該作者
1)初始化后,馬上輸出 SBUF=DSY_CODE[0];
這樣你的程序就會較快的進入顯示“0”。
2)如下代碼,功能是上電后馬上顯示0,并開始遞加顯示。
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit k = P3;
  5. sbit ch=P3^0;
  6. uchar c = 0;
  7. uchar t=0;
  8. uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  9. void DelayMS(uint ms)
  10. {
  11.         uchar i;
  12.         while(ms--) for(i=0;i<120;i++);
  13. }
  14. void main()
  15. {
  16.    
  17.         SBUF = 0x00;//???
  18.         SCON = 0x00;// ?????0
  19.         TMOD=0x01;                                
  20.         TH0=(65536-50000)/256;        
  21.         TL0=(65536-50000)%256;
  22.         PCON = 0x00;//??????
  23.         TI = 0;//????
  24.         ET0 = EA = 1;
  25.         TR0 = 1;
  26.               SBUF=DSY_CODE[0];
  27.         while(1)
  28.         {
  29.                 //while(!TI);//??TI=1?,????,???????????,???
  30.                 //TI  = 0;  //????
  31.                 DelayMS(300);
  32.         }
  33. }
  34. void Timer0() interrupt 1
  35. {
  36.         //uchar t;
  37.         TH0=(65536-50000)/256;        
  38.         TL0=(65536-50000)%256;
  39.         if(++t == 20)
  40.                 {
  41.                         t = 0;
  42.                                                                               c++;  
  43.                         c = c%10;
  44.                         SBUF=DSY_CODE[c];                           
  45.                 }
  46. }
復制代碼
回復

使用道具 舉報

板凳
ID:513931 發表于 2019-4-24 14:44 來自手機 | 只看該作者
zjjhtony 發表于 2019-4-24 13:09
1)初始化后,馬上輸出 SBUF=DSY_CODE[0];
這樣你的程序就會較快的進入顯示“0”。
2)如下代碼,功能是 ...

我試了下 為啥他一開始還是會閃一下8呢?
回復

使用道具 舉報

地板
ID:18297 發表于 2019-4-24 20:05 | 只看該作者
要想解決這個問題很簡單啊!
1)將這個LED數碼管有共陽極的改為共陰極的。
2)修改uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
為uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
修改后測試沒有再顯示8
回復

使用道具 舉報

5#
ID:513931 發表于 2019-4-24 22:06 來自手機 | 只看該作者
zjjhtony 發表于 2019-4-24 20:05
要想解決這個問題很簡單啊!
1)將這個LED數碼管有共陽極的改為共陰極的。
2)修改uchar code DSY_CODE[] ...

已經可以了! 感謝 但是想問下 為啥用共陽的他就會閃8呢?
回復

使用道具 舉報

6#
ID:337069 發表于 2019-4-24 23:29 | 只看該作者
用164 Q3控制數碼管供電
回復

使用道具 舉報

7#
ID:434390 發表于 2019-4-25 07:44 | 只看該作者
共陰極COM端用個IO口控制三極管驅動,復位上電的時候COM端(通過IO口上拉或下拉控制三級管,非程序控制)輸出高電平
回復

使用道具 舉報

8#
ID:521059 發表于 2019-4-25 09:11 | 只看該作者
zry991122 發表于 2019-4-24 22:06
已經可以了! 感謝 但是想問下 為啥用共陽的他就會閃8呢?

可以嘗試先使164都輸出高電平,這樣用共陽的數碼管也不會顯示8了。另外,SBUF初始化時復值0xff也可以。
回復

使用道具 舉報

9#
ID:513931 發表于 2019-4-25 11:31 來自手機 | 只看該作者
51hei_user 發表于 2019-4-25 09:11
可以嘗試先使164都輸出高電平,這樣用共陽的數碼管也不會顯示8了。另外,SBUF初始化時復值0xff也可以。

具體要怎么操作呢?
回復

使用道具 舉報

10#
ID:513931 發表于 2019-4-25 13:00 來自手機 | 只看該作者
chtyise 發表于 2019-4-24 23:29
用164 Q3控制數碼管供電

啥意思呀?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人亚洲精品 | 国产精品久久久久久久久婷婷 | 大香网伊人 | 天堂综合网久久 | 久久午夜电影 | 色婷婷综合久久久中字幕精品久久 | 久久久久久艹 | 欧美视频三区 | 美女视频h | 欧美日韩免费视频 | 成人精品系列 | 欧美成人精品在线 | 国产精品久久久亚洲 | 国产午夜久久久 | 东京av男人的天堂 | 粉嫩一区二区三区四区公司1 | 亚洲精选一区二区 | 黄色毛片免费看 | 久久精品国产一区 | 欧美日韩手机在线观看 | 国产乱码精品一品二品 | 久久久久久久久久久久久久久久久久久久 | 久久久久无码国产精品一区 | 日韩精品视频一区二区三区 | 久久久一区二区三区 | 成人影院在线视频 | 日韩精品在线免费观看视频 | 午夜影院网站 | 亚洲精品美女在线观看 | 最新日韩在线 | 成人在线激情 | 欧美激情一区二区 | 中国大陆高清aⅴ毛片 | 国产精品区二区三区日本 | www.蜜桃av.com| 超碰在线亚洲 | 黄色在线观看网址 | 久久久久久91 | 亚洲精品久久久9婷婷中文字幕 | 成人免费视频观看视频 | 欧美一区中文字幕 |