freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)80c51模擬路燈控制系統(tǒng)的課題設(shè)計(jì)(參考版)

2024-09-01 18:08本頁(yè)面
  

【正文】 ADCSRA|=BIT(7)。=0XF8 //傳感器方向定義輸入 define KEY_data PINB //傳感器鍵端口 uchar turn,turn1=1,error。 } delay(5)。239。)。 display(0x80+0x0b,39。:39。)。 display(0x80+0x09,39。r39。)。 display(0x80+0x07,39。r39。)。 display(0x80+0x05,39。e39。)。 display(0x80+0x0c,39。 39。)。 display(0x80+0x0a,39。 39。)。 display(0x80+0x08,39。o39。)。 display(0x80+0x06,39。r39。)。 } } } } } if(error==1) { display(0x80+0x04,39。 case 6:{LCD1602_write_(0x80+0x4b)。 case 5:{LCD1602_write_(0x80+0x4a)。 case 4:{LCD1602_write_(0x80+0x48)。 case 3:{LCD1602_write_(0x80+0x47)。 case 2:{LCD1602_write_(0x80+0x45)。 } switch(i)//右移一位 { case 1:{LCD1602_write_(0x80+0x44)。} 26 break。=0xF0。 case 6:{gettime[0]+=0x01。display(0x80+0x4A,table[gettime[0]/16])。if(gettime[0]/165)gettime[0]amp。} break。=0xF0。 case 4:{gettime[1]+=0x01。display(0x80+0x47,table[gettime[1]/16])。if(gettime[1]/165)gettime[1]amp。} break。=0xF0。 case 2:{gettime[2]+=0x01。display(0x80+0x44,table[gettime[2]/16])。if(gettime[2]/162)gettime[2]amp。 break。} break。DS1302_writeD(C_SEC|WR,CLK_START)。 while(1) { if(key_press()) { switch(key_scan())//步進(jìn)加一 { case 0x0:{i=0。 delay(1)。 if(key_press()) { if(key_scan()==0x0) { DS1302_getT(gettime)。 display(0x80+0x4a,table[gettime[0]/16])。 25 display(0x80+0x47,table[gettime[1]/16])。 } } display(0x80+0x44,table[gettime[2]/16])。 PORTB|=BIT(4)。 if(k==3) { shezhi=0。 if(chucun[1]==gettime[1]) k=2。 kongzhi()。b++) chucun[b]=settime[b]。 for(b=0。:39。)。 display(0x80+0x46,39。 DS1302_portinit()。 DDRB|=0x50。 uchar settime[7]={0x50,0x59,0x23,0x01,0x01,0x06,0x07}。 } return key。 } 24 while(key_press())。 break。 break。 PORTBamp。 PORTBamp。 break。 break。 break。=0XF8。 if(key_press()) { key=KEY_DATA。 } } /******************************************* 函數(shù)名稱 : key_scan 功 能 : 檢測(cè)是哪個(gè)鍵按下 參 數(shù) : 無 返回值 : key /********************************************/ uchar key_scan() { uchar key。 if(temp==0XF8) 23 { return 0。 tempamp。 KEY_IN。 KEY_OUT。 delay(2)。 delay(2)。=~BIT(RTC_CLK)。=~BIT(RTC_CS)。i++) //時(shí)間數(shù)據(jù)的存放格式是: { //秒,分,時(shí),日,月,星期,年,控制 time[i]=DS1302_readB()。 // 0xbf:時(shí)鐘多字節(jié)讀取命令 for (i=0。 //拉高片選端 delayns(10)。 delayns(10)。 //拉低片選端 return data。 //拉低時(shí)鐘端 PORTCamp。 PORTBamp。 data=DS1302_readB()。 //調(diào)整片選脈沖 DS1302_writeB(addr)。 PORTC|=BIT(RTC_CS)。=~BIT(RTC_CLK)。=~BIT(RTC_CS)。 //返回讀出的數(shù)據(jù) } /******************************************* 函數(shù)名 稱 : DS1302_readD 功 能 : 從 DS1302 的某個(gè)地址讀出一個(gè)字節(jié)數(shù)據(jù) 參 數(shù) : addr地址值(寄存器或 RAM) 返回值 : data讀出的數(shù)據(jù) /********************************************/ uchar DS1302_readD(uchar addr) { uchar data。 //是低電平就將返回?cái)?shù)據(jù)的當(dāng)前位置 0 } } DDRB|=BIT(RTC_DATA)。 //是高電平就將返回?cái)?shù)據(jù)的當(dāng)前位置 1 } else { byteamp。 //等待數(shù)據(jù)變化( MEGA16 太快,必須等待 DS1302 的數(shù)據(jù)位輸出,否則不能正確讀出) if(PINBamp。=~BIT(RTC_CLK)。 //時(shí)鐘上升沿 delayns(10)。i++) //8 位數(shù)據(jù)計(jì)數(shù) { byte=1。 //無上拉電阻 for(i=0。 //將數(shù)據(jù)端口設(shè)置為輸入 PORTBamp。 DDRBamp。 } DS1302_writeD(C_WP|WR,PROTECT)。 // 秒 分 時(shí) 日 月 星期 年 addr+=2。i7。 //控制命令 ,WP 位為 0,允許寫操作 delay(5)。 uchar addr = 0x80。=~BIT(RTC_CS)。 //拉低時(shí)鐘端 delayns(10)。 //寫入數(shù)據(jù) PORTBamp。 //拉低時(shí)鐘端 delayns(10)。 20 PORTBamp。 //調(diào)整片選脈沖 DS1302_writeB(addr)。 PORTC|=BIT(RTC_CS)。=~BIT(RTC_CLK)。=~BIT(RTC_CS)。 //時(shí)鐘上升沿( DS1302 采樣數(shù)據(jù)) byte=1。 //當(dāng)前位 是 0,拉低數(shù)據(jù)端 } delayns(10)。 //當(dāng)前位是 1,拉高數(shù)據(jù)端 } else { PORTBamp。 //拉低時(shí)鐘端 if(byteamp。i++) //8 位數(shù)據(jù)計(jì)數(shù) { PORTBamp。 for(i=0。 //啟動(dòng)振蕩器, DS1302 開始工作 DS1302_writeD(C_WP|WR,PROTECT)。//將時(shí)鐘端 (RTC_CLK)數(shù)據(jù)端 (RTC_DATA)片選端 (RTC_CS)設(shè)置為輸出 DS1302_writeD(C_WP|WR,UPROTECT)。//將數(shù)據(jù)指針定位到第一行第一個(gè)字處 :LCD1602_write_(0X80) ///delay(5)。//寫一個(gè)字符后地址指針加 1 delay(5)。//顯示清 0,數(shù)據(jù)指針清 0 delay(5)。//設(shè)置開顯示,不顯示光標(biāo) delay(5)。//設(shè)置 16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)接口 delay(5)。 LCD_OE_L。 }sru /******************************************* 函數(shù)名稱 : LCD1602_init() 功 yse 能 : 初始化 1602 液晶 參 ry 數(shù) : 無 返回值 ser: 無 /**********u************************************/ void LCD1602se55u_init() {s LruCD_OUT。 delay(5)。 delay(5)。 LCDrtu_RW_L。 LCD_OE_utrL。 LCDtru_OE_H。 true LCD_DATA=。 //1141 是在 8MHz 晶振下,通過軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 } /*****tur************************************** 函數(shù)名稱 tru: LCD1602_write_(uchar ) 功 能 : ut 向 1602 液晶寫入一個(gè)字節(jié)指令 參 數(shù) : coutm 是指令 返回值 : 無 tu /********************************************/ void LCD1602_uywrite_(uchar ) {yu utr LCD_RS_L。j1141。iMS。 } void delay(yuint MS) {ty uitnt i,j。iUS。 US=UtyS*5/4。 uchar chucun[]。=0X07 //按鍵方向定義輸入 define KghbbgfsEY_DATA PINA //讀按鍵端口 define KEY_OUsT_H PORTA|=0XF8 //按鍵端口輸出高電平 17 erg prgdagma data:code const duchar table[]={0x30,0x31,0x32,0x33,0x34, d 0x35,0x36,0x37,0x38, d 0x39}。=~BIT(PD7)。 //向 1602 寫 define LCD_OE_H PORTD|=BIT(PD7)。 //從 1602 讀 define LCD_RW_L PORTDamp。=~BIT(PD5)。 六、 參考文獻(xiàn) 【 1】 高吉祥 .全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系列教程【 M】 .北京:電子工業(yè) 出版社 .2020 【 2】 張志良 .模擬電子技術(shù)【 M】 .北京:機(jī)械工業(yè)出版社 .2020 【 3】 何小艇 .電子系統(tǒng)設(shè)計(jì)【 M】 .杭州:浙江大學(xué)出版社 .20
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1