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

正文內(nèi)容

基于單片機(jī)的萬年歷設(shè)計畢業(yè)論文(存儲版)

2025-08-26 06:02上一頁面

下一頁面
  

【正文】 rn TH1*256+TL1。DQ=1。 }void sfm_date(uchar add,uchar date1){ uchar shi,ge。init_DS18B20()。cc=(aa4)|(bb4)。if(bb==1){TR0=0。if(miao==1){miao=59。 }if(pp==0xa0){fen。if(dd==5){write_data(0x30+dd)。pp=0。}write_(0x80+15)。if(ff==0){ff=12。} if(pp==0xa0){ff。}write_(0x80+15)。}write_(0x80+15)。pp=0。}sfm_date(10,fen)。}if(bb==4){{miao。if(pp==0x9c){bb++。aa=read_DS18B20()。uchar bb=0。x=DQ。return TH1*256+TL1。while(!ir)。write_data(39。 }void write_data(uchar date){lcdrs=1。}void delay1(uchar i){while(i)。P1=add。ss[i]=ss[i]1。for(i=0。//讀月nyr_date1(5,kk)。//讀分sfm_date(10,gg)。write_(0x80+6)。if(ee==0){ee=31。while(!key3)。}write_(0x80+15)。}sfm_date(10,fen)。fen++。if(key3==0){delay(8)。write_(0x0f)。write_(0x80+3)。write_(0x80+9)。}write_(0x80+15)。if(dd==2){write_data(0x30+dd)。pp=0。pp=0。write_time(0,miao)。 }chuli_dat(void){write_(0x80+15)。i0。i){DQ=0。ge=date1%10。TL1=0。num++){write_data(table1[num])。write_(0x01)。dd=0。}void init(){uchar num,ff,gg,dd,ee,bb,miao,shi,fen。time_rw=1。for(x=z。define uchar unsigned chardefine uint unsigned intuchar code table0[]=20120403 DAY2。sbit time_as=P2^5。在系統(tǒng)硬件設(shè)計過程中掌握了大量硬件焊接以及調(diào)試運(yùn)行的方法。知識必須通過應(yīng)用才能實(shí)現(xiàn)其價值!有些東西以為學(xué)會了,但真正到用的時候才 發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。如上圖,必要時可以加插接座以防高溫或高頻脈沖損壞芯片。在調(diào)試時要做到幾點(diǎn):第一,檢查電源電壓和電流是否正常,芯片有無發(fā)熱。 根據(jù)設(shè)計要求,使用功能強(qiáng)大的Altium Designer電子線路設(shè)計軟件繪制電路圖(也可以使用經(jīng)典的Protel 99 SE軟件對其繪制)下面大致介紹繪制過程:(a)本設(shè)計使用Altium Designer winter 09版,運(yùn)行軟件建立工作空間,(a)。//發(fā)送讀指令 aa=read_DS18B20()。 uchar bb=0。i)//寫8次 { DQ=0。//拉低總線 dat=dat1。//釋放總線 delay1(14)。這樣RAM中的兩個報警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。此后由于芯片忙于EEPROM儲存處理,當(dāng)控制器發(fā)一個讀時間隙時,總線輸出“0”,當(dāng)儲存工作完成時,總線將輸出“1”。(d)search ROM(搜索芯片)[F0H];芯片初始化后,搜索指令允許總線上掛接多芯片時用排除法識別所有器件的64位ROM。ROM指令在下文有詳細(xì)的介紹。C (–67176。//右移 if(temp1120)//判斷是不是1,如果是1就繼續(xù),否則跳過,默認(rèn)為0; { aa[i]=aa[i]|0x80。i4。 //等待 TR0=0。//定時器/計數(shù)器裝初值 TR0=1。 ∕∕延時5ms lcden=1。 ∕∕將指令放到數(shù)據(jù)線上 delay(5)。//讀總線 time_ds=1。// 片選關(guān)}reader_time(uchar add) //該程序的作用是從DS12C887內(nèi)部讀數(shù)據(jù){ time_cs=0。// 拉高DS time_rw=1。 : Motorola總線讀/(a),(b)(c)工作持續(xù)時間如圖(d)。(l)20腳到22腳(NC):空腳,不用連接;(m)23腳(SQW):方波輸出。保持低電平的時間可根據(jù)應(yīng)用需要而定,但是,如果上電時使用RST信號,RST保持低電平的時間應(yīng)當(dāng)超過200ms,以保證控制DS12C887上電的內(nèi)部定時器定時結(jié)束。(i)17腳(DS):數(shù)據(jù)選通或讀輸入。(g)15腳(RW):讀/寫輸入。在CS信號無效的情況下,總線操作將鎖存地址,但不能訪問芯片。(c)4腳到11腳(AD):雙向地址/數(shù)據(jù)復(fù)用總線。控制寄存器D :(1)第0位到6位:這些位未使用。該位可通過讀取寄存器C或RST信號清除。(8)第7位:SET,SET位清0時,更新傳輸功能正常運(yùn)行,計數(shù)每秒加1,SET位寫1時,禁止任何更新傳輸,程序可對時鐘和日歷字節(jié)進(jìn)行初始化,而不會再初始化過程中發(fā)生數(shù)據(jù)更新。SQWE位是可讀/寫位,能由RST信號清除。該位不受DS12C887內(nèi)部功能或RST的影響。控制寄存器A :(1)第0位到3位:為速率選擇器,這四個速率選擇位用來選擇15級分頻器的13種分頻之一或禁止分頻器輸出。該器件支持Intel和Motorola兩種總線模式,內(nèi)部集成了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路。但是,如果顯示內(nèi)容較多時,LED數(shù)碼管顯得較為麻煩,軟件設(shè)計較為復(fù)雜,電路設(shè)計較為復(fù)雜,占用單片機(jī)I/O口較多,且耗能較強(qiáng),顯示位數(shù)有限,不利于電路的擴(kuò)展。該器件支持Intel和Motorola兩種總線模式,內(nèi)部集成了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路,且使用起來方便。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達(dá) 31 個字節(jié)的字符組方式通信,DS1302 工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時功率小于 1mW。這種方案的好處是外圍元器件少,電路簡單清晰,設(shè)計方便易于實(shí)現(xiàn),出問題的故障幾率小。所有這些,都是以時鐘為基礎(chǔ)的。這種要求催生了新型電子時鐘的產(chǎn)生。1602液晶作為實(shí)時顯示器件,顯示單片機(jī)采集的所有數(shù)據(jù)。最后,通過軟件對其原理圖進(jìn)行繪制和程序的編寫,并且調(diào)試運(yùn)行。另外,單片機(jī)的重要運(yùn)用意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。溫度傳感器為系統(tǒng)實(shí)時反饋當(dāng)前環(huán)境下的溫度。并且這種設(shè)計還有一個最大的缺點(diǎn)就是如果單片機(jī)斷電,時間就會停止,再次上電后時間又會回到初始設(shè)定的時間,又要對其調(diào)時,比較麻煩。方案三:采用美國DALLAS公司生產(chǎn)制造的DS12C887實(shí)時時鐘芯片作為系統(tǒng)時鐘芯片。方案一:采用由長沙太陽人電子有限公司設(shè)計生產(chǎn)制造的LCD液晶。因此本設(shè)計采用第一種方案。、日歷和鬧鐘單元時鐘和日歷信息可以通過讀取相應(yīng)寄存器字節(jié)獲得,通過寫相應(yīng)的寄存器字節(jié)對時鐘進(jìn)行初始化,存儲時間、(a),(b),星期寄存器在午夜加1,從1遞增到7,夏時令功能用到了星期寄存器,因此1被定義為星期天,少于30天的月份,月末可自動調(diào)整,其中包括閏年補(bǔ)償。(3)第7位:該位是可監(jiān)視的狀態(tài)標(biāo)志位,改位為1時,立即進(jìn)行更新傳輸,該位為0時在至少244uS的時間內(nèi)不會進(jìn)行更新傳輸。(3)第2位:數(shù)據(jù)模式(DM),該位表示時鐘和日立信息格式位二進(jìn)制還是BCD碼。RST引腳變低或SET位變高將清除UIE位,UIE位不受任何DS12C887內(nèi)部功能的影響,但會由RST信號清0.(6)第5位:鬧鐘使能(AIE),AIE位是可讀/寫位,置為1時,允許寄存器C中的鬧鐘中斷標(biāo)志(AF)位驅(qū)動產(chǎn)生IRQ信號,在三個時鐘字節(jié)與三個鬧鐘字節(jié)相等的每一時刻,都會產(chǎn)生一個鬧鐘中斷,如果AIE位清0,AF位并不觸法IRQ信號。(2)第4位:更新結(jié)束中斷標(biāo)志位(UF),每次更新結(jié)束后,UF位都將置1。PF置1與PIE位的狀態(tài)無關(guān)。該位不受RST信號影響。讀周期中,DS12C887于DS信號后期(Motorola時序中的DS和RW均為高,Intel時序中DS位低,RW為高)將數(shù)據(jù)發(fā)送到總線上。(f)14腳(AS):地址選通輸入。DS位高時,RW為高電平時表示讀周期,RW為低電平則表示寫周期。在讀周期中,DS表明DS12C887將要驅(qū)動雙向總線。(k)19腳(IRQ):中斷請求輸出。當(dāng)Vcc低于Vpf時,SQW信號無法輸出。(c),當(dāng)片選信號CS為低,AS為高,DS為高,RW為高將地址放到總線上,一個AS下降沿將地址鎖存到DS12C887內(nèi)部。//AS下降沿將地址鎖存 time_rw=0。// 拉高DS time_rw=1。// 片選關(guān) return(ee)。 ∕∕延時5ms lcden=0。 ∕∕將en拉低后數(shù)據(jù)寫入} 紅外發(fā)射系統(tǒng)主要采用一些特定的編碼芯片,將不同的按鍵進(jìn)行編碼,然后經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射(a)典型的LM7461M芯片構(gòu)成的紅外發(fā)射系統(tǒng): (a)由于本設(shè)計不涉及紅外發(fā)射系統(tǒng)的原理分析,因此在此不作詳細(xì)分析,(b): (b)該波形一共有三部分構(gòu)成分別由引導(dǎo)碼、用戶碼、鍵控碼組成,接著就是8位用戶碼和8位用戶反碼,8位鍵控碼和8位鍵控反碼;紅外接收過程實(shí)際就是發(fā)射的逆過程,下面詳細(xì)分析(a)紅外一體化接收頭,(c),(d); (c) (d)圖中3腳為供電端();2腳接地端;1腳為數(shù)據(jù)端口,為了提高靈敏度,;(b)(e) (e)由接收到的波形圖可以看出,它和發(fā)射波形在高低電平上剛好相反,任然由引導(dǎo)碼、用戶碼、鍵控碼組成,因此可通過單片機(jī)對其進(jìn)行解碼操作?。╡)解碼操作:解碼的關(guān)鍵是如何識別“0”和“1”(f),可以利用單片機(jī)的定時計數(shù)器來對紅外碼進(jìn)行時間的監(jiān)控。//關(guān)閉定時器/計數(shù)器 return TH0*256+TL0。//等待低電平 temp=low_ir_time()。j++)//讀8位的碼 { temp=low_ir_time()。它擁有超小的體積,超低的硬件開消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)等優(yōu)點(diǎn),使得DS18B20備受歡迎。 DS18B20溫度傳感器基本原理(a),(b) (a) (b)各引腳功能:(a)1腳(GND):參考電壓為0V;(b)2腳(DQ):單總線分時復(fù)用數(shù)據(jù)端;(c)3腳(VDD):溫度傳感器的電源供電端(); DS18B20溫度傳感器配置寄存器該寄存器為DS18B20提供分辨率設(shè)置,對R0、R1不同配置可以為DS18B20分配不同的分辨率,如下表: DS18B20溫度傳感器暫存器中溫度數(shù)值的存儲形式在DS18B20中用兩個字節(jié)的空間來存儲數(shù)據(jù)(LSB用來存儲低8位,MSB用來存儲高8位),如下表所示:分析:(a)DS18B20中LSB低4位為溫度值的小數(shù)位,高4位為溫度值的整數(shù)位;在MSB中高5位為符號位,當(dāng)溫度值大于或等于0℃時高5位均為0,當(dāng)溫度值小于0℃時,高5位均為1,因此,可以通過判斷S位來判斷溫度處在零下還是零上,MSB中低3位為溫度值的整數(shù)位;(b)DS18B20溫度數(shù)值處理方式:LSB與MSB一共16位,因此,此時的分辨率為1∕℃例如:此時寄存器內(nèi)部存儲的數(shù)據(jù)為MSB+LSB(0000000010100010)轉(zhuǎn)化為十進(jìn)制數(shù)為162, ℃;但是如果表示負(fù)溫度時, 那么寄存器內(nèi)部(S=0)的時數(shù)據(jù)為MSB+LSB(1111111001101111),按位去反(0000000110010000)轉(zhuǎn)化為十進(jìn)制數(shù)為401, ℃。 DS18B20芯片內(nèi)部ROM操作指令(a)Read ROM(讀ROM)[33H] (方括號中的為16進(jìn)制的命令字);這個命令允許總線控制器讀到DS18B20的64位ROM。 DS18B20溫度傳感器芯片內(nèi)部存儲器RAM操作指令(a)Write Scratchpad (向RAM中寫數(shù)據(jù))[4EH];這是向RAM中寫入數(shù)據(jù)的指令,隨后寫入的兩個字節(jié)的數(shù)據(jù)將會被存到地址2(報警RAM之TH)和地址3(報警RAM之TL)。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0”,當(dāng)儲存工作完成時,總線將輸出“1”。 DQ=1。// 延時}read_DS18B20(void) //此函數(shù)的作用是從DS18B20內(nèi)讀一個字節(jié)數(shù)據(jù){ uchar i=0。 } delay1(4)。 delay1(5)。//初始化 write_DS18B20(0xCC)。 if(cc128) { cc=~cc+1。最終繪制成功的原理圖見附錄(A)。第四,做好不良記錄
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1