找回密码
 注册
关于网站域名变更的通知
查看: 650|回复: 1
打印 上一主题 下一主题

[毕业设计] 基于51单片机的水位控制器设计论文 带源码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-21 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于51单片机的水位控制器设计论文 带源码$ h: @1 C. g5 ^/ J

/ D* e% @- p% q9 y3 o
) p0 f7 ~% G; ~% ?
(1)画出电路原理图;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
(5)PCB文件生成与打印输出。
51单片机的水位控制器51单片机程序源码:

2 J6 L) W4 [+ X7 W
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispbitcode[]={0x03,0xf3,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
uchar dispbuf[6];
uint i,j,getdata,temp,temp1;
uchar count,d,k=1;
sbit CLK=P2^7;
sbit ST=P2^3;
sbit OE=P2^0;
sbit EOC=P2^2;
sbit adda=P2^4;
sbit addb=P2^5;
sbit addc=P2^6;
sbit seg0=P1^7;
sbit seg1=P3^2;
sbit seg2=P3^3;
sbit seg3=P3^4;
sbit seg4=P3^5;
sbit seg5=P3^6;
sbit seg6=P3^7;
sbit key1=P3^1;
void Delay(uint i);
void Display();
void key(void);
void key()
{
if(key1==0)
{
Delay(30);//按键消抖
while(key1==0);//判断是否真的消抖
k++;
if(k>=9)
k=1;
}
}
void adc0809()
{
ST=0;    //  初始化时
OE=0;    //使ST和OE信号全为低电平
ST=1;        //ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;
ST=0;    // ST下跳沿时,开始进行A/D 转
/*选择通道*/
{
if(k==1)
{
adda=0;  addb=0;  addc=0;
}
if(k==2)
{
adda=1;  addb=0;  addc=0;
}
if(k==3)
{
adda=0;  addb=1;  addc=0;
}
if(k==4)
{
adda=1;  addb=1;  addc=0;
}
if(k==5)
{
adda=0;  addb=0;  addc=1;
}
if(k==6)
{
adda=1;  addb=0;  addc=1;
}
if(k==7)
{
adda=0;  addb=1;  addc=1;
}
if(k==8)
{ adda=1;  addb=1;  addc=1;}
}

* a+ N! i9 e! p* q5 Q' W$ p! g
if(EOC==1)         //当EOC 为高电平时,表明转换结束
{
OE=1;                    //OE=1,输出转换得到的数据
getdata=P0;
OE=0;                  //输出数据线呈高阻状态
}
}
void main()
{

3 t1 v+ h3 W% D9 l! ]7 c
while(1)
{TMOD=0x10;
TH1=(65536-200)/256;
TL1=(65536-200)%256;
EA=1;
ET1=1;
TR1=1;
key();
{
adc0809();
temp=getdata*1.0/255*500;
dispbuf[0]=temp%10;
dispbuf[1]=temp/10%10;
dispbuf[2]=temp/100;
dispbuf[3]=8;//正向显示8
dispbuf[4]=k;//通道显示
dispbuf[5]=0;//待用
Display();
}
}
}
void Delay(uint i)
{
uint j;
for(;i>0;i--)
{
for(j=0;j<125;j++);
}
}
void Display()
5 m; @  l' i8 u6 o. {" I8 D" h/ X( \
{
P1=dispbitcode[dispbuf[3]];//端口显示位+第一管口亮
seg0=0;
seg1=0;
seg2=0;
seg3=0;
seg4=1;
seg5=0;
seg6=0;
Delay(5);
P1=0xff;
P1=dispbitcode[dispbuf[0]];//个位+第四管口亮
seg1=1;
seg2=0;
seg3=0;
seg4=0;
seg5=0;
seg6=0;
Delay(5);
P1=0xff;
P1=dispbitcode[dispbuf[1]];//十位+第三管口亮
seg1=0;
seg2=1;
seg3=0;
seg4=0;
seg5=0;
seg6=0;
Delay(5);
P1=0xff;
P1=dispbitcode[dispbuf[2]];//百位+第二管口亮
seg0=0;
seg1=0;
seg2=0;
seg3=1;
seg4=0;
seg5=0;
seg6=0;
Delay(5);
P1=0xff;
P1=dispbitcode[dispbuf[4]];//第2管口亮
seg1=0;
seg2=0;
seg3=0;
seg4=0;
seg5=1;
seg6=0;
Delay(5);
P1=0xff;
P1=dispbitcode[dispbuf[5]];//第1管口亮
seg1=0;
seg2=0;
seg3=0;
seg4=0;
seg5=0;
seg6=1;
Delay(5);
P1=0xff;
}
void t1(void) interrupt 3
{
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
}

! z% ?# J3 F  e2 ~* b8 D$ I* o. ?
下载:
游客,如果您要查看本帖隐藏内容请回复

  W$ z% V: [4 P- t% B- f9 H# Y

该用户从未签到

2#
发表于 2019-1-21 11:28 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 11:05 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表