标题:
数字电压表0809
[打印本页]
作者:
小翠
时间:
2017-7-19 13:40
标题:
数字电压表0809
多路数字电压表
0.png
(24.37 KB, 下载次数: 92)
下载附件
2017-7-19 16:32 上传
0.png
(48.31 KB, 下载次数: 96)
下载附件
2017-7-19 16:32 上传
单片机源程序如下:
#include<reg52.h>
#include"1602.h"
#define uint unsigned int
#define uchar unsigned char
sbit ale=P2^6;
sbit start=P2^7;
sbit eoc=P3^0;
sbit oe=P3^1;
sbit adda=P2^0;
sbit addb=P2^1;
sbit addc=P2^2;
uchar add;
uint voltdata,realvolt;
void addselect()
{
switch(add)
{
case 0:adda=0;addb=0;addc=0;break;
case 1:adda=1;addb=0;addc=1;break;
case 2:adda=0;addb=1;addc=0;break;
default:break;
}
}
uint adtrans()
{
addselect();
ale=1;
ale=0;
start=1; //启动AD转换。
start=0;
while(eoc==0); //等待转换结束。
oe=1;
voltdata=P1; //出入转换结果。
delay(1);
oe=0;
voltdata=(100*voltdata)/51; //处理运算结果。
return voltdata;
}
void disvolt()
{
uchar qian,bai,shi,ge;
switch(add)
{
case 0:realvolt=voltdata;writelcd_cmd(0x80+15);writelcd_dat('0');writelcd_cmd(0xc0+4);writelcd_dat('0');writelcd_dat('5');break;
case 1:realvolt=voltdata*2;writelcd_cmd(0x80+15);writelcd_dat('1');writelcd_cmd(0xc0+4);writelcd_dat('1');writelcd_dat('0');break;
case 2:realvolt=voltdata*10;writelcd_cmd(0x80+15);writelcd_dat('2');writelcd_cmd(0xc0+4);writelcd_dat('5');writelcd_dat('0');break;
default:break;
}
qian=realvolt/1000;
bai=realvolt%1000/100;
shi=realvolt%100/10;
ge=realvolt%10;
writelcd_cmd(0xc0+9);
writelcd_dat(qian+0x30);
writelcd_dat(bai+0x30);
writelcd_cmd(0xc0+12);
writelcd_dat(shi+0x30);
writelcd_dat(ge+0x30);
}
void init()
{
EA=1;
EX0=1;
IT0=1;
add=0;
lcd_init();
}
void main()
{
init();
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
数字电压表.rar
(102.52 KB, 下载次数: 52)
2017-7-19 13:39 上传
点击文件名下载附件
好用
下载积分: 黑币 -5
作者:
无根草
时间:
2017-9-9 10:23
好东西正是我需要的
作者:
无根草
时间:
2017-9-9 13:24
兄弟加下你微信
作者:
36521516
时间:
2017-12-11 09:17
兄弟 你这没有源程序啊 只有电路图
作者:
xuquanjin123
时间:
2018-5-7 02:56
看起来不错~~~!!!支持
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1