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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡單的單片機二位數碼管顯示程序為什么運行不起來?

[復制鏈接]
跳轉到指定樓層
樓主
大神幫我看一下,這個簡單的程序為什么功能是錯誤的,編譯沒有問題。
  1. #include<reg52.h>

  2. sbit SMG_SEG=P0;
  3. sbit SMG_GPIO=P2;

  4. unsigned char code SEG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. unsigned char code GPIO[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  6. unsigned char DisplayData[2];







  7. void DigDisplay()
  8. {
  9.         unsigned char i;
  10.         unsigned int j;
  11.         for(i=0;i<2;i++)
  12.         {
  13.                 SMG_GPIO = GPIO[i];
  14.                 SMG_SEG = DisplayData[i];
  15.                 j=50;        
  16.                 while(j--);        
  17.                 SMG_SEG =0x00;
  18.         }
  19. }

  20. void Display()
  21. {
  22.         DisplayData[0] = SEG[0];
  23.         DisplayData[1] = SEG[1];
  24.         DigDisplay();
  25. }

  26. void main()
  27. {
  28. while(1)
  29. {
  30.         Display();
  31. }
  32. }
復制代碼


51hei截圖20210816142505.png (9.86 KB, 下載次數: 143)

51hei截圖20210816142505.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2021-8-16 15:30 | 只看該作者
粗心大意
看看第3行的代碼和你的仿真圖有什么不同
回復

使用道具 舉報

板凳
ID:96682 發表于 2021-8-16 15:39 來自手機 | 只看該作者
就算是程序有問題也與P3無關
回復

使用道具 舉報

地板
ID:844772 發表于 2021-8-16 15:40 | 只看該作者
為啥這么簡單的東西,會出這么多問題啊,比如接線就錯了,Eg. sbit SMG_SEG=P0; 還有你好歹接上電源啊。還有程序的延時太短了
回復

使用道具 舉報

5#
ID:161164 發表于 2021-8-16 16:28 | 只看該作者
glinfei 發表于 2021-8-16 15:40
為啥這么簡單的東西,會出這么多問題啊,比如接線就錯了,Eg. sbit SMG_SEG=P0; 還有你好歹接上電源啊。還 ...

Proteus單片機仿真可以不接電源
回復

使用道具 舉報

6#
ID:950830 發表于 2021-8-16 16:36 | 只看該作者
lkc8210 發表于 2021-8-16 15:30
粗心大意
看看第3行的代碼和你的仿真圖有什么不同

確實粗心了,但是為什么我把那兩行改過后還是有問題
回復

使用道具 舉報

7#
ID:161164 發表于 2021-8-16 16:55 | 只看該作者
boboj 發表于 2021-8-16 16:36
確實粗心了,但是為什么我把那兩行改過后還是有問題

我也粗心了,如地板所說的不是sbit
而是
#define XXX P3
#define XXX P2

j=50;太短了
回復

使用道具 舉報

8#
ID:824490 發表于 2021-8-16 17:40 | 只看該作者
#include<reg52.h>

#define SMG_SEG P3  //這里錯了
#define  SMG_GPIO P2 //這里也錯了

unsigned char code SEG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code GPIO[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char DisplayData[2];







void DigDisplay()
{
        unsigned char i;
        unsigned int j;
        for(i=0;i<2;i++)
        {
                SMG_GPIO = GPIO;
                SMG_SEG = DisplayData;
                j=50000;         //延時要加大才能看到變化
               while(j--);        
                SMG_SEG =0x00;
        }
}

void Display() //這段代碼其實可以與上面的合并
{
        DisplayData[0] = SEG[0];
        DisplayData[1] = SEG[1];
        DigDisplay();
}

void main()
{
while(1)
{
        Display();
}
}
回復

使用道具 舉報

9#
ID:950830 發表于 2021-8-17 09:52 | 只看該作者
lkc8210 發表于 2021-8-16 16:55
我也粗心了,如地板所說的不是sbit
而是
#define XXX P3

真的,非常感謝
回復

使用道具 舉報

10#
ID:950830 發表于 2021-8-17 09:53 | 只看該作者
名字不是重點 發表于 2021-8-16 17:40
#include

#define SMG_SEG P3  //這里錯了

非常感謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久亚洲一区二区三区四区 | 国产丝袜人妖cd露出 | 亚洲精品1 | av片在线播放 | 99热视| 欧美中文字幕一区二区三区 | 欧一区 | 成人免费大片黄在线播放 | 久久精品久久精品久久精品 | 日韩中文字幕在线播放 | a国产一区二区免费入口 | 一区日韩| 黄视频网站免费观看 | 亚洲成人精品国产 | 人人爱干 | 九九热国产视频 | 在线观看视频h | 91精品国产高清一区二区三区 | 日韩高清国产一区在线 | 日韩精品在线观看一区二区三区 | 久久久精品久久 | 福利视频网 | 欧美视频中文字幕 | 久久国产精品一区二区三区 | 爱爱爱av| 毛片在线免费播放 | 亚洲国产精品久久久 | 在线天堂免费中文字幕视频 | 亚洲激情综合网 | 国产一区二区在线免费观看 | 免费黄色av | av喷水| 欧美日韩久久精品 | 欧美日韩中文在线 | 三级成人在线观看 | 99re6在线| 一区二区三区中文字幕 | 在线观看中文字幕一区二区 | 热久久999 | 国产乱码一二三区精品 | av中文字幕在线 |