《單片機原理與應用》課設報告-自動窗簾控制-付治_第1頁
《單片機原理與應用》課設報告-自動窗簾控制-付治_第2頁
《單片機原理與應用》課設報告-自動窗簾控制-付治_第3頁
《單片機原理與應用》課設報告-自動窗簾控制-付治_第4頁
《單片機原理與應用》課設報告-自動窗簾控制-付治_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、武漢理工大學華夏學院課程設計報告課 程 名稱窗簾自動控制課程設計總評成績學生姓名、學號 付治10213312110學生專業班級物聯網1121指導教師姓名羅云貴精品文檔你我共享課程設計起止日期2014610-2014613AAAAAA一、課程設計項目名稱基于單片機的自動控制窗簾的設計、項目設計要求及性能指標設計一個基于單片機控制的自動控制窗簾,選用AT89C52單片機作為主控芯片進行設計和實現。具體任務包括項目的可行性分析,硬件電路的設計,系統軟件設計,仿真調試,實際測試等。具體要求如下:1. 兩個舵機控制窗簾的兩邊;2. 沿著窗簾軌道行進,而不偏離軌道;3. 目標通過光感值進行判斷開關窗簾;三

2、、項目設計方案1、系統方案設計(分析項目要求和指標,給出總的設計方案,畫出項目設計的方框圖,寫出設計方案和工作原理。)根據課程設計的要求,系統設計方案如下:以STC89C52單片機作為微控制器,采用BH1750作為光照控制模塊,舵機作為驅動模塊,lcd1206作為顯示模塊,自動控制窗簾系統結構框圖如圖1所示。圖1自動控制窗簾系統結構框圖主控器通過I2C接口向BH1750發送多種控制命令以及讀取測量數據。將測量數據通過lcd1206顯示出數據。將數據與系統給定值進行比較,使舵機進行正反轉。進而使窗簾改變開關狀態。2、系統硬件電路設計(給出系統的硬件電路設計,并分析其工作原理。)(1) 自動窗簾自

3、動控制的硬件設計自動控制窗簾的硬件電路主要由穩壓電路模塊、單片機最小系統、舵機模塊、光照控制模塊、顯示模塊等組成。(2)單片機模塊和電源電路設計單片機模塊只需要復位電路和晶振電路就能滿足控制要求,其中復位操作完成單片機片內電路的初始化,使單片機從一確定的狀態開始運行,當單片機的復位引腳RST出現5ms以上高電平時單片機就完成了復位操作;時鐘電路就是在引腳 XTAL1和XTAL2外接晶體振蕩器構成內部振蕩方式,內部振蕩方式所得的時鐘信號比較穩定,實用電路中使用較多。電源電路由L7805和電容組成,最大輸入電壓可達35V,最大輸出電流為1.5A,輸出電壓為5V,這里輸入用7.2V充電電池組。由于其

4、輸出電壓為5V,因此作為單片機的穩壓電路芯片非常合適,而且價格便宜,其輸出可直接給單片機供電。單片機模塊和電源電路如圖3所示。tlU:i I4:;XtMdVT4XJ255n.&KS刪K9TtiJfflns1 *?;in_*1汁7 H : T HJ lSi Tira tit ra - 穩壓模塊曲3 叩亠 2-Jjtn? sm丄:;幣;二A 刃止占F KaJ圖3單片機模塊和電源電路(3)舵機驅動模塊舵機有三根接線,白是數據線,黑是GND紅是VCC是識別高電平的時長,先將數據線置高1500微秒,然后將數據線置低20毫秒,調零電機不轉動。同樣的方法,當大于1500微秒時,電機正轉,當小于1500微秒時

5、,電機反轉。當置高的時間與調零差值越大時,轉動角度越大,速度越快。+5V.-innZt仃00微秒的 高電平P10(4)光照模塊20毫秒的 低電平W個脈神,即走十步圖4舵機時序圖光照模塊采用 BH1750發送多種控制命令讀取測量數據,1)產生通訊啟動信號2)發送8bit的地址數據(其中地址的最后一位應為0,表示寫命令)3)讀取BH1750的應答信號4)主控器發送8bit命令數據5)主控器讀取應答6)主控器產生停止信號VLC 5 1K5 1R:ew? 誇加潺泌笛注咅旨萌 扌|5:vcc 戸 SCL T au卜冷一 ADPR H :|卜vccHEXPE 1P5-0PI :Pf-tFl Jw?n 4t

6、pfl IH sKuFk 4M -1PI ?悶巾站T TRXDF3 曲ATND.PS 1A3J VltWIMVPSESIM 1血屮扌和bTupyPISRPWTXTAL:P:2XTALP: Ivss PM舛 ” JEznr琴KtoVCC .5V圖5 GY-30光照模塊以及LCD1602模塊接線圖精品文檔你我共享(5)顯示模塊初始化寫命令(RS=L)設置顯示坐標寫數據(RS=HnISPitwl亠丄RSR/WtPV tF tH)ltRtSP2 樽一*tHD2DB0-DB7Valid Datatc圖4讀時序操作寫入命令RS=L RW=L,D0D7指令碼,脈沖。RStwiR/WtRtSP2tPW tF

7、trt)1DB0-DB7Valid Datatc* *tHD2圖5寫時序操作寫入數據RS=H RW=L,D0D7數據,脈沖。aaaaaa精品文檔你我共享時序參數符號極限值單位測試條件最小值典型值最大值E信號周期tc400nsE脈卿寬度tpfl150ns引腳EE上升沿/下降沿時間tA. tF?5n?地址建立時間tSPI30ns引腳 E、RS. R/W地址保持時間 tHDI10ns數據建立時間讀操作to100ns數據保持時間【逮操作tHCi220ns引腳DBQ呃7數據建立時間(寫操件)tSP240ns數據保持時間(寫操作)tHO210n?3、系統軟件設計(給出系統的軟件設計,畫出程序流程圖,并給出

8、關鍵圖6時序參數AAAAAA部分的程序說明。(1)系統程序流程圖開始丁光敏傳感器PV數據送入單片機中*判斷是否改變到達 頂部“正捋I/ /到達 .頂咅弘結束圖7程序流程圖(2)主要功能程序說明1)光照傳感器程序un sig ned char BUF8; /int dis_data;void Delay5us()_n op_();_ nop_();_nop_() ;_n op_();_n op_();_ nop_();_nop_() ;_n op_();_n op_();_ no p_();_ nop_();_nop_(); _n op_();_ no p_();_ nop_();_nop_()

9、;void Delay5ms()int n=560;while( n-);void bh1750_start() /SDA = 1;SCL = 1;Delay5us();SDA = 0;Delay5us();SCL = 0;void bh1750_sto p()SDA = 0;SCL = 1;Delay5us();SDA = 1;Delay5us();void bh1750_se ndACK(bit ack) /SDA = ack;SCL = 1;Delay5us();SCL = 0;Delay5us();bit bh1750_recvACK()SCL=1;Delay5us();CY=SDA;

10、SCL=0;定義變量存放數據/延時函數啟動/停止發送從機應答/讀取應答Delay5us(); return CY;發送地址void bh1750_Se ndByte(uchar dat) /uchar i;for(i=0;i8;i+)dat= 1;SDA=CY;SCL=1;Delay5us();SCL=0;Delay5us();bh1750_recvACK();/應答數據uchar bh1750_recvByte()uchar i;uchar dat=0;SDA=1;for(i=0;i8;i+)dat= 1;SCL=1;Delay5us();dat|=SDA;SCL=0;Delay5us();

11、return dat;/寫數據void Si ngle_Write_bh1750(uchar REG_Address) bh1750_start();bh1750_Se ndByte(SlaveAddress);bh1750_Se ndByte(REG_Address); bh1750_sto p();讀數據void Multi ple_read_bh1750() / uchar i;bh1750_start();bh1750_Se ndByte(SlaveAddress+1);for (i=0;i3;i+)BUFi = bh1750_RecvByte();if (i=3)bh1750_se

12、ndACK(1);else bh1750_se ndACK(0);bh1750_sto p(); Delay5ms();/初始化void ini t_bh1750()Si ngle_Write_bh1750(0x01);uint zhaodu()Si ngle_Write_bh1750(0x01);Si ngle_Write_bh1750(0x10); delay(180);Multi pl e_Read_bh1750(); dis_data=BUF0; /將數據存放到 dis_datadis_data=(dis_data0; c-)for (b=199;b0;b-)for(a=1;a0;a-

13、);#ifndefLCD1602_4 PINS void LcdWriteCom(uchar com) LCD1602_E = 0;LCD1602_RS = 0;LCD1602_RW = 0;/當沒有定義這個 LCD1602_4 PINS時寫入命令使能 選擇發送命令 選擇寫入LCD1602_DATA PINS = com; Lcd1602_Delay1ms(1);LCD1602_E = 1;Lcd1602_Delay1ms(5); LCD1602_E = 0;#elsevoid LcdWriteCom(uchar com)LCD1602_E = 0;/ 使能清零/放入命令/等待數據穩定 寫入時

14、序 保持時間寫入命令不用改LCD1602_RS = 0; /選擇寫入命令LCD1602_RW = 0; / 選擇寫入LCD1602_DATAPINS = com; / 由于4位的接線是接到 P0 口的高四位,所以傳送高四位Lcd1602_Delay1ms(1)LCD1602_E = 1;/ 寫入時序Lcd1602_Delay1ms(5);LCD1602_E = 0;發送低四位LCD1602_DATA PINS = com 4; /Lcd1602_Delay1ms(1);LCD1602_E = 1;/ 寫入時序Lcd1602_Delay1ms(5);LCD1602_E = 0;#en dif#i

15、fndefvoid LcdWriteData(uchar dat)LCD1602_E = 0;/LCD1602 4PINS/寫入數據使能清零LCD1602_RS = 1; / 選擇輸入數據 LCD1602_RW = 0; / 選擇寫入 LCD1602_DATA PINS = dat; / 寫入數據 Lcd1602_Delay1ms(1);寫入時序/保持時間LCD1602_E = 1; /Lcd1602_Delay1ms(5); LCD1602_E = 0;#else/寫入數據void LcdWriteData(uchar dat)LCD1602_E = 0;.LCD1602_RS = 1; /

16、 LCD1602_RW = 0;LCD1602_DATA PINS = dat; / 由于/使能清零 選擇寫入數據 選擇寫入4位的接線是接到 P0 口的高四位,所以傳送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E = 1;/ 寫入時序Lcd1602_Delay1ms(5);LCD1602_E = 0;寫入低四位LCD1602_DATA PINS = dat 4; /Lcd1602_Delay1ms(1);LCD1602_E = 1;/ 寫入時序Lcd1602_Delay1ms(5);LCD1602_E = 0;#en dif/LCD初始化子程序#ifndefLCD16

17、02_ 4PINSvoid Lcdl nit()LcdWriteCom(0x38);LcdWriteCom(0x0c);LcdWriteCom(0x06);LcdWriteCom(0x01);LcdWriteCom(0x80); #elsevoid Lcdl nit()/開顯示開顯示不顯示光標寫一個指針加1清屏設置數據指針起點/LCD初始化子程序LcdWriteCom(0x32);LcdWriteCom(0x28);LcdWriteCom(0x0c);LcdWriteCom(0x06);LcdWriteCom(0x01);LcdWriteCom(0x80);/將8位總線轉為4位總線/在四位線下

18、的初始化開顯示不顯示光標寫一個指針加1清屏設置數據指針起點#en dif3)延時程序void delay_ nus(un sig ned int i) i=i/10; while(-i);void delay_ nms(un sig ned int n)n=n+1;while(-n)delay_nus(900); /延時1ms,同時進行補償主程序及其舵機程序4)#in clude#i ncludelcd.h#in clude sbit DJ=P1A2; un sig ned int aa;un sig ned char PuZh=xxxxxlx main ()un sig ned char i

19、;in it_bh1750();Lcdl nit(); for(i=0;i50)for(i=0;i16;i+)DJ=1;delay_ nus(1000);DJ=0;delay_ nm s(20); delay_ nm s(100);/順時針四、 elsefor(i=0;i16;i+)DJ=1; delay_nus(2000);DJ=0; delay_ nm s(20); delay_ nm s(100);/逆時針項目設計結果分析(寫出整個調試經過和現象,并分析產生不正確結果的原因和處理方法;給出仿真電路運行效果圖,實物電路運行效果圖)。1)系統調試調試過程中,出現光照自定義系數不好確定,嘗試了

20、多次之后,最終確定為50,但是仍然會有在光照比較弱的情況下,識別不好的情況,后續仍將繼續改進。舵機轉動時,LCD顯示屏出現閃亮,預估問題為供電不足的原因,改為18650兩節電池穩壓到9V供電即可。LCD顯示模塊是否工作主要測試的內容有:舵機驅動模塊工作是否正常;光強檢測模塊以及 正常;擴展功能是否達到要求等等。2)總結本論文從整體的角度,對窗簾自動控制系統進行分析和研究,同時做到重點的突出。論文循跡小車整體系統入手,著重介紹了舵機驅動、LCD1206顯示以及GY-30光照集成模塊。該自動循跡小車具有檢測并顯示光照強度、舵機的正反轉等功能,能夠自動根據光照調節窗簾的開關。再 設計這個系統時也遇到

21、了許多問題和困難,例如電源問題,在干電池帶不動以后我專門去了電子 元器件市場去買了幾個 18650電池,在設計的過程中總會出現意想不到的事情,有時一個小小的問題,都要花費大量的時間和精力,需要不斷地試驗,才能達到最好的效果。該系統設計已經完 成,并且做出了實物,實際測試證明系統已能達到設計要求。通過對系統的軟硬件設計和調試過 程,積累了不少實際經驗,開拓了思維,為今后在這方面的工作打下了較為堅實的基礎。本文還 有很多不足之處,將在以后的學習和實踐中不斷完善。五、參考文獻(相關文獻不少于3篇,記錄每篇文獻的作者姓名.文獻名稱.文獻發行城市:文獻出版社,出版年;)1秦志強,彭建盛,譚立新編著.AV

22、R單片機與小型機器人制作M.北京:電子工業出版社,20092 樓然苗,李光飛編著.單片機課程設計指導.北京:北京航空航天大學出版社,20073 秦志強,彭建盛,譚立新編著.AVR單片機與小型機器人制作.北京:電子工業出版社,2009課程設計評分表評分成績評分項目1.系統硬件、軟件軟件(20分)2 .系統難易程度和創新(15分)3 .成果演示(20分)4 .圖紙、資料(15分)5 .設計報告規范化、參考文獻(不少于 3篇)(10分)6 .答辯(20分)總 分(100分)答辯記錄:指導教師(簽名)日期:精品文檔你我共享沁園春雪飄。萬里雪大河上北國風光,千里冰封, 望長城內外,惟余莽莽; 下,頓失滔滔。欲與天公試山舞銀蛇, 原馳蠟象, 比高。須晴日,看紅裝素裹,江山如此多嬌, 引無數英雄競折腰 惜秦皇漢武,略輸文采;唐宗宋 祖,稍遜風騷。一代天驕,成吉思汗,只識彎弓射大 雕。俱往矣,數風流人物,還看今朝。克出師表兩漢:諸葛亮先帝創業未半而中道崩殂,今

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論