亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用proteus 在8位數碼管上顯示 01234567,并閃爍 程序有錯 拜托高手指導

  [復制鏈接]
跳轉到指定樓層
樓主
實驗目的: 用proteus 在8位數碼管上顯示 01234567 ,并閃爍。請確認程序哪里有錯?

Proteus中,省略了 三極管。應該不影響實驗效果。但是 一直顯示亂碼  

  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define ucharunsigned char
  4. #define uintunsigned int

  5. uchar codeLED_DX[]=
  6.                     {
  7.                      0xC0,  //"0"
  8.                 0xF9,  //"1"
  9.                 0xA4,  //"2"
  10.                 0xB0,  //"3"
  11.                 0x99,  //"4"
  12.                 0x92,  //"5"
  13.                 0x82,  //"6"
  14.                 0xF8,  //"7"
  15.                                 };

  16. uchar codeLED_WX[]=
  17.             {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  18. void DelayMs(uintx)
  19. {
  20.          uchar i;
  21.          while(x--)
  22.          {
  23.                    for(i=120;i>0;i--);
  24.          }
  25. }

  26. void main()
  27. {
  28.          
  29.          uchar m,k;
  30.     P0 = 0xff;
  31.          P2 = 0x00;         

  32.          while(1)
  33.          {
  34.                    for(k=0;k<8;k++)
  35.                    {
  36.                             for(m=0;m<8;m++)
  37.                             {  
  38.                                      P2 =LED_WX[k];
  39.                                      P0 =LED_DX[m];
  40.                                      DelayMs(2);
  41.                            
  42.                             }
  43.                    }
  44.           }
  45. }
復制代碼


評分

參與人數 1黑幣 +5 收起 理由
wy3344520 + 5 很給力!

查看全部評分

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

使用道具 舉報

沙發
ID:208318 發表于 2018-5-15 08:22 | 只看該作者
拜托 各位高手,謝謝了
回復

使用道具 舉報

板凳
ID:74784 發表于 2018-5-15 12:44 | 只看該作者
有閃爍是因為你的掃描時間不對。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
ID:326963 發表于 2018-5-15 23:40 | 只看該作者
你把你的雙重for循環里面的延時函數調整一下,用掃描法來顯示,最關鍵的就是延時了,是亂碼是因為閃的過快,人眼跟不上,加油,希望我可以幫到你喲
回復

使用道具 舉報

6#
ID:330549 發表于 2018-5-16 08:45 | 只看該作者
   for(k=0;k<8;k++)
                   {
                        
                                     P2 =LED_WX[k];
                                     P0 =LED_DX[k];
                                     DelayMs(2);
                           
                           
                   }
嵌套for 這樣肯定是不行的
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
8#
ID:311681 發表于 2018-5-16 09:57 | 只看該作者
位碼傳輸與段碼傳輸之間要有延時  否則頻率太快數碼管與微處理器速度不匹配
回復

使用道具 舉報

9#
ID:324109 發表于 2018-5-16 10:08 | 只看該作者
void Delay1ms()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        i = 11;
        j = 190;
        do
        {
                while (--j);
        } while (--i);
}
回復

使用道具 舉報

10#
ID:213173 發表于 2018-5-16 11:25 | 只看該作者
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code LED_DX[]=
{
        0xC0,  //"0"
        0xF9,  //"1"
        0xA4,  //"2"
        0xB0,  //"3"
        0x99,  //"4"
        0x92,  //"5"
        0x82,  //"6"
        0xF8,  //"7"
};
uchar code LED_WX[]=
{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

void DelayMs(uint x)
{
        uchar i;
        while(x--)
        {
                for(i=120;i>0;i--);
        }
}

void main()
{
        uchar k;
        P0 = 0xff;
        P2 = 0x00;         
        while(1)
        {
                for(k=0;k<8;k++)
                {
                        P0=0xff;
                        P2=LED_WX[k];
                        P0=LED_DX[k];
                        DelayMs(2);
                }
        }
}
回復

使用道具 舉報

11#
ID:149389 發表于 2018-5-30 17:13 | 只看該作者
一、運行效果


二、文檔打包
Test.zip (515.04 KB, 下載次數: 42)

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表