-
大小: 194KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-05
- 語言: 其他
- 標簽: ADC08321602??
資源簡介
51單片機ADC0832_1602 proteus仿真源程序加原理圖。
測試通過過,包括C源程序,protues文件,可以真接仿真。
使用keil+proteus 7.8測試通過。

代碼片段和文件信息
/*
51單片機?1602+ADC0832顯示程序用proteus?7.8仿真通過。
*/
#include?
#include
#include
#include?
char?data?str[]=“????????????????“;
/**********************************/
/**********LCD1602接口程序**********/
#define?DD?P2
sbit?Rs=P3^0;
sbit?Rw=P3^1;
sbit?E=P3^2;
/********************************/
void?delay_1ms(unsigned?char?i)???//最小延時1ms
{?
unsigned?char?j;
while(i--)
for(j=0;j<125;?j++);
}
void?delay_10us(unsigned?char?i)?//最小延時10us
{?
unsigned?char?j;
while(i--)
for(j=0;j<10;?j++);
}
void?write_com(unsigned?char?com)???//寫指令
{
delay_10us(5);
E=0;
Rs=0;
Rw=0;?
DD=com;
delay_10us(50);?//>40us
E=1;?
delay_1ms(2);?//>150us
E=0;
delay_10us(4);?//>25+10us?
}
void?write_data(unsigned?char?DATA)???//寫數據
{?
delay_10us(50);
E=0;
Rs=1;
Rw=0;?
DD=DATA;?
delay_10us(50);
E=1;
delay_10us(50);
E=0;
delay_10us(4);
}
void?addr_x_y(unsigned?char?xbit?y)???//寫坐標,定位置
{?
unsigned?char?temp=0x80; //默認最高位:D7為1?即以0x80開始。 ?
if(y) //y?:0為第一行??1為第二行
??? {
??? temp|=0x40;
??? }
??? temp|=x;
write_com(temp);
}
void?Show_Char(unsigned?char?xbit?yunsigned?char?p)?
//在指定位置顯示一個字符。
{?
addr_x_y(xy);
write_data(p);
}
void?Show_String(unsigned?char?xbit?ychar?*ptr)
{
? unsigned?char?i;
for?(i=0;i<16;i++)
? Show_Char(x++y*(ptr+i));//循環顯示16個字符
}
void?init(void) ?//1602初始化代碼
{
delay_1ms(1500);
write_com(0x38);?
delay_1ms(5);
write_com(0x38);?
delay_1ms(5);?
write_com(0x38);?
delay_1ms(5);
write_com(0x38);?
write_com(0x08);?
write_com(0x06);?
write_com(0x0c);?
write_com(0x01);?
}
void?xs_int(unsigned?int?shujubit?t)???//數據顯示
{
unsigned?char?huancun[6]={0};
unsigned?char?biaozhi=0i;
if???(shuju?10)?biaozhi?=?1;
else?if(shuju?100)?biaozhi?=?2;
else?if(shuju?1000)?biaozhi?=?3;
else?if(shuju?10000)?biaozhi?=?4;
else?if(shuju?65535)?biaozhi?=?5;
switch(biaozhi) //這里沒有break因此從標識匹配的入口直接執行到最后,完成整數各位的提取到數組。
???{
???case?5:huancun[5]?=?shuju/10000;?
????case?4:huancun[3]?=?shuju%10000/1000;
????case?3:huancun[2]?=?shuju%1000/100;
????case?2:huancun[1]?=?shuju%100/10;
????case?1:huancun[0]?=?shuju%10; break;
????default:break;
}
for(i=0;i<6;i++)
??? {
??? if(i==1)Show_Char(i1‘.‘); ?//加入小數點,縮小了10000倍,因此AD采樣后的值需要乘上10000*5V/256=196(V)
????????else?Show_Char(it0x30+huancun[6-i-1]);?
}?
Show_Char(6t‘V‘);?
}
/************************************************************/
/**********ADC0832接口程序************************************/
sbit?ADC_CS?=P3^4;
sbit?ADC_CLK=P3^5;
sbit?ADC_DO?=P3^6;
sbit?ADC_DI?=P3^7;
/*******************************************************************/
void?Delay(unsigned?char?j)
{?
?unsigned?char?i;?
?for(i=0;i }
unsigned?char?ADC0832(void)?//把模擬電壓值轉換成8位二進制數并返回
{?
?unsigned?char?idata_c;
?data_c=0;
?ADC_CS=0;
?ADC_CLK=1;
?ADC_DO=0;//片選,DO為高阻態
?//ADC_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????245190??2013-10-15?17:45??51_ADC0832_1602.JPG
?????目錄???????????0??2013-10-15?17:46??ADC0832\
?????文件???????13193??2013-10-15?17:42??ADC0832\ADC0832
?????文件????????8365??2013-10-15?17:42??ADC0832\ADC0832.LST
?????文件???????19013??2013-10-15?17:42??ADC0832\ADC0832.M51
?????文件???????13481??2013-10-15?17:42??ADC0832\ADC0832.OBJ
?????文件????????1659??2010-06-16?23:03??ADC0832\ADC0832.Uv2.bak
?????文件????????4340??2013-10-15?17:42??ADC0832\ADC0832.c
?????文件????????6694??2013-10-15?17:42??ADC0832\ADC0832.hex
?????文件??????????31??2013-10-15?17:42??ADC0832\ADC0832.lnp
?????文件????????1116??2010-06-16?23:03??ADC0832\ADC0832.opt.bak
?????文件????????6505??2013-10-15?17:45??ADC0832\ADC0832.plg
?????文件???????73318??2013-10-15?17:45??ADC0832\ADC0832.uvopt
?????文件???????13188??2013-10-15?15:05??ADC0832\ADC0832.uvproj
?????文件?????????960??2010-06-16?22:25??ADC0832\ADC0832_Opt.Bak
?????文件????????1659??2010-06-16?22:25??ADC0832\ADC0832_Uv2.Bak
?????文件???????73318??2013-10-15?17:40??ADC0832\ADC0832_uvopt.bak
?????文件???????13188??2013-10-15?14:21??ADC0832\ADC0832_uvproj.bak
?????文件????????2246??2010-06-16?20:11??ADC0832\LED.h
?????文件??????119330??2013-10-15?17:43??ADC0832_1602.DSN
評論
共有 條評論