日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

第四届蓝桥杯单片机省赛 自动灌溉系统

發(fā)布時間:2024/1/1 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四届蓝桥杯单片机省赛 自动灌溉系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第四屆藍橋杯單片機省賽 自動灌溉系統(tǒng)

新手、所用驅動為大賽提供驅動

#include<stc15f2k60s2.h> #include "intrins.h"#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}?? ? #define SlaveAddrW 0xA0 #define SlaveAddrR 0xA1 #define uchar unsigned char #define uint unsigned int//總線引腳定義 sbit SDA2= P2^1;? /* 數(shù)據(jù)線 */ sbit SCL = P2^0;? /* 時鐘線 */ sbit SCK=P1^7;?? ??? ? sbit SDA1=P2^3;?? ??? ? sbit RST = P1^3;?? // DS1302復位#ifndef _IIC_H #define _IIC_H//函數(shù)聲明 void IIC_Start(void); void IIC_Stop(void); ? void IIC_Ack(bit ackbit); void IIC_SendByte(unsigned char byt); bit IIC_WaitAck(void); ? unsigned char IIC_RecByte(void);#endif#ifndef __DS1302_H #define __DS1302_Hvoid Write_Ds1302_Byte(unsigned? char temp); void Write_Ds1302( unsigned char address,unsigned char dat ); unsigned char Read_Ds1302 ( unsigned char address );#endif


?

uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff}; uchar shijian[]={0,30,8,0,0,0,0};//s,m,h, uchar yi,er,san,si,wu,liu,qi,ba; uchar shidu,fazhi; bit s6=0,jia=0,jian=0,status=0,kai=1,jidianqi=0;?? ? //status切換手動自動void allinit(void); void delayms(uint ms); void display1(uchar yi,uchar er); void display2(uchar san,uchar si); void display3(uchar wu,uchar liu); void display4(uchar qi,uchar ba); void keyscan(void); void keyscan16(void); uchar AD_read(uchar add); uchar EEPROM_read(uchar add); void EEPROM_write(uchar add,uchar dat); void DS_init(void); void DS_get(void);void main(void) {?? ?allinit();DS_init();P2=0x80;P0=0xfe;?? ?yi=0;er=8;san=10;si=3;wu=0;liu=10;qi=0;ba=0;//?? ?EEPROM_write(0x10,50);?? ?? //運行一次后可注釋 //?? ?delayms(5);fazhi=EEPROM_read(0x10);while(1){ ?DS_get();shidu=AD_read(0x03);if(status==0){if(shidu<fazhi){P2=0xa0;P0=0x10;?? ??? ??? ??? ??? ?//打開}else{P2=0xa0;P0=0x00;?? ??? ?//繼電器關閉}if(s6==1){if(jia==1){jia=0;fazhi=fazhi+1;}if(jian==1){jian=0;fazhi=fazhi-1;}yi=10;er=10;san=11;si=11;wu=11;liu=11;qi=fazhi/10;ba=fazhi%10;}else if(s6==0){yi=shijian[2]/10;er=shijian[2]%10;san=10;si=shijian[1]/10;wu=shijian[1]%10;liu=11;qi=shidu/10;ba=shidu%10;?? ?}}else if(status==1){if((shidu<fazhi)&&(kai==0)){if(jidianqi==1){P2=0xa0;P0=0x10;}else if(jidianqi==0){P2=0xa0;P0=0x00;}}if((shidu<fazhi)&&(kai==1)){if(jidianqi==1){P2=0xa0;P0=0x50;}else if(jidianqi==00){P2=0xa0;P0=0x40;}}else if(shidu>fazhi){if(jidianqi==1){P2=0xa0;P0=0x10;}else if(jidianqi==0){P2=0xa0;P0=0x00;}}yi=shijian[2]/10;er=shijian[2]%10;san=10;si=shijian[1]/10;wu=shijian[1]%10;liu=11;qi=shidu/10;ba=shidu%10;?? ?}//?? ??? ?EEPROM_write(0x10,220); //?? ??? ?delayms(5); //?? ??? ?fazhi=EEPROM_read(0x10); //?? ??? ?liu=fazhi/100;qi=fazhi%100/10;ba=fazhi%10;//?? ??? ?shidu=AD_read(0x03);//RB2-->0x03 //?? ??? ?liu=shidu/100;qi=shidu%100/10;ba=shidu%10;display1(yi,er);display2(san,si);display3(wu,liu);display4(qi,ba);keyscan();} }void keyscan(void) {if(P30==0){?? ??? ?delayms(5);if(P30==0){if(status==0){status=1;P2=0x80;P0=0xFD;}else if(status==1){status=0;P2=0x80;P0=0xfe;}}while(!P30);}if(P31==0){?? ??? ?delayms(5);if(P31==0){?? ?if(status==0){if(s6==0){s6=1;}else if(s6==1){s6=0;EEPROM_write(0x10,fazhi);;}else if(status==1){kai=~kai;}}}while(!P31);}if(P32==0){?? ??? ?delayms(5);if(P32==0){if(status==0){jia=1;}else if(status==1){jidianqi=1;}}while(!P32);}if(P33==0){?? ??? ?delayms(5);if(P33==0){if(status==0){jian=1;}if(status==1){jidianqi=0;}?? ??? ??? ?}while(!P33) ;} }void allinit(void) {P2=0xa0;?? ??? //關閉蜂鳴器繼電器P0=0x00;P2=0x80;?? ??? ? //關閉LED燈P0=0xff;P2=0xc0;?? //打開數(shù)碼管位選P0=0xff;P2=0xff;P0=0xff;?? //關閉所有數(shù)碼管 }void display1(uchar yi,uchar er) {P2=0xc0;?? ?//位選P0=0x01;?? ? //選擇第一個數(shù)碼管P2=0xff;??? //段選P0=tab[yi];delayms(1);P2=0xc0;P0=0x02;?? ?P2=0xff;?? ?P0=tab[er];delayms(1); }void display2(uchar san,uchar si) {P2=0xc0;?? ?P0=0x04;?? ?P2=0xff;?? ?P0=tab[san];delayms(1);P2=0xc0;P0=0x08;?? ?P2=0xff;?? ?P0=tab[si];delayms(1); }void display3(uchar wu,uchar liu) {P2=0xc0;?? ?P0=0x10;?? ?P2=0xff;?? ?P0=tab[wu];delayms(1);P2=0xc0;P0=0x20;?? ?P2=0xff;?? ?P0=tab[liu];delayms(1); }void display4(uchar qi,uchar ba) {P2=0xc0;?? ?P0=0x40;?? ?P2=0xff;?? ?P0=tab[qi];delayms(1);P2=0xc0;P0=0x80;?? ?P2=0xff;?? ?P0=tab[ba];delayms(1); }void delayms(uint ms) {uint i,j;for(i=ms;i>0;i--)for(j=845;j>0;j--);}

?

?

總結

以上是生活随笔為你收集整理的第四届蓝桥杯单片机省赛 自动灌溉系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。