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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-基于單片機(jī)的定時(shí)插座-在線瀏覽

2024-09-21 12:30本頁(yè)面
  

【正文】 的大小寫、常用的符號(hào)和日文的片假名等,每個(gè)字符都有一個(gè)固定的代碼,比如大小寫英文字母的A的代碼是01000001B(41H),顯示模塊在顯示A時(shí)就把地址41H中的點(diǎn)陣字符圖像顯示出來(lái),我們就能看到屏幕顯示字母A了。 圖7 紅外遙控器 圖8 紅外接收管 鍵盤編碼調(diào)制LED解碼解調(diào)光/電放大遙控發(fā)射器遙控接收器 圖9 紅外遙控系統(tǒng)框圖如圖9為紅外遙控系統(tǒng)框圖。解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)接收判定“0”、“1”就是判定每個(gè)周期開(kāi)始時(shí)低電平(注意發(fā)射與接收碼正好反相)出現(xiàn)時(shí)間的長(zhǎng)短。 圖10 紅外接收電路 本設(shè)計(jì)采用的是如圖11所示的SONGLE SRD05VDCSLC繼電器,其參數(shù)如圖所示。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用,實(shí)現(xiàn)小電壓控制大電壓的目的【6】。同時(shí),為了防止倒流,實(shí)驗(yàn)電路中加入了光電耦合器4N25。4N25光電耦合器具有體積小、壽命長(zhǎng)、無(wú)觸點(diǎn)、抗干擾性能強(qiáng)等特點(diǎn),因而是開(kāi)關(guān)電路、邏輯電路、長(zhǎng)線傳書、模/數(shù)變換、微控制器的隔離電路、高壓控制、過(guò)流保護(hù)、電平匹配、線性放大等領(lǐng)域中的首選芯片【7】。(typ)。Ω(min);? 隔離電容(V=0V,f=1MHz);(typ)。 圖12 4N25功能框圖 圖13 4N25引腳圖基于以上兩個(gè)主要器件就可以構(gòu)成控制外部插座的繼電器電路,從而實(shí)現(xiàn)對(duì)外部插座開(kāi)關(guān)的控制。由于單片機(jī)初始化是I/O輸出為高電平,正好可以使外部繼電器處于常開(kāi)開(kāi)關(guān)處,當(dāng)通過(guò)按鍵或者紅外定時(shí)到關(guān)閉時(shí)間時(shí),I/O輸出低電平即可讓繼電器處于常閉開(kāi)關(guān)處,從而讓外部插座可用,這樣就能夠?qū)崿F(xiàn)定時(shí)設(shè)置的智能開(kāi)關(guān)功能。同時(shí)開(kāi)關(guān)的開(kāi)關(guān)狀態(tài)也用一個(gè)紅色LED燈反映插座的開(kāi)關(guān)狀態(tài),當(dāng)紅燈亮?xí)r,插座處于工作狀態(tài),反之則不工作。系統(tǒng)可通過(guò)外設(shè)四個(gè)獨(dú)立式按鍵設(shè)置兩組24小時(shí)內(nèi)的任意開(kāi)關(guān)定時(shí)和六組一小時(shí)以內(nèi)的模式定時(shí),分別為10分鐘,20分鐘,30分鐘,40分鐘,50分鐘,60分鐘。同時(shí),定時(shí)插座也可以通過(guò)紅外遙控執(zhí)行相應(yīng)的設(shè)置,遙控的電源按鍵可以隨時(shí)讓定時(shí)插座工作與不工作,其數(shù)字鍵1~6按鍵也可以分別設(shè)置一小時(shí)內(nèi)的模式定時(shí),工作原理和通過(guò)外設(shè)按鍵設(shè)置的模式定時(shí)一致。定時(shí)插座的工作狀態(tài)由紅色LED 顯示,在切換工作狀態(tài)的時(shí)刻,蜂鳴器也會(huì)發(fā)出短暫的響聲。單片機(jī)從DS1302模塊中讀取計(jì)時(shí)參數(shù),顯示在LCD1602液晶顯示器上,具體顯示為年、月、日、周、時(shí)、分、秒,開(kāi)始時(shí)繼電器電路不工作,紅色指示燈不亮,蜂鳴器也不響。而當(dāng)獨(dú)立式按鍵所設(shè)置的是固定模式的定時(shí)的時(shí)候,單片機(jī)在定時(shí)設(shè)置完成時(shí)立刻發(fā)出開(kāi)啟信號(hào)給繼電器電路,讓繼電器工作,指示燈亮,蜂鳴器鳴叫,同時(shí)記錄下定時(shí)關(guān)閉的時(shí)間,待到計(jì)時(shí)到定時(shí)關(guān)閉時(shí)間比如20分鐘后,單片機(jī)發(fā)出關(guān)閉信號(hào)給繼電器關(guān)閉繼電器,從而達(dá)到關(guān)閉插座的目的。若單片機(jī)解碼得到的鍵碼為數(shù)字鍵1~6按鍵的任何一個(gè)時(shí),立刻開(kāi)啟繼電器并記錄對(duì)應(yīng)的定時(shí)參數(shù),待到下一個(gè)定時(shí)時(shí)間時(shí)發(fā)送關(guān)閉信號(hào),讓繼電器停止工作。圖16 整體電路實(shí)物連接4.軟件設(shè)計(jì)本設(shè)計(jì)中用到的單片機(jī)是STC89C52,為了使編寫的程序更加簡(jiǎn)單明了,采用C語(yǔ)言進(jìn)行編程,用Keil軟件進(jìn)行編譯,STC—ISP軟件進(jìn)行下載。由于定時(shí)設(shè)置是通過(guò)獨(dú)立式按鍵或者紅外遙控器的1~6按鍵進(jìn)行設(shè)置的,程序在按鍵掃描部分和紅外信號(hào)的解碼部分相對(duì)重要。圖17為主程序的流程圖。為了初始化任何的數(shù)據(jù)傳送,把RST置為高電平且把提供地址和命令信息的8位裝入到移位寄存器中。無(wú)論是讀周期還是寫周期發(fā)生,也無(wú)論傳送方式是單字節(jié)傳送還是多字節(jié)傳送,開(kāi)始8位指定的40個(gè)字節(jié)中的那個(gè)將被訪問(wèn)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加最大可達(dá)248的數(shù)。最高位有效位MSB必須為1。位1和5指定進(jìn)行輸入或輸出的特定寄存器。圖18 DS1302的命令字節(jié)圖19所示為DS1302的讀寫時(shí)序。如前所述,位6規(guī)定為時(shí)鐘或RAM而位0規(guī)定為讀或?qū)?,在時(shí)鐘/日歷寄存器中的地址9至31或RAM寄存器的地址31不能存儲(chǔ)數(shù)據(jù),在多字節(jié)方式中讀或?qū)憦牡刂?的位0開(kāi)始。 圖19 DS1302的讀寫時(shí)序DS1302總共有12個(gè)寄存器,其中的7個(gè)寄存器分別與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。表3寄存器地址和內(nèi)容寫寄存器讀寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0秒80H81HCH10秒秒分82H83H010分分小時(shí)84H85H12/24010時(shí)時(shí)A/P日86H87H0010日日月88H89H00010月月星期8AH8BH00000星期年8CH8DH10年年控制8EH8FHWP0000000這部分的編程中設(shè)置固定模式定時(shí)的時(shí)候,主要用到的是計(jì)時(shí)過(guò)程中的分的數(shù)值變化,執(zhí)行定時(shí)時(shí)把分的數(shù)值提取出來(lái),在這基礎(chǔ)上加上模式定時(shí)時(shí)間,待到下一個(gè)時(shí)間到達(dá)定時(shí)時(shí)間時(shí)執(zhí)行相反動(dòng)作?;静僮鲿r(shí)序:讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:DO~D7=狀態(tài)字寫狀態(tài):輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖 輸出:無(wú)讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:DO~D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖 輸出:無(wú)【8】 圖20為L(zhǎng)CD1602的具體讀寫時(shí)序。當(dāng)檢測(cè)到電源鍵被按下時(shí)即可執(zhí)行定時(shí)插座的開(kāi)機(jī)與關(guān)機(jī);當(dāng)檢測(cè)到數(shù)字鍵1~6按鍵時(shí)則進(jìn)行相應(yīng)的模式定時(shí)設(shè)置,同時(shí)開(kāi)啟定時(shí)插座,待到下一定時(shí)時(shí)間關(guān)閉定時(shí)插座。P0_2=~P0_2。break。P0_2=0。 gg[0]=fen+10。break。P0_2=0。 gg[1]=fen+20。break。P0_2=0。 gg[2]=fen+30。break。P0_2=0。gg[3]=fen+40。break。P0_2=0。gg[4]=fen+50。break。P0_2=0。gg[5]=fen+60。break。break。主函數(shù)的編寫如下所示:void main() //主函數(shù){sysinit()。 keyscan()。 //顯示時(shí)間} dingshi()。 Key_Handle()。初步熟悉這些主要器件的外部電路后,在條件允許的情況下先分別制作主要模塊的電路,測(cè)試其可用性,比如繼電器部分的電路,因?yàn)橹皼](méi)有使用過(guò)繼電器,對(duì)這塊的外部電路完全不熟,只能先制作模塊部分的電路測(cè)試是否可用。在設(shè)計(jì)電路圖的過(guò)程中由于對(duì)繼電器不熟,開(kāi)始沒(méi)有繼電器的封裝,通過(guò)查閱書籍,請(qǐng)教同學(xué)等方式最后完成了電路原理圖的設(shè)計(jì)和電路PCB板的設(shè)計(jì)。雖然軟件沒(méi)有檢測(cè)出錯(cuò)誤,但是實(shí)際是個(gè)錯(cuò)誤的電路。緊接著在認(rèn)真修改錯(cuò)誤后繼續(xù)制作電路板,焊接元器件,懷著滿心的喜悅完成了硬件電路的制作。當(dāng)然,有問(wèn)題就要想辦法解決,冷靜下來(lái)仔細(xì)再檢查了Protel上的原理圖,沒(méi)有發(fā)現(xiàn)錯(cuò)誤,檢查了電路的電源部分,發(fā)現(xiàn)電源輸入5V正確??墒菃?wèn)題還是沒(méi)有解決,然后把單片機(jī)拔出放到可用單片機(jī)板上下載流水燈程序后再放置在所制作的電路板上,發(fā)現(xiàn)流水燈程序沒(méi)有執(zhí)行,單片機(jī)I/O仍然保持高電平輸出狀態(tài)。連接接地端后單片機(jī)流水燈程序可以正常運(yùn)行,表明單片機(jī)正常工作。 繼電器部分的電路檢查時(shí)開(kāi)始用3節(jié)干電池給單片機(jī)供電,發(fā)現(xiàn)繼電器無(wú)法工作,檢查原因后才知道繼電器的供電電壓不足,因而用12V轉(zhuǎn)5V的穩(wěn)壓電源時(shí)工作正常。 其中蜂鳴器電路出現(xiàn)的問(wèn)題最大,所設(shè)計(jì)的蜂鳴器電路是低電平時(shí)發(fā)出響聲的,可是當(dāng)給蜂鳴器低電平時(shí),發(fā)現(xiàn)不響。更換三極管后發(fā)現(xiàn)還是不響。 外接插座上,開(kāi)始選擇將插座內(nèi)部電線引出,再連接到印制電路板上,后來(lái)發(fā)現(xiàn)這樣不夠安全,所以選擇通過(guò)改裝內(nèi)部電路,使得排插的兩個(gè)插座連成一線,這樣就可以直接用如圖16所示的連接方法構(gòu)成安全的定時(shí)插座電路,使得上下兩個(gè)插座只要其中一個(gè)導(dǎo)通,另一個(gè)就可以構(gòu)成可用插座。首先是LCD1602顯示程序,通過(guò)編寫過(guò)的程序掌握了1602的顯示原理及其顯示過(guò)程用到的指令如清屏,開(kāi)關(guān)顯示等。然后通過(guò)獨(dú)立式按鍵設(shè)置顯示菜單,執(zhí)行相應(yīng)的功能。有了這些流程后才能在編程過(guò)程中減少一些不必要的麻煩【11】。當(dāng)把獨(dú)立式按鍵掃描程序加入總程序時(shí),發(fā)現(xiàn)時(shí)間不動(dòng)了,原因可能是單片機(jī)無(wú)法從DS1302里面讀取數(shù)據(jù)了,也可能是采集到的數(shù)據(jù)無(wú)法在顯示器上顯示,或者是在按鍵處理過(guò)程中出現(xiàn)了問(wèn)題。至于后期需要繼續(xù)擴(kuò)展功能可以繼續(xù)添加。當(dāng)分模塊調(diào)試時(shí)單片機(jī)確實(shí)可以接收到紅外編碼信號(hào),也可以將解碼得到的鍵值顯示在流水燈上。針對(duì)這個(gè)問(wèn)題,我非常不解,因?yàn)橄惹皩?duì)紅外編碼解碼原理和編程不了解,一時(shí)找不出具體原因。通過(guò)修改程序后發(fā)現(xiàn)系統(tǒng)可以正常工作,設(shè)置定時(shí)正常,顯示也正常了。問(wèn)題可能出在系統(tǒng)只能執(zhí)行一種控制模式,而不能同時(shí)有兩種控制模式,程序可能在紅外檢測(cè)解碼過(guò)程中出問(wèn)題,也可能在中斷控制過(guò)程。而在控制定時(shí)方面,開(kāi)始只是讓系統(tǒng)可以通過(guò)獨(dú)立式按鍵設(shè)置一組定時(shí)開(kāi)關(guān)時(shí)間,后面意識(shí)到可設(shè)置的定時(shí)組數(shù)太少,功能過(guò)于簡(jiǎn)單,就再加入了一組定時(shí)設(shè)置,使系統(tǒng)可以通過(guò)獨(dú)立式按鍵設(shè)置兩組定時(shí)開(kāi)關(guān)時(shí)間。定時(shí)插座設(shè)置時(shí)間有時(shí)候需要快速定時(shí),如果通過(guò)按鍵設(shè)置一定時(shí)間段的定時(shí)可能比較耗時(shí),于是就加入了固定定時(shí)模式,可以在簡(jiǎn)單的操作中設(shè)置一個(gè)小時(shí)內(nèi)的6組固定模式定時(shí)。 通過(guò)一番努力,終于在此次設(shè)計(jì)中完成了預(yù)期設(shè)計(jì)任務(wù)。該定時(shí)插座可以控制一路220V/10A的插座,可以設(shè)置在一天24小時(shí)內(nèi)的兩組任意定時(shí)開(kāi)關(guān)時(shí)間和6組一小時(shí)內(nèi)的固定模式定時(shí)。當(dāng)定時(shí)插座變換工作狀態(tài)時(shí),蜂鳴器發(fā)出短暫的蜂鳴。 本次設(shè)計(jì)的定時(shí)插座雖然可以實(shí)現(xiàn)定時(shí)控制一路插座的功能,但是可定時(shí)的路數(shù)和定時(shí)組數(shù)仍然不夠。因而,如果在設(shè)計(jì)時(shí)多加入幾路的插座控制,而且各路控制互不干擾,各司其職的話,用戶只需要將要定時(shí)控制的用電器具都插在定時(shí)插座上,通過(guò)各自的定時(shí)設(shè)置,就可以使各電器按照人們的習(xí)慣有規(guī)律地工作,很大程度上方便人們的日常生活。另外,本次設(shè)計(jì)中所使用的紅外遙控器基本只能在同一室內(nèi)控制插座,如果采用無(wú)線電遙控器等更加先進(jìn)的遙控器的話,人們或許就可以在室內(nèi)的任何地方隨時(shí)控制家電的開(kāi)關(guān)狀態(tài)了。6.結(jié)束語(yǔ)本次畢業(yè)設(shè)計(jì)基于單片機(jī)的定時(shí)插座到此就告一段落了,所設(shè)計(jì)的硬件和軟件都可以正常工作,各項(xiàng)設(shè)計(jì)均達(dá)到了設(shè)計(jì)任務(wù)的要求。設(shè)計(jì)過(guò)程中有喜有憂,但是經(jīng)過(guò)多次反復(fù)的問(wèn)題分析和系統(tǒng)調(diào)試,還是解決了各個(gè)難題,也使我在設(shè)計(jì)電路及分析電路問(wèn)題上學(xué)到了很多。但是,在這過(guò)程中,我也發(fā)現(xiàn)了自己所學(xué)知識(shí)的不足,在今后仍需不斷努力學(xué)習(xí)。在此期間,洪老師定期召集同組人員開(kāi)會(huì)指導(dǎo)工作,在整個(gè)設(shè)計(jì)中不斷給予我們良好的建議,使我們的設(shè)計(jì)更加順利。在此謹(jǐn)向他們表示衷心的感謝。sbit lcdrw=P3^6。sbit inf=P3^3。sbit IO=P0^6。sbit beep=P0^4。sbit P0_1=P0^1。sbit s1=P2^0。sbit s3=P2^2。uchar code table1[]= : : : 。uchar code table3[]= Wele to 。uchar code table5[]=20 。uchar code table7[]=MON。uchar code table9[]=WED 。uchar code table11[]=FRI。uchar code table13[]=SUN。uchar code table15[]=Set the Mode。uchar code table17[]=Mode Choice。uint buf_key_code=0。uchar key=255。uchar mon_code_count=0。uchar dd[7]。uchar ee[3]={11,0,0}。uchar kk[2]={11,2}。uchar gg[6]。 char miao,fen,shi,ri,yue,zhou,nian。uchar s1num,s2num。void delay(uint i){ uint j。i0。j0。}void write_(uchar ) //lcd寫指令{ lcdrs=0。 P1=。 lcden=1。 lcden=0。 lcden=0。 delay(5)。 delay(5)。} void init() //lcd初始化{ uchar num。 write_(0x38)。 write_(0x06)。 write_(0x80)。 write_(0x80)。num16。 delay(5)。 for(num=0。num++) { write_data(table4[num])。 } delay(5)。 write_(0x80)。num8。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1