久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
用單片機+ADC0804實現(xiàn)電壓的AD轉(zhuǎn)換,LCD1602顯示電壓
[打印本頁]
作者:
18896597781
時間:
2021-5-31 14:10
標(biāo)題:
用單片機+ADC0804實現(xiàn)電壓的AD轉(zhuǎn)換,LCD1602顯示電壓
AD轉(zhuǎn)換程序:
用ADC0804芯片實現(xiàn)對電壓的采集;
用LCD1602顯示電壓值;
采集誤差位0.05V;
附件包含完整程序和仿真實際;
文件中含有ADC0804芯片介紹。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
無標(biāo)題.png
(54.15 KB, 下載次數(shù): 67)
下載附件
仿真效果
2021-5-31 13:56 上傳
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define LCD_DB P1
#define DB P0
sbit LCD_RS=P2^0; //P2.2~lcd的RS
sbit LCD_RW=P2^1; //p2.1~lcd的RW
sbit LCD_E=P2^2; //p2.2~lcd的E
sbit AD_CS=P2^3; //P2.3~0804的CS
sbit AD_RD=P2^4; //P2.4~0804的RD
sbit AD_WR=P2^5; //P2.5~0804的WR
sbit AD_INTR=P3^2; //P3.2~O8O4的INTR,采用中斷方式采集數(shù)據(jù)
void LCD_init(void); //LCD初始化函數(shù)
void LCD_write_command(uchar dat); //LCD寫命令函數(shù)
void LCD_write_data(uchar dat); //LCD寫數(shù)據(jù)函數(shù)
void display(ulong num);
uchar table[]="The Volt Is:"; //第一行提示字符串
//********延時函數(shù)***************
void delay_n40us(uint n)
{ uint i;
uchar j;
for(i=n;i>0;i--)
for(j=0;j<2;j++); //在這個延時循環(huán)函數(shù)中我只做了2次循環(huán),
}
//*************LCD初始化函數(shù)************
void LCD_init(void)
{
LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7
LCD_write_command(0x0c);//整體顯示,關(guān)光標(biāo),不閃爍
LCD_write_command(0x06);//設(shè)定輸入方式,增量不移位--------------
LCD_write_command(0x01);//清除屏幕顯示----------------
delay_n40us(100);
}
//****************lcd寫命令函數(shù)
void LCD_write_command(uchar dat)
{
LCD_DB=dat;
LCD_RS=0;
LCD_RW=0;
LCD_E=1;
LCD_E=0;
delay_n40us(1);
}
//**********lcd寫數(shù)據(jù)函數(shù)************
void LCD_write_data(uchar dat)
{
LCD_DB=dat;
LCD_RS=1;
LCD_RW=0;
LCD_E=1;
LCD_E=0;
delay_n40us(1);
}
//************顯示電壓函數(shù)
void display(ulong num)
{
uchar ge,point,zhi;
zhi=(num*50+122)/255; //算出電壓值,保留一位小數(shù),誤差0.5V
ge=zhi/10%10; //提取各位
point=zhi%10; //提取小數(shù)位
LCD_write_command(0x80+64+6); //從第二行第七個位置開始顯示電壓
LCD_write_data(0x30+ge); //顯示個位
delay_n40us(1500);
LCD_write_data('.'); //顯示小數(shù)點
delay_n40us(1500);
LCD_write_data(0x30+point); //顯示小數(shù)
delay_n40us(1500);
LCD_write_data(0x30);
delay_n40us(1500);
LCD_write_data('V'); //顯示單位V
delay_n40us(1500);
}
void in1t0_AD( ) interrupt 0 using 1 //當(dāng)AD轉(zhuǎn)換完成ITNR變0進(jìn)入中斷
{
ulong num;
EA=0; //關(guān)中斷
AD_RD=1;
delay_n40us(1);
AD_RD=0; //讀數(shù)據(jù)有效
delay_n40us(1);
num=DB; //讀取0804AD轉(zhuǎn)換的數(shù)據(jù)
delay_n40us(10);
AD_RD=1;
display(num); //顯示電壓
}
void main()
{
uchar i;
LCD_init();
DB=0xff;
P3=0xff;
LCD_write_command(0x80); //從第一行開始顯示提示字符
for(i=0;i<12;i++)
{
LCD_write_data(table[i]);
}
DB=0xff;
P3=0xff;
EA=1; //開中斷
EX0=1; //開中斷0
IT0=1; //中斷0下降沿有效
AD_INTR=1;
while(1)
{
EA=1;
AD_CS=1;
delay_n40us(1);
AD_CS=0; //選0804芯片
delay_n40us(2);
AD_WR=1;
delay_n40us(1);
AD_WR=0; //開始AD轉(zhuǎn)換
delay_n40us(1);
AD_WR=1;
delay_n40us(1);
}
}
復(fù)制代碼
所有資料51hei提供下載:
AD轉(zhuǎn)換.zip
(1.03 MB, 下載次數(shù): 96)
2021-5-31 14:08 上傳
點擊文件名下載附件
程序和仿真設(shè)計
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲一区二区三区乱码aⅴ 四虎在线视频
|
天天操天天舔
|
日本爱爱
|
久久中文网
|
综合久久av
|
亚洲毛片在线观看
|
日本在线中文
|
亚洲成人毛片
|
天堂av中文
|
欧美精品在线免费
|
在线观看亚洲
|
欧美日韩国产精品激情在线播放
|
亚洲第1页
|
性色在线
|
欧美午夜一区
|
日本精品在线播放
|
毛片网在线观看
|
欧美日韩大陆
|
国产午夜精品久久久久
|
不用播放器看的av
|
拍真实国产伦偷精品
|
中文字幕一区二区三区四区五区
|
久久久人成影片一区二区三区
|
免费性视频
|
欧美一区二区三区视频
|
日韩高清一区
|
91视频大全
|
欧美一级做性受免费大片免费
|
欧美日本在线
|
久久成人一区二区三区
|
美女视频一区二区三区
|
欧美精品三区
|
一级日批片
|
一区二区在线观看av
|
91偷拍精品一区二区三区
|
国产精品久久久久久久久久了
|
国产午夜精品一区二区三区四区
|
人人cao
|
亚洲系列第一页
|
精品91久久久
|
国产精品视频导航
|