#include#defineuintunsignedint#defineucharunsignedcharucharflag;//水位是否蜂鸣器报警标志位uchardang;//水位高度的档位ucharshuiwei,shuiweige,shuiweishi;ucharcodeta...

#include

#define uint unsigned int

#define uchar unsigned char

uchar flag; //水位是否蜂鸣器报警标志位

uchar dang; //水位高度的档位

uchar shuiwei,shuiweige,shuiweishi;

uchar code table[]={0x3F,0x06,0x5b,0x4f,

0x66,0x6D,0x7D,0x07,0x7F,0x6F};

sbit yellow=P2^0;

sbit red=P2^1;

sbit green=P2^2;

sbit led1=P2^3;

sbit led2=P2^4;

sbit motor1=P2^5;

sbit motor2=P2^6;

sbit speak=P2^7;

/*延时程序*/

void delay(uint a)

{

uint i,j;

for(i=a;i>0;i--)

for(j=110;j>0;j--);

}

/*led显示程序*/

void led_show(uchar dang)

{

shuiwei=dang*10;

shuiweige=shuiwei%10;

shuiweishi=shuiwei/10;

led1=0;

led2=1;

P0=table[shuiweishi];

delay(5);

led1=1;

led2=0;

P0=table[shuiweige];

delay(5);

P3=0X00;

}

/*蜂鸣器程序*/

void SPEAK()

{

if(flag==1)

{

speak=~speak;

delay(1);//水位低报警

}

if(flag==2)

{

speak=~speak;

delay(2);//水位高报警

}

led_show(dang);

}

/*主程序*/

void main()

{

while(1)

{

if(P1==0xFF)//000最低水位

{

dang=0;

led_show(dang);

yellow=1;//水位警示灯

red=0;//红灯表示水位过低

green=1;//绿灯表示水位正常

motor1=1;//电动机正转供水

motor2=0;

flag=1;

while(P1==0xFF)

{

SPEAK();

}

}

if(P1==0x7F)//100水位

{

dang=1;

led_show(dang);

yellow=1;

red=0;

green=1;

motor1=1;

motor2=0;

flag=1;

while(P1==0x7F)

{

SPEAK();

}

}

if(P1==0x3F)//200水位

{

dang=2;

led_show(dang);

yellow=1;

red=0;

green=1;

motor1=1;

motor2=0;

flag=1;

while(P1==0x3F)

{

SPEAK();

}

}

if(P1==0x1F)//300水位

{

dang=3;

led_show(dang);

yellow=1;

red=1;

green=0;//水位正常

motor1=0;//电动机停止转动

motor2=0;

flag=0;

while(P1==0x1F)

{

SPEAK();

}

}

if(P1==0x0F)//400水位

{

dang=4;

led_show(dang);

yellow=1;

red=1;

green=0;

motor1=0;

motor2=0;

flag=0;

while(P1==0x0F)

{

SPEAK();

}

}

if(P1==0x07)//500水位

{

dang=5;

led_show(dang);

yellow=1;

red=1;

green=0;

motor1=0;

motor2=0;

flag=0;

while(P1==0x07)

{

SPEAK();

}

}

if(P1==0x03)//600水位

{

dang=6;

led_show(dang);

yellow=0;//黄灯表示水位过高

red=1;

green=1;

motor1=0;

motor2=1;//电动机反转排水

flag=2;

while(P1==0x03)

{

SPEAK();

}

}

if(P1==0xFE)//700水位

{

dang=7;

led_show(dang);

yellow=0;

red=1;

green=1;

motor1=0;

motor2=1;

flag=2;

while(P1==0xFE)

{

SPEAK();

}

}

if(P1==0x00)//800水位

{

dang=8;

led_show(dang);

yellow=0;

red=1;

green=1;

motor1=0;

motor2=1;

flag=2;

while(P1==0x00)

{

SPEAK();

}

}

}

}

展开

两位一体数码管引脚图_两位一体共阴数码管,第二位数字显示不出来,按钮第7按钮按下去来回显示,但第一位又不显示了,,,急...相关推荐

  1. 两位一体数码管引脚图_两位一体数码管 两位一体数码管全新现货

    数码管驱动方式概述: 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类. 1.静态显示驱动 静态驱动也称直流驱 ...

  2. python编辑七段数码管引脚图_少儿Python程序第十二讲:单片机控制数码管

    本讲继续学习用Python控制单片机,并用单片机连接和控制其它硬件,具体目标是利用开发板控制四位数码管,显示指定的数字.实验效果如图12.1所示:图12.1 单片机控制四位数码管显示数字 注意:请先把 ...

  3. 两位一体数码管引脚图_一种智能LED数码管的制作方法

    本实用新型涉及智能控制技术领域,特别是一种智能LED数码管. 背景技术: 我国的LED数码管产业在政策.资金.市场的推动下飞速发展,无论是产值规模还是产业链建设都取得了较好的成绩.但是,从全球视野看, ...

  4. 两线怎么接三线插座图_两根线怎么接三孔插座?两根线接三孔插座注意事项

    在生活中有时候你也许会碰到两根线来接三孔插座的情况,这对于很多电力知识不足的人可能就会感到很困惑了,这有点不符合平常的接线习惯啊.就算两根线可以接 三孔插座的话,在接线时是不是有些事项需要注意呢?既然 ...

  5. python绘制七段数码管引脚图_多个数码管显示

    1.余晖效应 流水灯如果在流速太快的基础上再加速,那么我们看到的则是一排灯都在亮着,这就叫人眼的余晖效应.同理,我们想让多个数码管同时亮,那么就要让三八译码器的IO0~IO5每个输出引脚轮流快速切换出 ...

  6. python编辑七段数码管引脚图_初识原理图

    在中学物理电路知识中,用简易电路图表示电路的实际连接情况,而在单片机硬件连接上,我们则用原理图来表示单片机的引脚与开发板板上的芯片等相关硬件的引脚通过电路板上的覆铜线两者相连. 1.回顾 单片机入门往 ...

  7. python打印七段数码管引脚图_前辈学51单片机的感悟是怎么样的?说说看

    从事安卓底层开发,工作一年,个人看法 ,处女答.个人感脚51就是就是搞嵌入式第一门技术.把c语言,模数电,硬件画板等第一次联系起来.在学校的时候我们的学习路线是: 1 : 51单片机(大二上学期的时候 ...

  8. 两线怎么接三线插座图_两根线怎么接三孔插座,应注意什么

    三孔插座是如今很多电气设备的配套插座,所以,安装三孔插座是有必要的.对于两根线接三孔插座,就是我们通常所说的零线和火线两根线.那么,两根线如何接到三孔插座里呢,应该注意什么呢?以下是详细介绍,一起来看 ...

  9. 两位一体数码管引脚图_LED数码管你知道多少?

    点击"电工电气学习"关注即可免费订阅! 电工学习网:www.diangon.com 关注电工学习网官方微信公众号"电工电气学习",收获更多经验知识. 随着生产自 ...

最新文章

  1. HDU 4831 Scenic Popularity 暴力模拟
  2. Nginx反向代理多个应用时,通过BluePring使Flask支持二级路径(URL前缀)
  3. R语言:expand.grid() 函数解析
  4. CornerNet: Detecting Objects as Paired Keypoints
  5. 麻省理工学院给研究生的文献阅读方法,简单高效!
  6. 原生的强大DOM选择器querySelector - querySelector和querySelectorAll
  7. 给小白的 Nginx 30分钟入门指南
  8. Linux下删除mysql安装包相关内容信息
  9. EastFax传真服务器与单机传真软件什么区别
  10. 软件Craft.io指导
  11. Excel分列功能的使用
  12. 利益相关者在敏捷项目管理中有什么用?
  13. 最大似然估计总结笔记
  14. 打开Docx文件的方法
  15. 苹果吃鸡蓝牙耳机推荐
  16. Android端h5不能选择图片,weui公众号开发h5部分手机不能选择图片及拍照问题
  17. 喜大普奔!CATIA to SuperMap 模型转换插件横空出世!
  18. python后端脚本停止运行_Python 启动/停止脚本(后台服务)
  19. 计算机函数汇总,计算机二级EXCEL必考函数汇总
  20. Adobe Acrobat DC 自动更新后,激活失效,解决方法

热门文章

  1. 同域内测试蠕虫的一种方法
  2. 马路上的“懦夫游戏”和比特币现金共识升级冲突
  3. OP_Codes为BCH带来更多更好的解决方案
  4. (十六)java springcloud版b2b2c社交电商spring cloud分布式微服务-使用spring cloud Bus刷新配置...
  5. Zookeeper之javaAPI的使用
  6. 三种方法实现CSS三栏布局
  7. PostgreSQL 10.1 手册_前言_2. PostgreSQL简史
  8. 大牛告诉你,只有突破程序员思维,才不会沦为码农!
  9. 最好用的嵌入式网络C库、Lua库
  10. thymleaf th:text 和 th:utext 之间的区别