历史上的今天
今天是:2025年02月11日(星期二)
2020年02月11日 | 51单片机自动售水机
2020-02-11 来源:51hei
单片机源程序如下:
#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();
}
}
史海拾趣
|
中国汽车电子行业在汽车市场的带动下快速起步发展,然而与海外强手对抗时,往往不考虑汽车工业发达国家的先发优势,只关注经济效益瞄准高附加值的汽车电子产品。市场竞争中的成败不仅取决于产品的优劣,策略的高下也起着重要的决定性作用。 “我国 ...… 查看全部问答> |
|
小弟用的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(试用 ...… 查看全部问答> |
|
#include void main(void) { WDTCTL = WDTPW+WDTHOLD; P1DIR|=BIT6;//led输出 P1DIR&=~BIT3; P1REN|=BIT3;//使能上拉电阻 P1OUT|=BIT3 ...… 查看全部问答> |




