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

正文內(nèi)容

畢業(yè)論文-基于at89c51單片機的空調(diào)控制系統(tǒng)設計-在線瀏覽

2025-03-01 11:51本頁面
  

【正文】 口,這需要占用 N 8位 I/O口( LED顯示器的個數(shù)為 N)。 動態(tài)顯示方式:當多位 LED顯示時,通常將所有位的段選線相應的并聯(lián)在一起,由一個 8位 I/O口控制,形成段選線的多路復用。其中段選線占用一個 8位 I/O 口,而位選線占用 N個 I/O 口( N為 LED顯示器的個數(shù))。若要各位 LED能顯示出與本位相應的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出相應位要顯示字符的段碼。 為了節(jié)約硬件資源,降低電路板的成本,本人采用的是節(jié)約硬件資源的動態(tài)掃描顯示方式。用繼電器時要注意其電感的反向電動勢,和開關(guān)觸點對電源的影響,以及開關(guān)脈沖對整個電路的影響等,應該加入必要的防止干擾的措施。利用它可以用較小的功率控制較大功率,在交、直流電動機調(diào)速系統(tǒng)、調(diào)功系統(tǒng)、隨動系統(tǒng)和無觸點開關(guān)等方面均獲得了廣泛的應用。這時即使控制電壓消失,仍然保持導通狀態(tài),所以控制電壓沒有必要一直存在,通常采用脈沖形式,以降低觸發(fā)功耗。若在交流回路中應用,當電流過零和進入負半周時,自動關(guān)斷,為了使其再次導通,必須重加控制信號。輸出部分是一個硅光敏雙向可控硅,在紅外線的作用下可雙向道通。一方面光耦合器 可以起到隔離兩個系統(tǒng)地線的作用,使兩個系統(tǒng)的電源相互獨立,消除地電位不同所產(chǎn)生的影響;另一方面,光電耦合器的發(fā)光二極管是電流驅(qū)動器件,可以形成電流環(huán)路的傳送形式。 達到同樣的加熱效果,開關(guān)量控制容易,驅(qū)動簡單,驅(qū)動電路的抗干擾能力強。 6 溫度采集電路 本設計的溫度采集系統(tǒng)主要是數(shù)字溫度傳感器 DS18B20,如圖 21所示。在 DS18B20 接入系統(tǒng)之前,應分別從激光 ROM 中讀出其序號,然后分別賦予在系統(tǒng)中的編號 1~ n。 圖 21 溫度采集電路 溫度檢測系統(tǒng)原理圖 如圖 21所示 ,采用 外接 電源供電方式。當 DS18B20處于寫存儲器操作和溫度 A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為 10μs 。 在本設計中,我采用的是單個 DS18B20測室內(nèi)溫度,并把它直接與單片機的 I/O口相連,將測得的溫度值送入 CPU 與鍵盤輸入的設定值進行比較,然后通過 CPU 來控制負載電路的工作。 DS18B20 每一步操作都要遵循嚴格的工作時序和通信協(xié)議 ,如主機控制 DS18B20 完成溫度轉(zhuǎn)換這一過程,根據(jù) DS18B20的通信協(xié)議,須經(jīng)三個步驟:每一次讀寫之前都要對 DS18B20進行復位,復位成功后發(fā)送一條 ROM指令 ,最后發(fā)送 RAM指令 ,這樣才能對 DS18B20進行預定的操作。顯示方式有動態(tài)掃描和靜態(tài)掃描,兩種都可 以實現(xiàn)顯示功能,但由于靜態(tài)掃描要用到多片串入并出芯片,考慮到電路板成本計算,本人采用節(jié)約硬件資源的動態(tài)掃描顯示方式。 LED分別對室內(nèi)溫度和時間進行動態(tài)顯示,其相互顯示間隔設定為 1分鐘,即顯示溫度時第一、二位為十位、個位,第三、四位為小數(shù)位 。 由 4個共陰極的數(shù)碼管 組成溫度和時間交替顯示。這樣通過 P2口送出一個存儲單元的高位,低位 BCD顯示代碼,通過 P2口另幾位送出掃描選通代碼輪流點 7 亮 LED1至 LED4,就會將要顯示的數(shù)據(jù)在數(shù)碼管中顯示出來。此種設計一般應用在單個 LED的驅(qū)動或LED 數(shù)量較少,且所選的 MCUI/O 口比較充裕的情況下。 LED的動態(tài)顯示方式 : 數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式,動態(tài)驅(qū)動是將所有數(shù)碼管的 8個顯示筆劃 a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨立的 I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。在輪流顯示過程中,每位數(shù)碼管的點亮時間為 1~ 2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的, 卻 能夠節(jié)省大量的 I/O端口,而且功耗更低。 該方法的原理利用了人眼對物體的視覺延遲來達到所有 LED的同時顯示,實際應用時,在同一個時刻,只有一組 LED處于顯示狀態(tài),而其他 LED處于關(guān)閉狀態(tài)。式中, f為掃描的頻率,對應為定時器的時間( T=1/ f); 32則是由 32ms換算而來, 32ms對應的頻率剛好為 32Hz; N則時總的 LED的組 數(shù)(此例中 N=4)。當然提高 LED 的驅(qū)動電壓也可以補償由此造成的亮度不夠的問題。由前述可知, P2 口的 , P2 口的 選碼, LED 就會顯示出數(shù)字來??梢姡瑢⒁@示的存儲器單元的數(shù)據(jù)直接送到 P2 口去驅(qū)動 LED數(shù)碼管顯示是不能正確表達的,必須在系統(tǒng)內(nèi)部將要顯示的數(shù)據(jù)經(jīng)過 BCD碼轉(zhuǎn)換后,將各個單元數(shù)據(jù)的段選代碼送入 P2口,給 CD4511譯碼后去驅(qū)動數(shù)碼管顯示。如:有一個單元存儲了 45這樣一位數(shù),則需轉(zhuǎn)換成四位 BCD碼 (0100) (1001)然后放入A中, A中 BCD碼,高四位代表 4,低 四位代表 5,同時送給兩個譯 碼器中,譯碼后 45 字就在兩個 LED 中顯示出來。 :利用電感和電容的阻抗特性,將整流后的單向脈動電流中的交流分量濾去,使單向脈動電流變換成平滑的直流電。 供電部分輸入 220V、 50HZ 的交流電,輸出電壓 +5V,供給整個電路電源, 電流最大為 400mA; LM17812和 LM17805負載重,功率大,加裝了散熱片。 片內(nèi)電路與片外器件構(gòu)成一個時鐘產(chǎn)生電路, CPU的所有操作均在時鐘脈沖下同步進行。本電路選用的電容為 33pF,晶振頻率為 12MHz。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生震蕩時鐘脈沖。在石英晶體的兩個管腳加交變電場時,它將會產(chǎn)生一定 頻率的機械變形,而這種機械振蕩又會產(chǎn)生交變電場,上述物理現(xiàn)象稱為壓電效應。但是,當交變電場的頻率為某一特定值時,振幅驟然增大,產(chǎn)生共振,稱之為壓電振蕩。石英晶振起振后要能在 X2 線上輸出一個 3V 左右的正弦波,以便使 MCS51 片內(nèi)的 10 OSC電路按石英晶振相同頻率自激振蕩。電容 C5, C6 可以幫助起振,典型值為 33 pF,調(diào)節(jié)它們可以達到微調(diào)fosc的目的。 C語言更接近機器語言,常用來編制與系統(tǒng)硬件相關(guān)的程序,如訪問 I/O 端口、中斷處理程序、實時控制程序、實時通信程序等;而數(shù)學運算程序則適合用 C51高級語言編寫,因為用高級語言編寫運算程序 可提高編程效率和應用程序的可靠性。也就是說,在用戶系統(tǒng)保留 AT89C51的情況下,通過開發(fā)系統(tǒng)與 AT89C51 的串行接口通信,直接對用戶系統(tǒng)進行調(diào)試,并在調(diào)試完成后將調(diào)試好的程序下載到AT89C51 中。 Keil 在 Windows操作系統(tǒng)下直接使用,編譯匯編源程序,并生成 16 進制文件和列表文件。調(diào)試器采用 Windows系統(tǒng),允許用戶使用 AT89C51的 UART串行接口在芯片上調(diào)試代碼執(zhí)行。模擬器采用 Windows系統(tǒng),能完全模擬 AT89C51的所有功能。 主程序功能單一化,只對各子程序進行控制、調(diào)動,使整個程序成為有機的整體。 主程序流程圖 本設計主程序流程如圖 31所示。 12 圖 31 主程序流程圖 DS18B20的溫度采樣程序流程圖 CPU對 DS18B20的訪問流程是:先對 DS18B20初始化,再進行 ROM操作命令,最后才能對存儲器和數(shù)據(jù)進行操作。如主機控制 DS18B20完成溫度轉(zhuǎn)換 這一過程,根據(jù) DS18B20 的通訊協(xié)議,須經(jīng)三個步驟:每一次讀寫之前都要對 DS18B20進行復位,復位成功后發(fā)送一條 ROM指令,最后發(fā)送 RAM指令,這樣才能對 DS18B20進行預定的操作。 13 圖 32 溫度采樣框 程序如下: float tt。 // 初始化 ds18b2子函數(shù) delay_MS(1)。 // 跳過 ROM命令 WriteOneChar(0xbe)。 // 連續(xù)讀兩個字節(jié)數(shù)據(jù) temp_data[1]=ReadOneChar()。 temp1=8。 // 兩字節(jié)合成一個整型變量。 // 返回溫度值 } void tem_deal(uint tem) /* 溫度數(shù)據(jù)顯示處理函數(shù) */ { if(tem6348) // 溫度值正負判斷 { tem=65536tem。 } // 負溫度求補碼 ,標志位置 1 else flag1=0。0x0f。 // 存入小數(shù)部分顯示值 Dis_ram[0]=tem4。 // 取百位數(shù)據(jù)暫存 Dis_play[2]=Dis_ram[0]%100。 else Dis_play[4]=0 。 else Dis_play[5]=0 。 // 取十位數(shù)據(jù)暫存 Dis_play[2]=Dis_play[2]%10。 // 先判斷百位是否為 0 if(!Dis_play[1]) { Dis_play[1]=0x0a。其流程圖如圖 33: 15 圖 33 LED顯示流程圖 程序如下 : LED1=~LED1。 } void display() /*****顯示溫度子程序 *****/ { char k。k4。 //數(shù)據(jù)顯示 } if (k==2){DIN=0。 //位選 delay_MS(90)。 } 16 discan=scan_con[7]。 //顯示 C delay_MS(90)。 } /*****主函數(shù) *****/ void main(void) { EA=1。 IT0=1。 //溫度轉(zhuǎn)換 tem_deal(tmp())。 if(Dis_play[4]==1) shengwen()。 if(Dis_play[5]==1) jiangwen()。 } while(1)。幾周的課程設計終于結(jié)束了,雖然很忙碌、很疲勞,但是收獲很大。每天的努力,喚來了我對課程設計的重新的認識,對 51 單片機和控制系統(tǒng)的深刻理解,實現(xiàn)了真正實踐的目的。在課堂上,掌握的僅僅是專業(yè)基礎課的理論,如何把我們所學到的專業(yè)基礎理論知識用到實踐中去呢?如何去鍛煉我們的實踐的一面?這次做課程設計就為我提供了一個課外學習的好平臺。把課本的知識運用到實際中,經(jīng)過我多次努力最終完成了此次課程設計。在此次設計中收獲最大的算是分析和解決問題的能力。我有如此的收獲于我的帶領(lǐng)老師潘云霞辛勤教導緊密相連,多謝臧老師諄諄教誨。 再次,要感謝我的寢室好友是他們幫助我解決了程序上 的偏差,有了他們的幫助才能夠及時解決問題,其中的無奈才有得解除。 在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這 里請接受我誠摯的謝意 !最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們 。 // P3 溫度輸入口 uint temp1。 // 定義一個標志 ,溫度是負或正 ,1 為負 ,0 為正 uchar data temp_data[2]={0x00,0x00}。//顯示單元數(shù)據(jù),共 6 個數(shù)據(jù)和一個運算 第 4個數(shù)據(jù)為空,第 6 個數(shù)據(jù)顯示 C uchar data Dis_ram[1]={0x00}。 //上限報警溫度,默認值為 38 uchar XX=15。 //定義調(diào)整鍵 sbit DEC = P3^1 。 //定義增加鍵 //sbit KO = P3^3。 sbit LED2=P3^4。 //小數(shù)點 define Disdata P0 // 段碼入口 //P0 111 define
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1