欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助,關于數碼管內容有誤,單片機程序要如何修改?

[復制鏈接]
跳轉到指定樓層
樓主
數碼管只能顯示0 1 3 5,但是不顯示2和4,不知道自己程序哪里出了問題,希望大家幫忙看一下程序哪一步需要修改。

單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90};//數碼管段選
uchar code wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//數碼管位選
sbit beep=P2^3;
sbit switch1=P2^6;//段選LE
sbit switch2=P2^7;//位選LE
uchar x;
void delay(uint z)//unit是宏定義
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=0;y<100;y++);
            
}
void display()
{
        uchar x;
        for(x=0;x<6;++x)
        { P0=0x00;
                switch1=1;
                switch1=0;
                switch2=1;
                P0=wela[x];
                switch2=0;
                switch1=1;
                P0=table[x];
                switch1=0;
                delay(8);
                switch2=1;
        }
}
void main()
{
        beep=0;
        while(1)
        {
                display();
        }
        
}

1.png (90.56 KB, 下載次數: 50)

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

使用道具 舉報

沙發
ID:415064 發表于 2022-1-25 09:06 | 只看該作者
延時哪個地方多看下
回復

使用道具 舉報

板凳
ID:878061 發表于 2022-1-25 12:16 | 只看該作者
你把74HC573和DAC0832都接P0口肯定會有沖突啊
回復

使用道具 舉報

地板
ID:276663 發表于 2022-1-25 14:36 | 只看該作者
去掉delay(8);下面一行的switch2 =1;這句代碼
回復

使用道具 舉報

5#
ID:276663 發表于 2022-1-25 14:38 | 只看該作者
程序就是多了那行代碼

void display()
{
  uchar x;
  for(x=0;x<6;++x)
  {
    P0=0x00;
    switch1=1;
    switch1=0;

    switch2=1;
    P0=wela[x];
    switch2=0;

    switch1=1;
    P0=table[x];
    switch1=0;

    delay(8);
//  switch2=1;//刪掉這行就行了
  }
}

51hei截圖20220125143738.jpg (78.1 KB, 下載次數: 38)

51hei截圖20220125143738.jpg
回復

使用道具 舉報

6#
ID:625730 發表于 2022-1-25 19:09 | 只看該作者
IdeaMing 發表于 2022-1-25 14:38
程序就是多了那行代碼

void display()

看懂了。本來想著為啥只有2和4顯示不了,其他可以顯示,原來是因為這個程序的位選在for循環尾部可以重新賦值,在顯示1和3的時候,P0端口的值剛好是2和4的位選不能起作用的值。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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