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

正文內(nèi)容

基于單片機(jī)作息時(shí)間控制系的設(shè)計(jì)及其實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-06-26 21:21本頁面
  

【正文】 k16。 SG12864_CMDWrite(COL_ADD+(row4))。 }//*************************************lcd16*16填充*************************************//void SG12864_16Pad(uchar pad_data,uchar row,uchar line){ uchar k。 SG12864_Delay(0)。 SG12864_Delay(0)。 SG12864_DI=1。 SG12864_E=0。 SG12864_E=1。 P0=w_cmd。}//**************************************_write***************************************//void SG12864_CMDWrite(uchar w_cmd) { SG12864_RW=0。y0。x0。}//*************************************延時(shí)函數(shù)*****************************************//void SG12864_Delay(uint z){ uint x,y。 /*全部讀完,發(fā)送非應(yīng)位*/ Stop_I2c()。 } *s=RcvByte()。 /*接收數(shù)據(jù)*/ Ack_I2c(0)。ino1。 if(ack==0)return(0)。 Start_I2c()。 SendByte(suba)。 /*啟動(dòng)總線*/ SendByte(sla)。********************************************************************/bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no){ uchar i。 如果返回1表示操作成功,否則操作有誤。}/*******************************************************************向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù) 函數(shù)原型: bit IRcvStr(uchar sla,uchar suba,ucahr *s,uchar no)。 } Stop_I2c()。 /*發(fā)送數(shù)據(jù)*/ if(ack==0)return(0)。ino。 /*發(fā)送器件子地址*/ if(ack==0)return(0)。 /*發(fā)送器件地址*/ if(ack==0)return(0)。 Start_I2c()。注意: 使用前必須已結(jié)束總線。 功能: 從啟動(dòng)總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過程,從器件 地址sla,子地址suba,發(fā)送內(nèi)容是s指向的內(nèi)容,發(fā)送no個(gè)字節(jié)。 /*清時(shí)鐘線,鉗住I2C總線以便繼續(xù)接收*/ Delay_5us()。 Delay_5us()。 Delay_5us()。功能: 主控器進(jìn)行應(yīng)答信號(hào)(可以是應(yīng)答或非應(yīng)答信號(hào),由位參數(shù)a決定)********************************************************************/void Ack_I2c(bit a){ if(a==0)SDA=0。 return(retc)。 /*讀數(shù)據(jù)位,接收的數(shù)據(jù)位放入retc中 */ } SCL=0。 retc=retc1。 /**/ SCL=1。 SCL=0。BitCnt8。 SDA=1。 uchar BitCnt。功能: 用來接收從器件傳來的數(shù)據(jù),并判斷總線錯(cuò)誤(不發(fā)應(yīng)答信號(hào)), 發(fā)完后請(qǐng)用應(yīng)答函數(shù)應(yīng)答從機(jī)。 Delay_5us()。 else ack=1。 Delay_5us()。 /*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/ Delay_5us()。 } Delay_5us()。 /*置時(shí)鐘線為高,通知被控器開始接收數(shù)據(jù)位*/ Delay_5us()。 Delay_5us()。0x80)SDA=1。BitCnt8。********************************************************************/void SendByte(uchar c){uchar BitCnt。功能: 將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對(duì) 此狀態(tài)位進(jìn)行操作.(不應(yīng)答或非應(yīng)答都使ack=0) 發(fā)送數(shù)據(jù)正常,ack=1。 /*發(fā)送I2C總線結(jié)束信號(hào)*/ Delay_5us()。 /*結(jié)束條件建立時(shí)間大于4us*/ Delay_5us()。 /*發(fā)送結(jié)束條件的數(shù)據(jù)信號(hào)*/ _nop_()。}/*******************************************************************結(jié)束總線函數(shù) 函數(shù)原型: void Stop_I2c()。 /* 起始條件鎖定時(shí)間大于4μs*/ SCL=0。 /*,延時(shí)*/ SDA=0。 SCL=1。 功能: 啟動(dòng)I2C總線,即發(fā)送I2C起始條件. ********************************************************************/void Start_I2c(){ SDA=1。_nop_()。_nop_()。 DS18B20_Read()。 DS18B20_Write(0xcc)。 DS18B20_delay(200)。 if(DS18B20_Bit) { DS18B20_Write(0xcc)。 } }}/*******************************************************************DS18B20溫度讀取函數(shù)函數(shù)原型:Get_Temperature()功能: 啟動(dòng)溫度轉(zhuǎn)換并讀取溫度,溫度存儲(chǔ)在temperature中********************************************************************/void Get_Temperature(){ DQ=1。 if(DQ) { Temperature[i]=Temperature[i]|0x80。 DQ=1。_nop_()。 DQ=0。 _nop_()。j++) { Temperature[i]=1。i++) { for(j=0。 for(i=0。 //發(fā)送數(shù)據(jù)右移一位 } DQ=1。 _nop_()。 DS18B20_delay(6)。 DS18B20_delay(1)。dat。i8。 bit k。 DS18B20_Bit=0。 DQ=1。 } if(i!=65535) { DS18B20_Bit=1。 i=8。_nop_()。 DQ=1。 DQ=0。 DQ=1。 //用來檢查是否存在DS18B20存在置1否則清零/*******************************************************************延時(shí)函數(shù) 延時(shí)為11+7*z us函數(shù)原型:void DS18B20_delay(uchar z)功能: 用來響應(yīng)DS18B20時(shí)序********************************************************************/void DS18B20_delay(uchar z) { while(z)。sbit DQ=P3^4。uchar Time_Count,Time_Sec,MotorStepper_Count。 /*應(yīng)答標(biāo)志位*/uchar data Disp_Count1,Disp_Count2,Temperature[2]。uchar code MotorStepper_Data[]={0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06}。sbit MotorStepper_C=P1^2。 /*模擬I2C時(shí)鐘控制位*/sbit MotorStepper_A=P1^0。sbit SDA=P3^7。sbit SG12864_RW=P2^1。sbit SG12864_CS2=P2^3。sbit TELEVISE_CONTROL=P2^5。sbit LED_CONTROL=P3^5。sbit HD7279_Dat=P1^6。40以上:小時(shí)、月份、日期define START_LINE 0xc0define PCF8563_Start 0x00define PCF8563_Stop 0x20define PCF8563Time_Ineffect 0x83define PCF8563Time_UnIneffect 0x03sbit HD7279_Key=P1^4。B.外部中斷0流程圖includeincludeinclude//include//include//includedefine uchar unsigned char define uint unsigned intdefine DISP_ON 0x3fdefine DISP_OFF 0x3edefine COL_ADD 0x40define PAGE_ADD 0xb8 //8:星期。校門的控制標(biāo)志位的修改則是由外部中斷1來控制的,當(dāng)有人或物體靠近校門時(shí),人或物體就會(huì)擋住紅外發(fā)射管發(fā)射的載波,紅外接收管就會(huì)產(chǎn)生一低電平,從而引發(fā)單片機(jī)的外部中斷1,從而置位控制標(biāo)志位,從而啟動(dòng)電機(jī)就達(dá)到校門自動(dòng)開關(guān)的效果,而當(dāng)有人或物體經(jīng)過到校門的打開只需要微秒級(jí)的時(shí)間,已遠(yuǎn)遠(yuǎn)能滿足控制需求。四、單片機(jī)系統(tǒng)設(shè)計(jì) 本系統(tǒng)采用PCF8563計(jì)時(shí)并產(chǎn)生日期、星期、時(shí)間數(shù)據(jù),當(dāng)單片機(jī)上電復(fù)位時(shí),首先初始化單片機(jī)內(nèi)部資源,開中斷、初始化定時(shí)器和全局變量、設(shè)置外部中斷觸發(fā)方式,然后對(duì)PCF8563進(jìn)行初始化讓其在精確計(jì)時(shí)模式下運(yùn)行并在每一分鐘產(chǎn)生一個(gè)中斷信號(hào),接下來就由單片機(jī)對(duì)PCF8563產(chǎn)生的日期、時(shí)間數(shù)據(jù)進(jìn)行讀取,將讀取到的數(shù)據(jù)和存儲(chǔ)器E2PROM中的數(shù)據(jù)進(jìn)行比較,判斷當(dāng)前日期是否是在假期內(nèi),如果在假期內(nèi)那就關(guān)掉外部中斷0,也就屏蔽掉教室燈光、打鈴和廣播。在這里還是用三極管進(jìn)行驅(qū)動(dòng),取限流電阻R19為100。 繼電器線圈具有儲(chǔ)能作用,當(dāng)斷電時(shí)由于電磁感應(yīng)會(huì)產(chǎn)生一個(gè)很高的反電熱,為此兩端需加一回路來消除反電勢(shì)。 而剛憑單片機(jī)的I/O口是無法驅(qū)動(dòng)光電耦合器的,因些要對(duì)單片機(jī)引腳信號(hào)進(jìn)行放大,在這里我們采用一個(gè)三極管8550進(jìn)行放大,而為了提高抗噪能力和保護(hù)三極管需在三極管基極加一電阻,我們這里取10K。而課鈴和燈光都是由220V交流電驅(qū)動(dòng),這對(duì)單片機(jī)有很強(qiáng)的干擾。 SG12864內(nèi)置數(shù)字芯片控制器,可以直接和單片機(jī)I/O口進(jìn)行對(duì)接,在這里不作介紹。6)寫顯示數(shù)據(jù)(WRITE DISPLAY DATE) 代碼R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0形式01D7D6D5D4D3D2D1D0D7~D0 為顯示數(shù)據(jù),此指令把D7~D0 寫入相應(yīng)的DDRAM單元,Y地指針自動(dòng)加1。ON/OFF 表示DFF 觸發(fā)器的狀態(tài)。例如選擇A5~A0 是62 則起始行與DDRAM 行的對(duì)應(yīng)關(guān)系如下DDRAM 行 62 63 0 1 2 3 …… 28 29屏幕顯示行 1 2 3 4 5 6 …… 31 32 3)設(shè)置頁地址代碼R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0形式0010111A2A1A0所謂頁地址就是DDRAM 的行地址,8 行為一頁,模塊共64 行即8 頁, A2~A0 表示0~7 頁讀寫數(shù)據(jù)對(duì)地址沒有影響,頁地址由本指令或RST 信號(hào)改變復(fù)位后頁
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1