欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機模擬洗衣機的查詢,預定(藍牙,定時器)幫別人做的設計源碼
[打印本頁]
作者:
李孟龍
時間:
2018-4-20 20:57
標題:
51單片機模擬洗衣機的查詢,預定(藍牙,定時器)幫別人做的設計源碼
最近閑的無聊,就接了5個系里面同學的畢業設計,這幾天加班累得我,當然是收費的,都是同學,差不多就500一個,然而班級一個同學讓我幫他調設備,也是網上買的,居然花了2800,社會,社會........老子做了5個,還沒人家一個賺的多,小豬佩奇送給自己安慰一下自己。。。。。。。。廢話不想說,直接看代碼吧.....都是很簡單的,很多東西都是現成的,我就是為了騙黑幣。。。。。。暴露自己了
單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
typedef bit BOOL;
unsigned int sec = 0,min = 0,aa,tmp;
unsigned char ss,sg,ms,mg,count,count1;
sbit key1 = P0^0; //系統啟動按鍵
sbit key2 = P0^1; //投幣三元按鍵
sbit beep = P3^7; //蜂鳴器,洗衣完成
sbit led1 = P0^2; //等待運行燈
sbit led2 = P0^3; //系統運行燈
sbit led3 = P0^4; //網上預約燈
sbit rs=P0^7;
sbit rw=P0^6;
sbit lcden=P0^5;
char code dis1 []={"Waiting To Run!"};
char code dis2 []={"system running!"};
char code dis3 []={"time remaining:"};
void delay_ms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void send(unsigned char a) //單字節發送函數
{ //注意:若單片機TXD(P3.1)無上拉能力,必須在P3.1端接上拉電阻
ES =0;
TI=0;
SBUF=a;
while(TI==0);
TI=0;
ES = 1;
}
void send_str(unsigned char *str) //發送字符串函數
{
while(*str != '\0')
send(*str++);
}
void ctrl() //接收處理函數
{
switch(tmp)
{
case '1': //查詢洗衣機是否被預約
if(count1 == 0)
{
send_str(" the system is not running\n! ");
}
else
{
send_str(" the system is running\n! ");
}
break;
case '2': //查詢洗衣機剩余洗衣時間
if(count1 == 0)
{
send_str(" time remaining: 00:00\n");
}
else
{
send_str(" time remaining: \n");
send((unsigned char) 2-ms+'0');
send((unsigned char) 9-mg+'0');
send(':');
send((unsigned char) 5-ss+'0');
send((unsigned char) 9-sg+'0');
send('\n');
}
break;
case '3': //預定洗衣機
led3 = 1;
count1 = 1;
send_str(" the machines is reserved by you!\n");
break;
case '4': //啟動洗衣機
led2 = 1;
led3 = 0;
count = 3;
break;
default:
break;
}
}
void init(void)
{
ES=0; //關中斷
SCON = 0x50; // REN=1允許串行接受狀態,串口工作模式1,
//10位UART(1位起始位,8位數據位,1位停止位,無奇偶校驗),波特率可變
TMOD = 0x21;
TH0 = (65535-50000)/256;
TL0 = (65535-50000)%256;
TH1=TL1=0xFD; // 波特率9600 (本次測試采用晶振為11.0592)
PCON &= 0x7f; // 波特率不倍增
TR1 = 1; //定時器1開始工作,產生波特率
//發送標志位置0
TI=0; //接收標志位置0
RI=0;
ES=1;
EA = 1; //開總中斷
ET0 = 1; //開定時器中斷
}
void write_com(uchar com)
{
rs=0;
lcden=0;
P2=com;
delay_ms(5);
lcden=1;
delay_ms(5);
lcden=0;
}
void write_date(uchar date)
{
rs=1;
lcden=0;
P2=date;
delay_ms(5);
lcden=1;
delay_ms(5);
lcden=0;
}
void lcd_init()
{
rw=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void write_fm(uchar add,uchar data1,uchar data2)
{
write_com(0x80+0x40+add);
write_date(0x30+data1);
write_date(0x30+data2);
}
void main()
{
char i = 0;
init();
lcd_init();
led1 =1;
led2 =0;
led3 =0;
beep = 0;
key1 = 1;
key2 = 1;
count1 = 0; //0為系統沒有運行;1為系統已經被預定
write_com(0x80);
i=0;
while (dis1 [i]!='\0')
{
write_date(dis1 [i]);
i++;
}
while(key1 == 1)
{
if(count == 3)
{
count = 0;
led2 = 1;
write_com (0x01);
while(1)
{
TR0 = 1; //開啟定時器
ss = sec/10;
sg = sec%10;
ms = min/10;
mg = min%10;
write_com(0x80);
i=0;
while (dis1 [i]!='\0')
{
write_date(dis3 [i]);
i++;
}
write_fm(4,2-ms,9-mg);
write_date(':');
write_fm(7,5-ss,9-sg);
if(ms == 2&&mg == 9&&ss == 5&&sg == 9)
{
ET0 = 0;
TR0 = 0; //關定時器
}
}
}
}
if(key1 == 0)
{
delay_ms(20);
write_com (0x01);
while(key1 != 1)
{
led1 = 0;
write_com(0x80);
i=0;
while (dis2 [i]!='\0')
{
write_date(dis2 [i]);
i++;
}
count1 = 1; //人工投幣
if(key2 == 0)
{
delay_ms(20);
if(key2 == 0)
{
count++;
while(!key2);
}
}
if(count == 3)
{
count = 0;
led2 = 1;
write_com (0x01);
while(1)
{
TR0 = 1; //開啟定時器
ss = sec/10;
sg = sec%10;
ms = min/10;
mg = min%10;
write_com(0x80);
i=0;
while (dis1 [i]!='\0')
{
write_date(dis3 [i]);
i++;
}
write_fm(4,2-ms,9-mg);
write_date(':');
write_fm(7,5-ss,9-sg);
if(ms == 2&&mg == 9&&ss == 5&&sg == 9)
{
ET0 = 0;
TR0 = 0; //關定時器
}
}
}
}
}
}
void timer0() interrupt 1
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
趙桂黎.rar
(44.86 KB, 下載次數: 40)
2018-4-20 20:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
irz123
時間:
2019-6-19 17:43
2800,基本操作啦
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1