主要用到的芯片如下:AT89C51,74LS245,TLC2543,LED數碼管
量程0-5v,精確到小數點后三位,
數字電壓表.zip
(81.16 KB, 下載次數: 38)
2020-6-16 09:06 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
分享給論壇里的朋友
批注 2020-06-16 085326.png (69.73 KB, 下載次數: 51)
下載附件
2020-6-16 08:59 上傳
批注 2020-06-16 083802.png (69.71 KB, 下載次數: 72)
下載附件
2020-6-16 08:59 上傳
部分程序如下,需要完整的請從附件下載
#include "led.h"
#include "TLC2543.h"
const uchar code displayMode=0x0f;
uchar displayBuff[4]={0x7e,0x7e,0x7e,0x7e}; //數碼管顯示緩沖區,低兩位為時間,最高位為搶答號
const uchar code digitalNumber[10]={0x7e,0x06,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x73};
void main()
{
uint voltageReadTemp;
uint voltageRead;
uchar temp;
uchar i,j;
init_led();
while(1)
{
ledSweepDisplay(displayBuff,displayMode,4);
voltageRead=read_TLC2543(0x05);
voltageRead=voltageRead*0x05;
for(i=4;i>0;i--)
{
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
}
}
}
|