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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5243|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

數(shù)碼管顯示問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:15556 發(fā)表于 2011-2-13 11:47 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式

用164和138利用串口控制2個4位數(shù)碼管顯示 但顯示是全8加小數(shù)點(diǎn)  是串口數(shù)據(jù)轉(zhuǎn)換的問題嗎?各位大蝦請教下  代碼如下

#include <pic.h>
#include <math.h>

__CONFIG(0xd822);

#define data RC7   //164
#define clk RC6

#define A0 RA3    //138
#define A1 RA4
#define A2 RA5

#define  _nop_()  asm("nop")

#define uchar unsigned char
#define uint unsigned int

uchar dis_7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x67,0x7f,0x6f};

char A[4],ww,qw,bw,sw,gw;
unsigned int x;

void DISP_FOUR(char *A);
void DISP_ONE(char *A);
void BCD(unsigned int r1);
void DELAY(unsigned int n);

main(void)
{
  TRISA=0b00111000;
  TRISC=0b00000000;
  PORTC=0;
  x=1234;
  while(1)
   {
    BCD(x);
    A[0]=gw;
    A[1]=sw;
    A[2]=bw;
    A[3]=qw;
    DISP_FOUR(A);
    x++;
    if(x>9999)
      x=0;
    DELAY(500); 
   }
}

void DISP_ONE(char *A)
{
  char i,j;
  j=dis_7[*A];
  for(i=0;i<8;i++)
   {
    clk=0;
    if((j&0x80)==0x80)
         data=1;
      else
         data=0;
     _nop_();
     clk=1;
     j=j<<1;
    }
  data=0;
}

void DISP_FOUR(char *A)
{
  DISP_ONE(A++);
  A0=1;
  A1=0;
  A2=0;
  DISP_ONE(A++);
  A0=0;
  A1=1;
  A2=0;
  DISP_ONE(A++);
  A0=1;
  A1=1;
  A2=0;
  DISP_ONE(A); 
  A0=0;
  A1=0;
  A2=1;
}

 

void BCD(unsigned int r1)
{
  ww=0;qw=0;bw=0;sw=0;gw=0;
 while(r1>=10000)
   {r1-=10000; ww++;}
 while(r1>=1000)
   {r1-=1000; qw++;}
 while(r1>=100)
   {r1-=100; bw++;}
 while(r1>=10)
   {r1-=10; sw++;}
 gw=r1;
}

 

void DELAY(unsigned int n)
{
 unsigned int j;
 char k;
 for (j=0;j<n;j++)
   for (k=246;k>0;k--) _nop_();
}

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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