欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于C51單片機和ADC0804顯示電壓以及0-255數值(仿真加程序)
[打印本頁]
作者:
qingqingyixiao
時間:
2018-9-18 16:10
標題:
基于C51單片機和ADC0804顯示電壓以及0-255數值(仿真加程序)
0.png
(14.29 KB, 下載次數: 84)
下載附件
2018-9-18 18:13 上傳
0.png
(49.11 KB, 下載次數: 84)
下載附件
2018-9-18 18:13 上傳
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table1[]="0123456789";
uchar table2[]="Vo:0.00V;Nu:000";
uchar table3[]="made by Xfei";
uchar num,x,adval,wen,dy,date;
sbit lcden=P3^2; //使能
sbit lcdrs=P3^0; //數據/指令
sbit lcdrw=P3^1; //讀/寫
sbit lcds1=P3^3;
sbit lcds2=P3^4 ;
sbit adwr=P3^6; //寫信號輸入端
sbit adrd=P3^7; //讀信號輸入端
sbit adcs=P3^5; //片選信號
//延時ms//
void delay(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
//MCU寫指令//
void write_com(uchar com)
{
lcdrs=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//MCU寫數據//
void write_date(uchar date)
{
lcdrs=1;
P2=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//初始化//
void init()
{
adcs=0;
lcdrw=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
/*
while(table3[num]!='\0')
{
write_date(table3[num++]);
delay(100);
}
lcden=1;
delay(1000);
lcden=0;
write_com(0x80+0x40);
num=0;//很重要!
while(table2[num]!='\0')
{
write_date(table2[num++]);
} */
}
/*小改嘻嘻*/
//顯示第一行//
void disp1()
{
uchar i;
write_com(0x80+0x00);
for (i=0;i<12;i++)
{
write_date(table3[i]);
delay(100);
}
}
//顯示第二行//
void disp2()
{
uchar i;
write_com(0x80+0x40);
for (i=0;i<12;i++)
{
write_date(table2[i]);
delay(100);
}
}
void set_shu1(uchar add,uchar date)
{
uchar bai,shi,ge;
bai=date/51;
shi=((date%51)*10/51);
ge=((date%51)*10%51)*10/51;
write_com(0x80+0x40+add); //地址
{
write_date(table1[bai]); //百位數值
}
write_com(0x80+0x40+add+2); //地址右移二位
{
write_date(table1[shi]); //十位數值
}
write_com(0x80+0x40+add+3); //地址右移三位
{
write_date(table1[ge]) ; //個位數值 //將值轉換成具體數
}
}
void set_shu2(uchar add,uchar date)
{
uchar bai,shi,ge;
bai=date/100;
shi=date%100/10;
ge=date%10;
write_com(0x80+0x40+add);
{
write_date(table1[bai]);
}
write_com(0x80+0x40+add+1);
{
write_date(table1[shi]);
}
write_com(0x80+0x40+add+2);
{
write_date(table1[ge]) ;
} //將電壓值轉換為0~225的值*/
}
void st_ad() //開AD
{
adwr=1;
_nop_();
adwr=0;
_nop_();
adwr=1;
}
void red_ad()//讀AD
{
adrd=1;
_nop_();
adrd=0;
_nop_();
adrd=0;
}
void main()
{
init();
disp1();
disp2();
while(1)
{
write_com(0x80+0x40+7);
st_ad();
set_shu1(3,adval);
set_shu2(12,adval);
red_ad();
adval=P1; //P1的值送給date
// dy=adval/255;
// P2=wen;
}
//while(1);
}
復制代碼
所有資料51hei提供下載:
ADC0804顯示電壓.rar
(61.54 KB, 下載次數: 69)
2018-9-18 16:08 上傳
點擊文件名下載附件
仿真和·源程序
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1