-
大小: 754KB文件類(lèi)型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-07-04
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
數(shù)字電壓表課程設(shè)計(jì)是我們很多童鞋一起辛苦做出來(lái)的勞動(dòng)成果,里面東西很詳細(xì)有protues仿真圖,keill編程,還有我們使用的元器件的引腳資料圖,所以以才值十分,希望下載看了后再給我評(píng)價(jià)!
功能要求:
1.用按鍵選擇測(cè)量11路0~10V的輸入電壓值。
2.顯示器件為L(zhǎng)CD1602
3.測(cè)量的最小分辨率為0.002V,測(cè)量誤差約為正0.002V
所用AD轉(zhuǎn)換器件為T(mén)LC549,單片機(jī)為89C51
最好有超量程報(bào)警電路

代碼片段和文件信息
? ???#include
#include
#ifndef?TLC549_ADC_H_
#define?TLC549_ADC_H_
sbit?Y=P1^7;
sbit?X=P1^6;
sbit?IOCLK?=?P1^0;
sbit?DATAOUT?=?P1^1;
sbit?CS?=?P1^2;
sbit?rs=P1^3;
sbit?rw=P1^4;
sbit?ep=P1^5;
typedef?unsigned?char?BYTE?;
typedef?unsigned?int??WORD?;
typedef?bit?BOOL?;
unsigned?int?Volt;
unsigned?int?LCD[7];
BYTE?code?dis1[]={“Voltage:“};
BYTE?code?dis2[]={“?error!“};
unsigned?char?TLC549_ADC(void);??
void?Data_Conversion(void);
void?Volt_To_LCD(void);
unsigned??char??TLC549_ADC(void)
{
unsigned??char??itmp;
CS=1;
IOCLK=0;
CS=0;
_nop_();
_nop_();
for(i=0;i<8;i++)
{
IOCLK=1;
tmp<<=1;
tmp|=DATAOUT;
IOCLK=0;
}
CS=1;
for(i=17;i!=0;i--)
_nop_();
return(tmp);
}
void??Data_Conversion(void)
{
unsigned??char??AD_Data;
AD_Data=TLC549_ADC();
Volt=5.0/256*AD_Data*10000;
}
void?delay(BYTE?ms)
{
BYTE?i;
while(ms?--)
{
for(i=0;?i<250;?i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
?
BOOL?lcd_bz()
{
BOOL?result;
rs?=?0;
rw?=?1;
ep?=?1;
_nop_();
_nop_();
_nop_();
_nop_();
result?=?(BOOL)(P2?&?0x80);
ep?=?0;
return?result;
}
?
void?lcd_wcmd(BYTE??cmd)
{
while(lcd_bz());//判斷LCD是否忙碌
rs?=?0;
rw?=?0;
ep?=?0;
_nop_();
_nop_();
P2?=?cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep?=?1;
_nop_();
_nop_();
_nop_();
_nop_();
ep?=?0;
}
?
?lcd_pos(BYTE?pos)
{
lcd_wcmd(pos?|?0x80);
}
?
?lcd_wdat(BYTE?dat)
{
while(lcd_bz());//判斷LCD是否忙碌
rs?=?1;
rw?=?0;
ep?=?0;
P2?=?dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep?=?1;
_nop_();
_nop_();
_nop_();
_nop_();
ep?=?0;
}
?
?lcd_init()
{
lcd_wcmd(0x38);
delay(1);
lcd_wcmd(0x0c);
delay(1);
lcd_wcmd(0x06);
delay(1);
lcd_wcmd(0x01);
delay(1);
}
?
void?main(void)
{
?
BYTE?iz;
lcd_init();//?初始化LCD
delay(10);
while(1)
{
lcd_pos(0x00);//設(shè)置顯示位置
i?=?0;
while(dis1[i]?!=?‘\0‘)
{
lcd_wdat(dis1[i]);//顯示字符
i++;
}
Data_Conversion();
LCD[0]=Volt/10000;
LCD[1]=Volt%10000/1000;
LCD[2]=‘.‘-0x30;
LCD[3]=Volt%1000/100;
LCD[4]=Volt%100/10;
LCD[5]=Volt%10;
LCD[6]=‘V‘-0x30;
Y=0;?
if(LCD[0]>=2)
??{????
?????Y=1;?
?????X=1;
?????lcd_pos(0x40);//?設(shè)置顯示位置
?????i?=?0; ??
??_nop_();
??_nop_();
?????while(dis2[i]?!=?‘\0‘)
??????{
?????????lcd_wdat(dis2[i]);//顯示字符
????????????i++;
??}
???}????????
else?????
???{
??? ?Y=0;
?X=0;
?lcd_pos(0x40);//?設(shè)置顯示位置
?? ??i?=?0;???
?????for(i=0;i<7;i++)
??????{?
?????????z=LCD[i]+0x30;
?????????lcd_wdat(z);
???????}
??
}
}
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2011-07-10?21:37??數(shù)字電壓表課程設(shè)計(jì)\
?????目錄???????????0??2011-07-04?11:46??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\
?????文件??????136039??2011-07-02?09:31??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\Last?Loaded?總電路完整圖.DBK
?????文件??????136043??2011-07-02?09:24??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\Last?Loaded?總電路完整圖123.DBK
?????文件????????3383??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq
?????文件????????3118??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.hex
?????文件??????????24??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.lnp
?????文件???????12936??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.M51
?????文件????????1008??2011-07-04?11:46??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.Opt
?????文件?????????811??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.plg
?????文件????????1978??2011-07-04?11:46??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq.Uv2
?????文件????????1011??2011-07-01?10:41??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq_Opt.Bak
?????文件????????1978??2011-07-01?10:41??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\qq_Uv2.Bak
?????文件????????2762??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\Text1.c
?????文件????????8503??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\Text1.LST
?????文件????????3941??2011-07-04?09:36??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\Text1.OBJ
?????文件??????136092??2011-07-04?11:46??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\總電路完整圖.DSN
?????文件?????????768??2011-07-04?11:46??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\總電路完整圖.PWI
?????文件??????136043??2011-07-02?09:24??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\總電路完整圖123.DSN
?????文件?????????768??2011-07-04?08:25??數(shù)字電壓表課程設(shè)計(jì)\仿真電路圖\總電路完整圖123.PWI
?????目錄???????????0??2011-07-05?23:31??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\
?????文件???????35084??2011-07-04?11:29??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\A008343[1].jpg
?????文件??????380266??2011-07-01?11:18??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\at89s52中文資料.pdf
?????文件??????410354??2011-07-01?11:20??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\LCD-1602引腳定義[1].pdf
?????文件???????83968??2011-07-01?11:23??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\TLC549中文介紹.doc
?????文件?????????162??2011-07-05?23:31??數(shù)字電壓表課程設(shè)計(jì)\相關(guān)引腳資料\~$C549中文介紹.doc
評(píng)論
共有 條評(píng)論