找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

這個(gè)單片機(jī)程序怎么不顯示數(shù)字?

查看數(shù): 1627 | 評論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2022-8-31 00:14

正文摘要:

回復(fù)

ID:332444 發(fā)表于 2022-8-31 09:28
用我的數(shù)碼管驅(qū)動(dòng)絕對不會(huì)有任何問題存在,唯有段值陰陽區(qū)別,取反即可,看我帖子。
ID:213173 發(fā)表于 2022-8-31 08:32
shenqiwei 發(fā)表于 2022-8-31 00:15
不知道什么問題,查不出來

樓主抄書的,消隱代碼錯(cuò)誤,按圖例改碼。


ID:123289 發(fā)表于 2022-8-31 08:29
走單步,自己一步步的調(diào)試,看看問題出在哪了,要學(xué)會(huì)自己調(diào)試程序。
ID:824490 發(fā)表于 2022-8-31 06:33
本帖最后由 名字不是重點(diǎn) 于 2022-8-31 06:45 編輯

上一貼已說過了:
573的OE被接地了,沒有消隱,沒有消隱,沒有消隱。!
咋就不聽不做呢???
我?guī)湍阏{(diào)試好了,你可以直接用。

////打字太辛苦,畫圖更難受

#include <reg51.h>
#include <stdio.h>
#include <intrins.h>

sbit d1=P2^0;       //鎖存段碼
sbit d2=P2^1;      // 鎖存位選

unsigned  char dis_buf[8];  //顯示緩存
unsigned char dig;            //位選
unsigned code segout[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};    //0--9共陽段碼表

void disp_8_num(void); //顯示函數(shù)

void main(void)     //主程序
{
    unsigned char i;
    while (1)       //主循環(huán)
  {
  
    for(i=0;i<8;i++)  dis_buf=i; //緩存刷新:01234567
   
     disp_8_num();  //顯示一幀
    }
}

void disp_8_num()
//顯示函數(shù),顯示8個(gè)數(shù)字 {
      unsigned char i,j;   
  
     dig=0xfe;  //從第一位開始掃顯
      for (i=0;i<8;i++)  //共8個(gè)位的數(shù)碼管
      {
      
        P0=segout[dis_buf];   //送段碼
        d1=1;        
        d1=0;
     
       P0=dig;    //送位碼      
       d2=1;      
       d2=0;

       j=60;     //簡單延時(shí),以穩(wěn)定顯示
       while(j--);

       P0=0xff;    //消隱位碼,段碼和位碼2選1或全選都可以
       d2=1;
       d2=0;
      
       P0=0x00;    //消隱段碼
       d1=1;
       d1=0;     
        
       dig= _crol_(dig,1); //準(zhǔn)備下一位的位碼
        }
  }

ID:278457 發(fā)表于 2022-8-31 00:15
不知道什么問題,查不出來

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表