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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1594|回復: 11
收起左側

新人求大佬幫幫(C語言程序問題) 液晶屏幕無法正確顯示想要的數字

[復制鏈接]
ID:1041179 發表于 2022-8-2 08:55 | 顯示全部樓層 |閱讀模式
#include<STC8xxxx.h>
#include <stdio.h>
#include "intrins.h"
/*************  外部函數和變量聲明 *****************/
#define  uint   unsigned int
#define  uchar  unsigned char
uchar  ScanCoun,ZZ;
#define MAIN_Fosc 22118400L //定義主時鐘

//COM  SEG 的管腳定義
sbit  LED=P1^6;  //LED
sbit COM0=P1^0;  //COM0
sbit COM1=P1^1;  //COM1
sbit COM2=P1^2;  //COM2
sbit COM3=P1^3;  //COM3
sbit SEG0=P1^4;  //SEG0
sbit SEG1=P1^5;  //SEG1
sbit SEG2=P2^6;  //SEG2
sbit SEG3=P2^5;  //SEG3
sbit SEG4=P2^4;  //SEG4
sbit SEG5=P2^3;  //SEG5
sbit SEG6=P2^2;  //SEG6
sbit SEG7=P2^1;  //SEG7
sbit SEG8=P2^0;  //SEG8
uchar ScanCoun=0;                  //動態掃描顯示位數計數器
uchar *Tdat1,*Tdat2;
uchar LCD_load,W0,bai,shi,ge,W4;
//0~9的段碼查詢表
uchar code seg_code[12]={0xFA,0x60,0xD2,0xF4,0x6C,0xBC,0xBE,0x0E,0xEF,0xFC,0x01};
                           //0   1    2   3    4    5    6    7    8   9    Dot
////段碼緩沖區
uchar SegBuf[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//COM1、COM2、COM3、COM4對應的段碼緩沖
/////////////延時 ms//////////////
void DelayMS(uint ms)
{
        uchar i,j;
        for(i=0; i<250; i++)
        for(j=0; j<200;j++);
}
//COM口設置高阻態
void IO_set()
{
        P1n_open_drain(1<<3);//P1^3高阻    COM3
        P1n_open_drain(1<<2);//P1^2高阻    COM2
        P1n_open_drain(1<<1);//P1^1高阻    COM1
        P1n_open_drain(1<<0);//P1^0高阻    COM0
       
        P2M1=0x00;  //P2口為輸出
        P2M0=0xFF;                  //SEG2--SEG8
        P1n_push_pull(1<<4);//P1^4輸出   SEG0
        P1n_push_pull(1<<5);//P1^5輸出   SEG1
        P1n_push_pull(1<<6);//P1^6輸出   LED
}

void xianshi()
{
        LCD_load=111;
        bai=LCD_load/100%10;
        shi=LCD_load/10%10;
        ge=LCD_load%10;
}
//seg定義
void Seg2Seg()
{
        uchar SegXX;
        SegBuf[0]=0x00;SegBuf[1]=0x00; //一定要設置為0,輸出緩存初始化
        SegBuf[2]=0x00;SegBuf[3]=0x00;
        SegBuf[4]=0x00;SegBuf[5]=0x00;
        SegBuf[6]=0x00;SegBuf[7]=0x00;
//把3位數字的SEG放到COM1、COM2、COM3、COM4對應的SEGBUF[]里面
//LCD的管腳定義與LED不同,不是一個COM對應一位數字,而是對應每個數字的一部分SEG
// 1    2   3    4    5   6   7   8   9   10  11  12              | 13   
//COM0                T5  T4  1F  1A  2F  2a  3f  3a -- segBuf【0】| v -- segBuf【4】  
//---- COM1           T6  T3  1G  1B  2G  2b  3g  3b -- segBuf【1】| A -- segBuf【5】   
//-------- COM2       T7  T2  1E  1C  2E  2c  3e  3c -- segBuf【2】| H -- segBuf【6】
//-------- ---- COM3  T8  T1   /  1D  P1  2d  P2  3d -- segBuf【3】| % -- segBuf【7】

// SegXX=seg_code[W0];  //電池方格
// if (SegXX&0x80) SegBuf[0]|=0x10; //T4
// if (SegXX&0x40) SegBuf[1]|=0x10; //T3
// if (SegXX&0x20) SegBuf[2]|=0x10; //T2
// if (SegXX&0x10) SegBuf[3]|=0x10; //T1
// if (SegXX&0x08) SegBuf[0]|=0x20; //T5
// if (SegXX&0x04) SegBuf[1]|=0x20; //T6
// if (SegXX&0x02) SegBuf[2]|=0x20; //T7
// if (SegXX&0x01) SegBuf[3]|=0x20; //T8

SegXX=seg_code[bai];  //第1位數字
if (SegXX&0x80) SegBuf[0]|=0x20; //1a
if (SegXX&0x40) SegBuf[1]|=0x20; //1b
if (SegXX&0x20) SegBuf[2]|=0x20; //1c
if (SegXX&0x10) SegBuf[3]|=0x20; //1d

if (SegXX&0x08) SegBuf[0]|=0x40; //1f
if (SegXX&0x04) SegBuf[1]|=0x40; //1g
if (SegXX&0x02) SegBuf[2]|=0x40; //1e
// if (SegXX&0x01) SegBuf[3]|=0x40; //0

SegXX=(seg_code[ge]|0x01);   //第2位數字
if (SegXX&0x80) SegBuf[0]|=0x08;//2a
if (SegXX&0x40) SegBuf[1]|=0x08;//2b
if (SegXX&0x20) SegBuf[2]|=0x08;//2c
if (SegXX&0x10) SegBuf[3]|=0x08;//2d
if (SegXX&0x08) SegBuf[0]|=0x10;//2f
if (SegXX&0x04) SegBuf[1]|=0x10;//2g
if (SegXX&0x02) SegBuf[2]|=0x10;//2e
if (SegXX&0x01) SegBuf[3]|=0x10;//p1

SegXX=seg_code[shi];   //第3位數字
if (SegXX&0x80) SegBuf[0]|=0x02;//3a
if (SegXX&0x40) SegBuf[1]|=0x02;//3b
if (SegXX&0x20) SegBuf[2]|=0x02;//3c
if (SegXX&0x10) SegBuf[3]|=0x02;//3d
if (SegXX&0x08) SegBuf[0]|=0x04;//3f
if (SegXX&0x04) SegBuf[1]|=0x04;//3g
if (SegXX&0x02) SegBuf[2]|=0x04;//3e
if (SegXX&0x01) SegBuf[3]|=0x04;//p2

//SegXX=(seg_code[W4]|0x01);  //符號顯示
// if (SegXX&0x80) SegBuf[4]|=0x01; //v
// if (SegXX&0x40) SegBuf[5]|=0x01; //a
// if (SegXX&0x20) SegBuf[6]|=0x01; //h
// if (SegXX&0x10) SegBuf[7]|=0x01; //&
}
/*******************************************
/////////////定時器初始化////////////
********************************************/
void InitInterResource()
{
        IE=0;       //關全部中斷
        TCON=0;     //清全部中斷請求
        IP=0;       //清中斷優先級   
        TMOD=0x01;  //T0工作方式1(16位定時器)
        TH0=0xEC;   //T0定時器輔初值
        TL0=0x78;
        TR0=1;      //允許T0定時
        ET0=1;      //允許T0中斷
        EA=0;       //關全局中斷     
}

void main()
{
         DelayMS(20);
         IO_set();
         InitInterResource();
         EA=1;         //開全局中斷
         while(1);
}

void tmr0_p(void) interrupt 1
{
   Seg2Seg();
   switch(ScanCoun)                //動態掃描顯示
    {
      case 0:                        //COM0正向驅動
                                *Tdat1=SegBuf[0];
                        SEG0 = (bit)(*Tdat1&0x01);  
                        SEG1 = (bit)(*Tdat1&0x02);
                        SEG2 = (bit)(*Tdat1&0x04);  
                        SEG3 = (bit)(*Tdat1&0x08);
                        SEG4 = (bit)(*Tdat1&0x10);  
                        SEG5 = (bit)(*Tdat1&0x20);  
                        SEG6 = (bit)(*Tdat1&0x40);  
                        SEG7 = (bit)(*Tdat1&0x80);
                        *Tdat2=SegBuf[4];
                        SEG8 = (bit)(*Tdat2&0x01);
                        COM0=0;  
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
        break;

     case 1:                        //COM0反向驅動
                         *Tdat1=~SegBuf[0];
     SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
     SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=~SegBuf[4];
                 SEG8 = (bit)(*Tdat2&0x01);   
                 COM0=1;                        
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;

     case 2:                       //COM1正向驅動
       *Tdat1=SegBuf[1];
     SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
     SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=SegBuf[5];
     SEG8 = (bit)(*Tdat2&0x01);         
                 COM1=0;      
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;

     case 3:                       //COM1反向驅動
       *Tdat1=~SegBuf[1];
     SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);  
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
     SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=~SegBuf[5];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM1=1;                  
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;

      case 4:                       //COM2正向驅動
       *Tdat1=SegBuf[2];
      SEG0 = (bit)(*Tdat1&0x01);  
                        SEG1 = (bit)(*Tdat1&0x02);
                        SEG2 = (bit)(*Tdat1&0x04);  
                        SEG3 = (bit)(*Tdat1&0x08);
                        SEG4 = (bit)(*Tdat1&0x10);  
                        SEG5 = (bit)(*Tdat1&0x20);  
                        SEG6 = (bit)(*Tdat1&0x40);  
                        SEG7 = (bit)(*Tdat1&0x80);
                        *Tdat2=SegBuf[6];
                        SEG8 = (bit)(*Tdat2&0x01);            
                        COM2=0;                     
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;
                       
      case 5:                       //COM2反向驅動
         *Tdat1=~SegBuf[2];
                        SEG0 = (bit)(*Tdat1&0x01);  
                        SEG1 = (bit)(*Tdat1&0x02);
                        SEG2 = (bit)(*Tdat1&0x04);  
                        SEG3 = (bit)(*Tdat1&0x08);
      SEG4 = (bit)(*Tdat1&0x10);  
                        SEG5 = (bit)(*Tdat1&0x20);  
                        SEG6 = (bit)(*Tdat1&0x40);  
                        SEG7 = (bit)(*Tdat1&0x80);
                        *Tdat2=~SegBuf[6];
                        SEG8 = (bit)(*Tdat2&0x01);   
                        COM2=1;         
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
                       
     case 6:                       //COM3正向驅動
       *Tdat1=SegBuf[3];
     SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
     SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=SegBuf[7];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM3=0;                     
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
                 
     case 7:                       //COM3反向驅動
       *Tdat1=~SegBuf[3];
     SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
     SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=~SegBuf[7];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM3=1;                  
                 P1n_push_pull(1<<1);//P1^1輸出  COM1        
                 P1n_open_drain(1<<2);//P1^2高阻 COM3        
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
     P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
       }
               
     ScanCoun++;       //下一位
     if(ScanCoun>7)
     ScanCoun=0;

                 TL0=0x78;     //重新定時5ms
                 TH0=0xec;
                 ZZ++;
                 EA=1;      
  }

//5V供電單片機引腳直接驅動LCD屏幕(1/4BUTY,1/3BIAS),編譯無錯,就是沒有搞懂那里出問題了,一直沒有顯示正確的數


回復

使用道具 舉報

ID:1041179 發表于 2022-8-2 10:23 | 顯示全部樓層
////////////動態掃描函數////////////
void tmr0_p(void) interrupt 1
{
   Seg2Seg();
   switch(ScanCoun)                //動態掃描顯示
    {
      case 0:                        //COM0正向驅動
             *Tdat1=SegBuf[0];
                SEG0 = (bit)(*Tdat1&0x01);  
                SEG1 = (bit)(*Tdat1&0x02);
                SEG2 = (bit)(*Tdat1&0x04);  
                SEG3 = (bit)(*Tdat1&0x08);
                SEG4 = (bit)(*Tdat1&0x10);  
                SEG5 = (bit)(*Tdat1&0x20);  
                SEG6 = (bit)(*Tdat1&0x40);  
                SEG7 = (bit)(*Tdat1&0x80);
            *Tdat2=SegBuf[4];
                SEG8 = (bit)(*Tdat2&0x01);
                COM0=0;  
        //          P1n_push_pull(1<<0);//P1^0輸出  COM0               
                 P1n_open_drain(1<<3);//P1^3高阻 COM2
                 P1n_open_drain(1<<2);//P1^2高阻 COM3  
                 P1n_open_drain(1<<1);//P1^1高阻 COM1
        break;
         
     case 1:                        //COM0反向驅動
        *Tdat1=~SegBuf[0];
                 SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
                SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);
                 SEG7 = (bit)(*Tdat1&0x80);
       *Tdat2=~SegBuf[4];
                 SEG8 = (bit)(*Tdat2&0x01);   
                 COM0=1;                        
             // P1n_push_pull(1<<0);//P1^0輸出  COM0             
                 P1n_open_drain(1<<3);//P1^3高阻 COM3
                 P1n_open_drain(1<<2);//P1^2高阻 COM2  
                 P1n_open_drain(1<<1);//P1^1高阻 COM1
          break;
               
     case 2:                       //COM1正向驅動
       *Tdat1=SegBuf[1];
                 SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
                 SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
                 *Tdat2=SegBuf[5];
                 SEG8 = (bit)(*Tdat2&0x01);         
                 COM1=0;      
            //  P1n_push_pull(1<<1);//P1^1輸出  COM1              
                 P1n_open_drain(1<<3);//P1^3高阻 COM3
                 P1n_open_drain(1<<2);//P1^2高阻 COM2  
                P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;
         
     case 3:                       //COM1反向驅動
       *Tdat1=~SegBuf[1];
                SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);  
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
                 SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
         *Tdat2=~SegBuf[5];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM1=1;                  
             // P1n_push_pull(1<<1);//P1^1輸出  COM1              
                 P1n_open_drain(1<<3);//P1^3高阻 COM3
                 P1n_open_drain(1<<2);//P1^2高阻 COM2
                 P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;

      case 4:                       //COM2正向驅動
       *Tdat1=SegBuf[2];
                        SEG0 = (bit)(*Tdat1&0x01);  
                        SEG1 = (bit)(*Tdat1&0x02);
                        SEG2 = (bit)(*Tdat1&0x04);  
                        SEG3 = (bit)(*Tdat1&0x08);
                        SEG4 = (bit)(*Tdat1&0x10);  
                        SEG5 = (bit)(*Tdat1&0x20);  
                        SEG6 = (bit)(*Tdat1&0x40);  
                        SEG7 = (bit)(*Tdat1&0x80);
        *Tdat2=SegBuf[6];
                        SEG8 = (bit)(*Tdat2&0x01);            
                        COM2=0;                     
// P1n_push_pull(1<<2);//P1^2輸出  COM2              
                 P1n_open_drain(1<<3);//P1^3高阻 COM3
                 P1n_open_drain(1<<1);//P1^1高阻 COM1  
                 P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;
                       
      case 5:                       //COM2反向驅動
         *Tdat1=~SegBuf[2];
                        SEG0 = (bit)(*Tdat1&0x01);  
                        SEG1 = (bit)(*Tdat1&0x02);
                        SEG2 = (bit)(*Tdat1&0x04);  
                        SEG3 = (bit)(*Tdat1&0x08);
                        SEG4 = (bit)(*Tdat1&0x10);  
                        SEG5 = (bit)(*Tdat1&0x20);  
                        SEG6 = (bit)(*Tdat1&0x40);  
                        SEG7 = (bit)(*Tdat1&0x80);
        *Tdat2=~SegBuf[6];
                        SEG8 = (bit)(*Tdat2&0x01);   
                        COM2=1;         
// P1n_push_pull(1<<2);//P1^2輸出  COM2        
                 P1n_open_drain(1<<3);//P1^3高阻 COM3
                 P1n_open_drain(1<<1);//P1^1高阻 COM1      
                 P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
                       
     case 6:                       //COM3正向驅動
       *Tdat1=SegBuf[3];
                 SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
                 SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
        *Tdat2=SegBuf[7];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM3=0;                     
// P1n_push_pull(1<<3);//P1^3輸出  COM3        
                 P1n_open_drain(1<<2);//P1^2高阻 COM2        
                 P1n_open_drain(1<<1);//P1^1高阻 COM1
                 P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
                 
     case 7:                       //COM3反向驅動
       *Tdat1=~SegBuf[3];
                 SEG0 = (bit)(*Tdat1&0x01);  
                 SEG1 = (bit)(*Tdat1&0x02);
                 SEG2 = (bit)(*Tdat1&0x04);  
                 SEG3 = (bit)(*Tdat1&0x08);
                 SEG4 = (bit)(*Tdat1&0x10);  
                 SEG5 = (bit)(*Tdat1&0x20);  
                 SEG6 = (bit)(*Tdat1&0x40);  
                 SEG7 = (bit)(*Tdat1&0x80);
     *Tdat2=~SegBuf[7];
                 SEG8 = (bit)(*Tdat2&0x01);
                 COM3=1;                  
// P1n_push_pull(1<<3);//P1^3輸出  COM3        
                 P1n_open_drain(1<<2);//P1^2高阻 COM2        
                 P1n_open_drain(1<<1);//P1^1高阻 COM1
                P1n_open_drain(1<<0);//P1^0高阻 COM0
          break;  
       }
               
     ScanCoun++;       //下一位
     if(ScanCoun>7)
     ScanCoun=0;
   
                 TL0=0x78;     //重新定時5ms
                 TH0=0xec;
                 ZZ++;
                 EA=1;      
  }


什么代碼這部分復制錯了全是P1^1輸出了,但是改完也還是顯示一樣的東西好奇怪
回復

使用道具 舉報

ID:1023753 發表于 2022-8-2 13:40 | 顯示全部樓層
先驅動一位顯示,成功了在擴展
回復

使用道具 舉報

ID:123289 發表于 2022-8-2 15:35 | 顯示全部樓層
教你一個方法。
1、先顯示一個段,看看亮在何處。
2、再顯示另一個段,看兩者的位置關系。
3、逐漸增到7個段,你就可以拼成0-9了。
回復

使用道具 舉報

ID:1041179 發表于 2022-8-2 15:48 | 顯示全部樓層
haiyang201 發表于 2022-8-2 13:40
先驅動一位顯示,成功了在擴展

好,多謝
回復

使用道具 舉報

ID:1041179 發表于 2022-8-2 15:48 | 顯示全部樓層
yzwzfyz 發表于 2022-8-2 15:35
教你一個方法。
1、先顯示一個段,看看亮在何處。
2、再顯示另一個段,看兩者的位置關系。

好,我去試試
回復

使用道具 舉報

ID:723681 發表于 2022-8-2 15:52 | 顯示全部樓層
1.先檢測引腳是否連接正確
2.硬件正確 調用基本的驅動函數 顯示一小段
3.成功顯示一段 再嘗試顯示數字
回復

使用道具 舉報

ID:844772 發表于 2022-8-2 21:25 | 顯示全部樓層
太長了看不下去,又沒什么難度,你能不能發一下,應該顯示什么字,實際顯示的什么。
回復

使用道具 舉報

ID:401564 發表于 2022-8-2 22:13 | 顯示全部樓層
新人不是應該先寫個延時,跑馬燈什么的嗎?
你duang  duang一堆那么長的代碼上來,誰能找到問題?別人手上都不一定有你用的單片機型號,也不一定有你手頭上的顯示屏
正確的做法是先寫一個單純的函數,只顯示一個數字3之類的,只要能顯示一個數字了,再改另外一個數字燒錄看一下
只要能顯示一個數字了,其它功能就慢慢的增加,每增加一個功能就燒錄驗證一次
而不是像你現在這樣,要么是自己先按著自己的想法,一下子把所有的功能都寫完
又或者是直接復制別人的代碼,這改一下,那改一下
然后一燒錄,才發現不是你想要的效果
回復

使用道具 舉報

ID:1041179 發表于 2022-8-4 09:41 | 顯示全部樓層
Y_G_G 發表于 2022-8-2 22:13
新人不是應該先寫個延時,跑馬燈什么的嗎?
你duang  duang一堆那么長的代碼上來,誰能找到問題?別人手上都不 ...

多謝回復,第一次發帖不太會,謝謝指點,以后注意 嘿嘿嘿
回復

使用道具 舉報

ID:1041179 發表于 2022-8-4 09:42 | 顯示全部樓層
Youth8023 發表于 2022-8-2 15:52
1.先檢測引腳是否連接正確
2.硬件正確 調用基本的驅動函數 顯示一小段
3.成功顯示一段 再嘗試顯示數字

多謝多謝,問題已經解決 就是引腳連接問題
回復

使用道具 舉報

ID:1041179 發表于 2022-8-4 09:43 | 顯示全部樓層
glinfei 發表于 2022-8-2 21:25
太長了看不下去,又沒什么難度,你能不能發一下,應該顯示什么字,實際顯示的什么。

多謝幫助回復,問題已經解決啦!以后發帖會注意要問的問題,多謝多謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区在线观看视频 | 色资源站 | 亚洲成人av一区二区 | 国产激情视频网 | 91久久久www播放日本观看 | 依人成人| 亚洲一区二区三区视频 | www.色综合| 精品视频一区二区在线观看 | 激情五月综合 | 色悠悠久 | 天天色av | v片网站 | 黄色在线免费网站 | 亚洲精品在线免费播放 | 午夜私人影院在线观看 | av一级在线观看 | 天堂成人国产精品一区 | 免费在线a视频 | 天天干天天爱天天爽 | 亚洲精品一区久久久久久 | 999久久久久久久久 国产欧美在线观看 | 国产免费一区 | 久久久久久国产一区二区三区 | av在线免费观看网址 | 日韩成人av在线 | 亚洲精品天堂 | 欧美精品1区2区3区 精品国产欧美一区二区 | 波多野结衣精品在线 | 国产一区二区三区四区五区3d | 91在线看网站 | 亚洲福利在线视频 | 国产精品伦理一区 | 亚洲一区 中文字幕 | 毛片免费观看视频 | 黑人粗黑大躁护士 | 国产区精品视频 | 国产欧美视频一区二区三区 | 天天夜夜人人 | 亚洲精品第一 | 国产精品一区三区 |