欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于51單片機電壓測量程序
[打印本頁]
作者:
chongwenlu
時間:
2017-3-27 20:35
標題:
基于51單片機電壓測量程序
基于51單片機電壓測量代碼如下:
#include<reg52.h>
#include<intrins.h>// _nop()_函數頭文件
sbit key = P3^3;
sbit start = P3^4;
sbit oe = P3^2;
sbit eoc = P3^1;
sbit c = P3^0;
sbit RS = P2^0; //定義端口
sbit RW = P2^1;
sbit E = P2^2;
//sbit clock = P3^7;
unsigned char da0,da1,da2,da3;
unsigned int temp;
unsigned char dat;
unsigned char sum;
unsigned d1;
unsigned char lcdd[]="0123456789";
unsigned char folat;
void lcd_w_cmd(unsigned char com);//寫命令
void lcd_w_dat(unsigned char dat);//寫數據
void display(unsigned char dat);//顯示函數
unsigned char lcd_r_start();//讀狀態函數
void int1(); //初始化1602
void delay(unsigned char t);
void delay1();
void display1(unsigned char dat)
{
temp = dat*1000;
da0 = temp/51/1000;//個位;
da1 = temp/51/100%10;//十分位
d1 = temp/51/10;
da2 = d1%10;// 百分位
da3 = temp/51%10;// 千分位
lcd_w_cmd(0x0c);
delay(20);
lcd_w_cmd(0xc0);
delay(20);
delay(2);
lcd_w_dat('V');
lcd_w_dat('o');
lcd_w_dat('l');
lcd_w_dat('a');
lcd_w_dat('t');
lcd_w_dat('a');
lcd_w_dat('g');
lcd_w_dat('e');
lcd_w_dat(' ');
lcd_w_dat(lcdd[da0]); //
lcd_w_dat('.');
lcd_w_dat(lcdd[da1]);
lcd_w_dat(lcdd[da2]);
lcd_w_dat(lcdd[da3]);
lcd_w_dat('V');
}
/*-----------主函數---------*/
void main()
{
TCON = 0x04;
IE = 0x84;
c = 0;
int1();
sum = 0;
while(1)
{
for(folat = 0;folat<5;folat++)
{
start = 0;
start = 1;
start = 0;
do
{
_nop_();
}
while(eoc==0);
oe = 1;
dat = P1;
sum = sum+dat;
oe = 0;
}
dat = sum/5;
display1(dat);
sum=0;
}
}
void key_scan() interrupt 2//外部中斷1
{
if(key==0)
{
delay(10);
if(key==0)
{
c = ~c;
start = 0;
start = 1;
start = 0;
folat = 0;
sum = 0;
}
}
}
void delay(unsigned char t)//延時函數
{
unsigned char j,i;
for(i = 0;i<t;i++)
for(j = 0;j<20;j++);
}
void delay1()
{
_nop_();
_nop_();
_nop_();
}
void int1()
{
lcd_w_cmd(0x3c); //設置工作方式
lcd_w_cmd(0x0c); //設置光標
lcd_w_cmd(0x01); //清屏
lcd_w_cmd(0x06); //設置輸入方式
lcd_w_cmd(0x80); //設置初始化顯示設置
}
/*-----lcd讀狀態函數----*/
unsigned char lcd_r_start()
{
unsigned char s;
RW=1;
delay1();
RS=0;
delay1();
E=1;
delay1();
s=P0;
delay1();
E=0;
delay1();
RW=0;
delay1();
return(s);
}
/*LCD
寫命令函數
*/
void lcd_w_cmd(unsigned char com)
{
unsigned char i;
do
{
i=lcd_r_start();
i=i&0x80;
delay(2);
}
while(i!=0);
RW=0;
delay1();
RS=0;
delay1();
E=1;
delay1();
P0=com;
delay1();
E=0;
delay1();
RW=1;
delay(255);;
}
void lcd_w_dat(unsigned char dat)
{
unsigned char i;
do
{
i=lcd_r_start(); //
i=i&0x80;
delay(2);
}
while(i!=0); // LCD
RW=0;
delay1();
RS=1;
delay1();
E=1;
delay1();
P0=dat;
delay1();
E=0;
delay1();
RW=1;
delay(255);
}
復制代碼
0.png
(44.75 KB, 下載次數: 54)
下載附件
2017-3-28 02:06 上傳
下載:
電壓表.rar
(31.76 KB, 下載次數: 55)
2017-3-27 20:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
DPJ-AVR
時間:
2017-8-3 18:07
正在做用單片機的電壓測量,表示不會
作者:
風之墨羽
時間:
2018-7-23 12:31
各個接口怎么接,可以說一下嗎
謝謝~
作者:
gugang88
時間:
2018-10-8 22:59
GZ-T200電阻電壓測量儀,淘寶網上有哦,液晶顯示呢;
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1