欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于15單片機(jī)的自動(dòng)售水機(jī)裝置設(shè)計(jì)程序 藍(lán)橋杯CT107資料
[打印本頁(yè)]
作者:
啊哈呦
時(shí)間:
2017-12-30 17:13
標(biāo)題:
基于15單片機(jī)的自動(dòng)售水機(jī)裝置設(shè)計(jì)程序 藍(lán)橋杯CT107資料
(分享設(shè)計(jì))有意參加藍(lán)橋杯的童鞋可借鑒參考。
軟件環(huán)境: Keil uVision 4.10
硬件環(huán)境: CT107單片機(jī)綜合實(shí)訓(xùn)平臺(tái)(12MHz)
所有資料51hei提供下載:
自動(dòng)售水機(jī).rar
(36.09 KB, 下載次數(shù): 22)
2017-12-30 17:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
單片機(jī)源程序如下:
#include "iic.h"
#define temp P3
#define uchar unsigned char
#define uint unsigned int
sbit d6=P4^2;
sbit d7=P4^4;
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar code led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar dispuff[8]={0xc0,0x12,0xc0,0xc0,0xc0,0x40,0xc0,0xc0};
uchar v0,v1,v2,v3,p0,p1,p2,p3,m0,m1,m2,m3;
uint p,v;
uchar buzz,rel,count,light_value;
uchar start_flag;
void choose(uchar t)
{
switch(t)
{
case 4:P2=((P2&=0x1f)|0x80);break;
case 5:P2=((P2&=0x1f)|0xa0);break;
case 6:P2=((P2&=0x1f)|0xc0);break;
case 7:P2=((P2&=0x1f)|0xe0);break;
case 0:P2&=0x1f;break;
}
// _nop_();
// _nop_();
// P2=0x00;
}
void delay(uint ms)
{
uchar i,j;
while(ms--)
{
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do
{
while(--j);
} while(--i);
}
}
void display(uchar loc,uchar duan)
{
P0=led[loc];choose(6);choose(0);
P0=duan; choose(7);choose(0);
}
void buzzer(uchar t)
{
if(t==0)
{
P0&=0xbf;choose(5);choose(0);
}
if(t==1)
{
P0|=0x40;choose(5);choose(0);
}
}
void relay(uchar t)
{
if(t==0)
{
P0&=0xef;choose(5);choose(0);
}
if(t==1)
{
P0|=0x10;choose(5);choose(0);
}
}
uchar key_scan(void)
{
uchar key_value=16;
temp=0x0f;d6=0;d7=0;
if(temp!=0x0f)
{
delay(20);
if(temp!=0x0f)
{
switch(temp)
{
case 0x0e:key_value=0;break;
case 0x0d:key_value=4;break;
case 0x0b:key_value=8;break;
case 0x07:key_value=12;break;
}
temp=0xf0;d6=1;d7=1;
if(d7==0)key_value+=0;while(d7==0);
if(d6==0)key_value+=1;while(d6==0);
if(temp==0xd0)key_value+=2;while(temp==0xd0);
if(temp==0xe0)key_value+=3;while(temp==0xe0);
}
}
return key_value;
}
void show(uchar t)
{
if(t==0)
{
dispuff[1]=tab[0]+0x80;
dispuff[2]=tab[5];
dispuff[3]=tab[0];
dispuff[4]=tab[v3];
dispuff[5]=tab[v2]+0x80;
dispuff[6]=tab[v1];
dispuff[7]=tab[v0];
}
if(t==1)
{
dispuff[1]=tab[0]+0x80;
dispuff[2]=tab[5];
dispuff[3]=tab[0];
dispuff[4]=tab[p3];
dispuff[5]=tab[p2]+0x80;
dispuff[6]=tab[p1];
dispuff[7]=tab[p0];
}
}
uchar ad_get(uchar addr)
{
uchar dat;
IIC_Start();
IIC_SendByte(0x90);IIC_WaitAck();
IIC_SendByte(addr);IIC_WaitAck();
IIC_Start();
IIC_SendByte(0x91);IIC_WaitAck();
dat=IIC_RecByte();IIC_Ack(0);
IIC_Stop();
return dat;
}
void Timer1Init(void) //2毫秒@11.0592MHz
{
AUXR |= 0x40; //定時(shí)器時(shí)鐘1T模式
TMOD &= 0x0F; //設(shè)置定時(shí)器模式
TL1 = 0x9A; //設(shè)置定時(shí)初值
TH1 = 0xA9; //設(shè)置定時(shí)初值
EA=1;
ET1=1;
TF1 = 0; //清除TF1標(biāo)志
TR1 = 1; //定時(shí)器1開始計(jì)時(shí)
}
void Timer0Init(void) //2毫秒@11.0592MHz
{
AUXR |= 0x80; //定時(shí)器時(shí)鐘1T模式
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TL1 = 0x9A; //設(shè)置定時(shí)初值
TH1 = 0xA9; //設(shè)置定時(shí)初值
EA=1;
ET0=1;
TF0 = 0; //清除TF0標(biāo)志
TR0 = 1; //定時(shí)器0開始計(jì)時(shí)
}
void main()
{
uchar value;//s;
Timer1Init();
Timer0Init();
while(1)
{
value=key_scan();
// s=ad_get(0x43);
// dispuff[0]=tab[s%1000/100];
// dispuff[1]=tab[s%100/10];
// dispuff[2]=tab[s%10];
if(value==0)
{
rel=1;start_flag=1;
}
if(start_flag==1)show(0);
if(value==4)
{rel=0;start_flag=2;
}
if(start_flag==2)
{show(1);
v0=0;v1=0;v2=0;v3=0;}
}
}
void timer1(void) interrupt 3
{
static uchar m=0;
buzzer(buzz);
relay(rel);
display(m,dispuff[m]);
m++;
if(m==8)m=0;
}
void timer0(void) interrupt 1
{
count++;
light_value=ad_get(0x41);
if(light_value<64)
{P0|=0xff;choose(4);P0&=0xfe;choose(0);}
if(light_value>64)
{P0=0xff;choose(4);choose(0);}
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1