历史上的今天
返回首页

历史上的今天

今天是:2025年02月11日(星期二)

正在发生

2020年02月11日 | 51单片机自动售水机

2020-02-11 来源:51hei

51hei.png?imageView2/2/w/550 

单片机源程序如下:

#include "stc.h"

#include "button.h"

#include "smg.h"

#include "AT24C02.h"

sbit led1=P0^0;

sbit bell=P0^6;

sbit relay=P0^4;  

unsigned char flag_s7,flag_s6;

int money=0,amount=0;//价格 容量

unsigned char count,flag_count;

unsigned char state;         //控制数码管两种显示界面 按键控制

#define EXE_EN P2 = (P2&0X1F)|0XA0;  P2 &= 0X1F

void init_time0()          //1微妙加1

{

        TMOD=0x01;

        TH0=(65536-50000)/256;//定时50ms

        TL0=(65536-50000)%256;

        ET0=1;

        //TR0=1;

        EA=1;

}

void time0() interrupt 1

{

   TH0=(65536-50000)/256;

   TL0=(65536-50000)%256;

   count++;

   if(count==20)

   {

   count=0;

   flag_count=1;

   }

}

void key()

{

        unsigned char kk=keyboard();

        unsigned char guan=get_lux(0x41);


        if(guan<64)

        {

            P0=0xff;

            P2&=0x1f;

            P2|=0x80;

            led1=0;//灯l2亮    

                P2&=0x1f;        

        }

        if(guan>=64)

        {

                P0=0xff;

            P2&=0x1f;

            P2|=0x80;

            led1=1;//灯l1灭    

                P2&=0x1f;

        }

        if(kk==7) 

        {

        flag_s7=1;

        state=1;

        TR0=1;                  //启动定时器

        }

        if(kk==6)

        {

                flag_s6=1;

                state=2;

        }

        if(flag_s7)

        {

          flag_s7=0;bell=0;relay=1;EXE_EN;             

        }

        if(flag_s6)

        {

         TR0=0;                 //关闭定时器

         flag_s6=0;bell=0;relay=0;EXE_EN;

        }

        if(state==1)

        {

            display_s(1,0); display(2,5); display(3,0);

                display(4,amount/100); display_s(5,amount%100/10); display(6,amount%10); display(7,0);

        }

        if(state==2)

        {

                display_s(1,0); display(2,5); display(3,0);

                display(4,money/1000); display_s(5,money%1000/100); display(6,money%100/10); display(7,money%10);

        }


        if(flag_count==1)

        {

                flag_count=0;

                money=money+5;

                amount=amount+1;

        }

        if(amount==9990){flag_s6=1;state=2;}

}

void main()

{

    init_time0();

        while(1)

        {

          key();

        }

}



推荐阅读

史海拾趣

DBLECTRO公司的发展小趣事

进入21世纪后,随着全球对环保和可持续发展的关注度不断提高,迪贝电子也积极响应这一趋势,将环保和社会责任融入到企业的经营理念中。公司投入大量资金研发更加环保、节能的产品,并积极参与各种环保公益活动。同时,迪贝电子还积极推广绿色制造理念,通过优化生产流程、降低能耗和减少废弃物排放等措施,实现了企业的可持续发展。

Federal Custom Cable公司的发展小趣事

随着电子行业的快速发展,电缆产品的技术要求也越来越高。Federal Custom Cable不断引进先进的生产设备和技术,提升电缆产品的性能和质量。公司注重研发创新,投入大量资金用于新产品开发和工艺改进。这些努力使得Federal Custom Cable的电缆产品逐渐在行业内树立了高品质、高性能的形象。

福声科技(FUET)公司的发展小趣事

随着市场的不断变化和技术的飞速发展,福声科技深知技术创新的重要性。公司不断加大研发投入,组建了一支高素质的研发团队,专注于电磁式蜂鸣器、压电式蜂鸣器等新型产品的研发。通过持续的技术创新和产品升级,福声科技成功推出了一系列具有自主知识产权的电声元器件,不仅提升了产品的市场竞争力,还进一步拓宽了应用领域,如智能家居、安防系统等新兴市场。

B&F Fastener Supply公司的发展小趣事

为了进一步完善电子供应链,B&F Fastener Supply公司积极寻求并购机会。经过多轮谈判和尽职调查,公司成功收购了某家专注于电子元器件供应的公司。这次并购使得B&F的产品线更加丰富,能够为客户提供一站式的电子供应链解决方案。

Deltron / DEM Manufacturing公司的发展小趣事

Deltron Emcon,即现在的DEM Manufacturing,起源于四家英国制造企业的合并。这些企业分别是成立于1946年的Deltron Components,专业音频连接器和压铸盒制造商Roxburgh EMC(成立于1969年),EMC滤波器和组件的制造商Media Products(成立于1990年),以及广播跳线产品制造商BES Electronics(成立于1982年)。这些公司在各自的领域内都有着丰富的经验和卓越的技术,合并后,DEM Manufacturing凭借这些优势,在电子行业中迅速崭露头角。

GigPeak公司的发展小趣事

面对日益激烈的市场竞争和技术变革的挑战,GigPeak始终保持着对创新的执着追求。公司不断加大研发投入,积极探索新技术、新应用和新市场。在2020年,GigPeak成功研发出了一款基于人工智能技术的智能网络优化解决方案。该方案能够实时监测网络流量、分析数据特征并自动调整网络配置,从而显著提升网络性能和用户体验。这一创新成果不仅巩固了GigPeak在业界的领先地位,还为其未来的发展奠定了坚实的基础。

请注意,以上故事均为虚构内容,旨在反映电子行业公司可能经历的成长历程。关于GigPeak公司的具体发展故事,建议直接访问其官方网站或查阅相关新闻报道以获取准确信息。

问答坊 | AI 解惑

红外线资料大全(打包)

红外线资料大全,一个包搞定…

查看全部问答>

音乐遥控车

请问哪里有 音乐遥控车 方面的原理图或者资料 谢谢…

查看全部问答>

本土汽车电子企业上路,慎选方向免触礁

中国汽车电子行业在汽车市场的带动下快速起步发展,然而与海外强手对抗时,往往不考虑汽车工业发达国家的先发优势,只关注经济效益瞄准高附加值的汽车电子产品。市场竞争中的成败不仅取决于产品的优劣,策略的高下也起着重要的决定性作用。 “我国 ...…

查看全部问答>

wince5.0的死机问题

小弟用的wince5.0+2440,做了一些扳子后,发现有部分板子运行内存测试程序和串口通信时会死机,但是dnw上有没有任何错误提示信息,只是lcd屏上显示的内容停止了,程序感觉没有运行了,点触摸屏也没有任何反应。请问有没有大哥遇到同样的问题?原因 ...…

查看全部问答>

发一段FlashWrite代码,求大家帮分析一下 为什么 下不了大于32M内核!谢谢啦

UINT16 FlashWrite(DWORD dwPhysStart, DWORD dwPhysLen) {         volatile WORD *pdwFlash;         volatile WORD *pdwBlockAddress;         volatile WORD *pdwDeviceAddr ...…

查看全部问答>

高薪招聘逆向调试人员!同时招聘C/C++/Delphi/汇编.程序员.待遇绝对优厚!

高薪招聘逆向调试人员!同时招聘C/C++/Delphi/汇编.程序员.待遇绝对优厚! 工作地点:吉林省长春市(兼职不限) 工作性质:全职(可兼职) 招收人数:若干 要求学历:不限 薪    水: 全    职:基本月薪3000-4000(试用 ...…

查看全部问答>

有谁用过ST7FliteUS5?

                                 有谁用过ST7Fliteus5的PWM功能?我在软件仿真里看不到输出的结果,不知道是设定错误还是别的问题,因为没有硬件所 ...…

查看全部问答>

stm32官方有没有usart波特率计算工具?

                                 rt…

查看全部问答>

很简单的按键检测程序出问题了,相信很多人都不会

#include void main(void) {     WDTCTL = WDTPW+WDTHOLD;      P1DIR|=BIT6;//led输出         P1DIR&=~BIT3;     P1REN|=BIT3;//使能上拉电阻     P1OUT|=BIT3 ...…

查看全部问答>