• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的數(shù)字電壓表設(shè)計

2024/09/25
4303
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有需要資料的可了解一下.docx

共1個文件

仿真原理圖

部分程序:

#define LED_GLOBAL 1

#include "led.h"

void ledDelay(uint ms)

{

uchar delayi;

while(--ms)

{

for(delayi=0;delayi<124;delayi++);

}

}

void init_led(void)

{

LED=segLedCode[0];

LED_CS1=0;

LED_CS2=0;

LED_CS3=0;

LED_CS4=0;

}

void ledWrite(uchar c,uchar n,uchar mod)

{

if(CHARACTER==mod)

{

LED=c;

}

else if(DIGITAL==mod)

{

if((c-'0')<0x0a)

{

LED=segLedCode[c-'0'];

}

else

{

LED=segLedCode[0];

}

}

switch(n)

{

case 0x01:

{

LED_CS1=0;

ledDelay(10);

LED_CS1=1;

break;

}

case 0x02:

{

LED_CS2=0;

ledDelay(10);

LED_CS2=1;

break;

}

case 0x03:

{

LED_CS3=0;

ledDelay(10);

LED_CS3=1;

break;

}

case 0x04:

{

LED_CS4=0;

ledDelay(10);

LED_CS4=1;

break;

}

default:

break;

}

}

void ledSweepDisplay(uchar *segCode,uchar segCodeMod,uchar segNumber)??????? ??? //循環(huán)顯示子函數(shù)

{

uchar segCount;

for(segCount=0;segCount<segNumber;segCount++)

{

if(segCodeMod&0x01)???? ?? //1代表此處顯示任意字符 *

{

ledWrite(segCode[segCount],segCount+1,CHARACTER);

}

else

{

ledWrite(segCode[segCount],segCount+1,DIGITAL);

}

segCodeMod=segCodeMod>>1;

}

}

#define TLC2543_GLOBAL

#include "TLC2543.h"

uint read_TLC2543(uchar channel)

{

register uchar i;

uint tempAD = 0;

while(!TLC2543GetEoc());??????? //wait TLC2543 free

_delay_us(3);

channel <<= 4;

TLC2543Clk(TLC2543_CLR);

TLC2543_Cs(TLC2543_SET);

TLC2543_Cs(TLC2543_CLR);??????????????? //_CS TLC2543 select

_delay_us(3);

for( i = 0; i < 12; i ++ )

{

tempAD <<= 1;

if( TLC2543GetDo() )??????? //read value

{

tempAD |= 0x01;

}

if( channel&0x80 )

{

TLC2543Di(TLC2543_SET);

}

else

{

TLC2543Di(TLC2543_CLR);

}

channel <<= 1;

TLC2543Clk(TLC2543_SET);

nop();

TLC2543Clk(TLC2543_CLR);

}

temp=(uchar)(voltageRead/0x0fff);

if(i==4)

displayBuff[i-1]=digitalNumber[temp]|0x80;

else

displayBuff[i-1]=digitalNumber[temp];

voltageRead=voltageRead%0x0fff;

voltageReadTemp=voltageRead<<1;

voltageRead=0x0000;

for(j=0;j<5;j++)

voltageRead+=voltageReadTemp;//voltageRead=voltageRead*10

}

}

}

 

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!