欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于51單片機的TCL1865電壓測量仿真程序
[打印本頁]
作者:
houyannian
時間:
2017-7-27 21:53
標題:
基于51單片機的TCL1865電壓測量仿真程序
基于51單片機的TCL1865電壓測量仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(20.07 KB, 下載次數: 42)
下載附件
2017-7-28 00:00 上傳
0.png
(36.93 KB, 下載次數: 47)
下載附件
2017-7-27 23:59 上傳
單片機源程序如下:
#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define disp_dot 0x2e
#define disp_V 0x56
#define data1602 P0 // 定義LCD1602數據接口
uchar code disp_code[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
ulong voltage_data;
sbit rs1602 = P2^4;
sbit rw1602 = P2^5;
sbit e1602 = P2^6;
sbit CONV=P1^0;
sbit SCK=P1^1;
sbit SDO=P1^2;
sbit SDI =P1^3;
void delay (uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
/* LCD1602寫入數據 */
void write_1602(uchar wdata)
{
data1602 = wdata;
rs1602 = 1;
rw1602 = 0;
e1602 = 1;
delay(4);
e1602 = 0;
}
/*LCD1602寫命令*/
void write_order(uchar odata)//
{
data1602 = odata;
rs1602 = 0;
rw1602 = 0;
e1602 = 1;
delay(4);
e1602 = 0;
}
/*LCD1602初始化*/
void init_1602(void)//
{
write_order(0x01); // 清屏幕
write_order(0x38); // 數據長度為8位,雙行顯示,5*7字符
write_order(0x0c); // 打開顯示開關,光標不閃爍
write_order(0x06); // 地址計數遞增,顯示屏不移動
}
/*LCD1602寫位置*/
void position(uchar row,uchar colum)
{
uchar pos;
if(row==1)
{
pos=0x80+colum;
}
else
{
pos=0xC0+colum;
}
write_order(pos);
}
/*LCD1602字符串*/
void write_byte(uchar *s)//
{
for(;*s!='\0';s++)
{
write_1602(*s);
}
}
/*讀LTC1865通道0的AD值*/
void read_adc_ch0(void)
{
uchar j;
voltage_data = 0;
SDO = 1;
CONV = 1; // 開啟AD轉換
SCK = 1;
CONV = 0;
SCK = 0;
for(j=15;j>0;j--)
{
SCK = 0;
if(j == 15)
{
SDI = 1;
}
if(j == 14)
{
SDI = 0;
}
if(SDO==1)
{
voltage_data = voltage_data + 1;
}
voltage_data <<= 1;
SCK = 1;
}
CONV = 1;
SCK = 1;
}
/*讀LTC1865通道1的AD值*/
void read_adc_ch1(void)
{
uchar j;
voltage_data = 0;
SDO = 1;
CONV = 1; // 開啟AD轉換
SCK = 1;
CONV = 0;
SCK = 0;
for(j=15;j>0;j--)
{
SCK = 0;
if(j == 15)
{
SDI = 1;
}
if(j == 14)
{
SDI = 1;
}
if(SDO==1)
{
voltage_data = voltage_data + 1;
}
voltage_data <<= 1;
SCK = 1;
}
CONV = 1;
SCK = 1;
}
/* 顯示通道電壓*/
void disp_voltage(uchar i)
{
switch(i)
{
case 0:
read_adc_ch0();
position(1,0);
write_byte("CHANNEL0=");
break;
case 1:
read_adc_ch1();
position(1,0);
write_byte("CHANNEL1=");
break;
}
voltage_data = (voltage_data*5000)/65536; // AD采樣值處理
write_order(0x89);
write_1602(disp_code[voltage_data/1000]);
write_order(0x8b);
write_1602(disp_code[voltage_data%1000/100]);
write_order(0x8c);
write_1602(disp_code[voltage_data%1000%100/10]);
write_order(0x8d);
write_1602(disp_code[voltage_data%1000%100%10]);
}
/* 發送通道電壓*/
void send_voltage(uchar i)
{
switch(i)
{
case 0:
SBUF=67;while(!TI);TI=0;
SBUF=72;while(!TI);TI=0;
SBUF=65;while(!TI);TI=0;
SBUF=78;while(!TI);TI=0;
SBUF=78;while(!TI);TI=0;
SBUF=69;while(!TI);TI=0;
SBUF=76;while(!TI);TI=0;
SBUF=48;while(!TI);TI=0;
SBUF=61;while(!TI);TI=0;
read_adc_ch0();
break;
case 1:
SBUF=67;while(!TI);TI=0;
SBUF=72;while(!TI);TI=0;
SBUF=65;while(!TI);TI=0;
SBUF=78;while(!TI);TI=0;
SBUF=78;while(!TI);TI=0;
SBUF=69;while(!TI);TI=0;
SBUF=76;while(!TI);TI=0;
SBUF=49;while(!TI);TI=0;
SBUF=61;while(!TI);TI=0;
read_adc_ch1();
break;
}
voltage_data = (voltage_data*5000)/65536; // AD采樣值處理
SBUF=voltage_data/1000+48;while(!TI);TI=0;
SBUF=46;while(!TI);TI=0;
SBUF=voltage_data%1000/100+48;while(!TI);TI=0;
SBUF=voltage_data%1000%100/10+48;while(!TI);TI=0;
SBUF=voltage_data%1000%100%10+48;while(!TI);TI=0;
SBUF=86;while(!TI);TI=0;
SBUF=32;while(!TI);TI=0;
SBUF=32;while(!TI);TI=0;
}
/*寫入小數點和電壓單位符號*/
void disp_symbol(void)
{
position(1,10);
write_1602(disp_dot);
position(1,15);
write_1602(disp_V);
}
void disp_logo()
{
unsigned char i;
unsigned char *p;
p="VOLTAGE MEASURE";
delay(10);
position(1,0);
write_byte(" HELLO WORLD ");
for(i=0;i<15;i++)
{
position(2,i);
write_1602(*p);
p++;
delay(250);
}
delay(250);
i=0;
}
void uart_init(void)
{
TMOD=0x20;
SM0=0;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
電壓測量系統.rar
(66.47 KB, 下載次數: 77)
2017-7-27 21:52 上傳
點擊文件名下載附件
基于51單片機的TCL1865電壓測量系統
下載積分: 黑幣 -5
作者:
玲玲棲
時間:
2021-6-25 08:56
謝謝鐵子的分享,學到了很多
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1