課程設計--8×8led點陣屏仿電梯數(shù)字滾動顯示_第1頁
已閱讀1頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  實 驗 報 告 </b></p><p>  實習名稱: C51程序設計 </p><p>  學生姓名: </p><p>  學院名稱: 電氣與信息工程學院 </p><p>  專業(yè)班級: 電子1042班 <

2、;/p><p>  學 號: </p><p>  指導教師: </p><p><b>  成 績 評 定</b></p><p>  2013 年 10月 16日</p><p>  本作業(yè)包含以下內(nèi)容:</p><

3、p>  一·8×8LED點陣屏仿電梯數(shù)字滾動顯示</p><p>  二·LCD160128中文顯示溫度與時間</p><p>  三·用ADC0832設計的兩路電壓表</p><p>  四·可以調(diào)控的走馬燈</p><p>  五·高仿真數(shù)碼管電子鐘</p>

4、<p>  一·8×8LED點陣屏仿電梯數(shù)字滾動顯示</p><p>  摘 要:伴隨著我國現(xiàn)代化程度的提高,電梯成為高層建筑中的重要交通工具,它是高層建筑中安全、可靠、垂直上下的運載工具,對改善勞動條件、減輕勞動強度起到很大的作用。同時也給人們的生活帶來了便利,為我國現(xiàn)代化建設的加速發(fā)展提供了強大的保障。電梯的應用范圍很廣,可用于賓館、飯店、辦公大樓、商場、娛樂場所,倉庫以及居民

5、住宅大樓等。因此,在現(xiàn)代社會中電梯已成為人類必不可少的垂直運輸交通工具。利用單片機控制電梯有成本低,通用性強,靈活性大以及易于實現(xiàn)復雜控制等優(yōu)點。</p><p>  基于單片機的電梯智能控制系統(tǒng)的設計分別從系統(tǒng)要求、硬件設計、軟件設計等幾個部分設計,介紹了以AT89C51系列單片機為核心,并結合74LS245和LED等芯片以及與之相配套的匯編語言軟件等進行電梯模擬的具體實現(xiàn)方法,該方法不僅可以實現(xiàn)電梯的基本功能

6、,而且可以設置電梯直達、急停、停電檢修等功能,從而可實現(xiàn)電梯的智能控制及相應的最佳路線選擇,提高電梯的有效利用率。</p><p>  關鍵詞:單片機;電梯;系統(tǒng);控制</p><p><b>  1.課題設計內(nèi)容</b></p><p>  本課題的主要任務是完成一個電梯系統(tǒng)的智能控制模塊,即根據(jù)每個樓層不同顧客的按鍵要求,讓電梯做出合理的判

7、斷,正確高效的指導電梯完成各項載客任務。設計基于單片機的電梯智能控制系統(tǒng)的硬件電路與軟件程序,給出硬件系統(tǒng)的電路原理圖,對硬件電路與軟件分別進行調(diào)試,得到調(diào)試成功的基于單片機的電梯智能控制系統(tǒng)。</p><p>  根據(jù)此任務,本課題需要研究的內(nèi)容有:</p><p>  1、根據(jù)系統(tǒng)的技術要求,進行系統(tǒng)硬件的總體方案設計;</p><p>  2、學習單片機的相關

8、知識,并且加以運用;</p><p>  3、選擇適當?shù)男酒?,并對其?nèi)部協(xié)議有所掌握,便于應用。</p><p>  4、研究單片機C語言編程,并且規(guī)定電梯的工作規(guī)則,用C語言加以實現(xiàn);</p><p>  5、對軟件和硬件進行調(diào)試,讓其協(xié)調(diào)工作,完成指定任務。</p><p>  圖1-1 硬件結構框圖</p><p&g

9、t;  2. 硬件電路中器件選擇</p><p>  A. AT89C51單片機</p><p>  AT89C51是一個低電壓,高性能CMOS8位單片機帶有4K字節(jié)的可反復擦寫的程序存儲器(PENROM)。和128字節(jié)的存取數(shù)據(jù)存儲器(RAM),這種器件采用ATMEL公司的高密度、不容易丟失存儲技術生產(chǎn),并且能夠與MCS-51系列的單片機兼容。片內(nèi)含有8位中央處理器和閃爍存儲單元,有較強

10、的功能的AT89C51單片機能夠被應用到控制領域中。</p><p>  本設計采用AT89C51,它提供以下的功能標準:4K字節(jié)閃爍存儲器,128字節(jié)隨機存取數(shù)據(jù)存儲器,32個I/O口,2個16位定時/計數(shù)器,1個5向量兩級中斷結構,1個串行通信口,片內(nèi)震蕩器和時鐘電路。另外,AT89C51還可以進行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機存取數(shù)據(jù)存儲器、定時/

11、計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機存取數(shù)據(jù)存儲器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個復位。引腳圖如圖1-2所示。</p><p>  圖1-2 AT89C51引腳</p><p>  VCC:電源電壓 </p><p><b>  GND:地</b></p><p>  

12、P0口:P0口是一組8位漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復用口。作為輸出口時,每一個管腳都能夠驅(qū)動8個TTL電路。當“1”被寫入P0口時,每個管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲器或程序存儲器時,轉(zhuǎn)換地址和數(shù)據(jù)總線復用,并在這時激活內(nèi)部的上拉電阻。P0口在閃爍編程時,P0口接收指令,在程序校驗時,輸出指令,需要接電阻。</p><p>  P1口:P1口一個帶內(nèi)部上拉電阻的8位雙向I/

13、O口,P1的輸出緩沖級可驅(qū)動4個TTL電路。對端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時可作為輸入口。因為內(nèi)部有電阻,某個引腳被外部信號拉低時輸出一個電流。閃爍編程時和程序校驗時,P1口接收低8位地址。</p><p>  P2口:P2口是一個內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL電路。對端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時,可作為輸入口。因為內(nèi)部有電阻,某個引

14、腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整個運行期間不變。閃爍編程或校驗時,P2口接收高位地址和其它控制信號。</p><p>  P3口:P3口是一組帶有內(nèi)部電阻的8位雙向I/O口,P3口輸出緩沖故可驅(qū)動4個TTL電路。對P3口寫如“1”時,它們被內(nèi)部電阻拉到高電平并可作為輸入端時,被外部

15、拉低的P3口將用電阻輸出電流。P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,如下表所示:</p><p><b>  表1-3</b></p><p>  P3口還接收一些用于閃爍存儲器編程和程序校驗的控制信號。</p><p>  RST:復位輸入。當震蕩器工作時,RET引腳出現(xiàn)兩個機器周期以上的高電平將使單片機復位。</

16、p><p>  ALE/ :當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE以時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它可對輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖時,閃爍存儲器編程時,這個引腳還用于輸入編程脈沖。如果必要,可對特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個位置后只有一條MOVX和MOVC

17、指令ALE才會被應用。此外,這個引腳會微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。</p><p>  PSEN:程序儲存允許輸出是外部程序存儲器的讀選通信號,當AT89C51由外部程序存儲器讀取指令時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN 信號不出現(xiàn)。</p><p>  EA/VPP:外部訪問允許。欲使中央處理器僅

18、訪問外部程序存儲器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。閃爍存儲器編程時,該引腳加上+12V的編程允許電壓VPP,當然這必須是該器件是使用12V編程電壓VPP。</p><p>  XTAL1:片內(nèi)振蕩器反相放大器和時鐘發(fā)生線路的輸入端。使用片內(nèi)振蕩器時,連接外部石英晶體和微調(diào)電容。</p>&

19、lt;p>  XTAL2:片內(nèi)振蕩器反相放大器的輸出端。當使用片內(nèi)振蕩器時,外接石英晶體和微調(diào)電容。</p><p>  圖1-4 74LS245</p><p>  74LS245是我們常用的芯片,用來驅(qū)動LED或者其他的設備,它是8路相同三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。</p><p>  74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。

20、當8051單片機的P0口總線負載達到或超過P0口最大負載能力時,必須接入74LS245等總線驅(qū)動器。 當片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)DIR=“1”,信號由A向B傳輸;(發(fā)送)當CE為高電平時,A、B均為高組態(tài)。 由于P2口始終輸出地址的高8位,接口時74LS245d 三態(tài)控制端1G和2G接地,P2口與驅(qū)動器輸入線對應相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。805

21、1的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時,74LS245輸入(P0.1←D1),其他時間處于輸出(P01→D1)。</p><p><b>  C.LED點陣</b></p><p>  圖1-5 LED點陣外觀</p><p>  顯示屏是由發(fā)光二極管行列組成的LED點陣模塊組成顯示屏體。本設計中選擇8*8的點陣是由64

22、個發(fā)光二極管按規(guī)律組成的。如圖1-6。</p><p>  圖1-6 LED點陣內(nèi)部結構</p><p>  如圖1-6所示的發(fā)光二極管,行接高電平,列接低電平,發(fā)光二極管導通發(fā)光。8X8點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應的二極管就亮。</p><p><b>  3

23、. 硬件設計</b></p><p>  基于單片機智能控制系統(tǒng)的設計系統(tǒng)電路原理圖如下2-2所示。系統(tǒng)由控制模塊,LED顯示模塊,電源模塊三部分組成。</p><p>  圖1-7 8×8LED點陣屏仿電梯數(shù)字滾動顯示原理圖</p><p><b>  3.1 控制模塊</b></p><p>

24、;  圖1-8 控制模塊原理圖</p><p>  控制模塊原理圖如圖1-8所示。主控制器采用AT89C51。AT89C51是一個低電壓,高性能CMOS8位單片機帶有4K字節(jié)的可反復擦寫的程序存儲器(PENROM)。它具有4K字節(jié)閃爍存儲器,128字節(jié)隨機存取數(shù)據(jù)存儲器,32個I/O口,2個16位定時/計數(shù)器,1個5向量兩級中斷結構,1個串行通信口,片內(nèi)震蕩器和時鐘電路。</p><p>

25、  在本設計中,P1口用于對電梯按鈕的控制,連接輸入設備。P3口用于對LED點陣顯示器的控制。P0口用于連接鎖存器74LS245,以保護單片機的輸出端口。</p><p><b>  3.2按鍵模塊</b></p><p>  圖1-9按鍵模塊原理圖</p><p>  乘客可由按鍵控制電梯上升下降,按下對應樓層按鍵,點陣屏數(shù)字將從當前位置向下

26、或向上平滑滾動顯示到指定樓層位置。</p><p>  3.3 LED顯示模塊</p><p>  圖1-10LED輸出顯示模塊</p><p>  LED輸出顯示模塊如圖2-5所示,采用LED點陣顯示器,其中點陣列接單片機P3口,行接鎖存器74LS245。在單片機的輸出口接驅(qū)動電路74LS245,以保護單片機的輸出端口。</p><p>&

27、lt;b>  3.4 電源電路</b></p><p>  整個系統(tǒng)采用的電源電壓只需+5V電壓,將交流電經(jīng)變壓器變換為12V交流電,再用整流橋得到8.5V左右的直流電,采用不可調(diào)的3端穩(wěn)壓器件LM7805將電源穩(wěn)定在5V直流輸出。</p><p><b>  4. 軟件設計</b></p><p>  圖1-11 電梯智能控

28、制功能實現(xiàn)流程圖</p><p><b>  4.1 主程序模塊</b></p><p>  系統(tǒng)主程序主要用于變量及其他部件的初始化,如定時器T0的初始化,以便能夠準確的進行相應的操作。同時進行相應的功能鍵判斷,從而實現(xiàn)特殊功能。其相應的流程圖如下:</p><p>  圖1-12主程序流程圖</p><p><

29、b>  4.2 判斷子程序</b></p><p>  系統(tǒng)判斷子程序的相應流程圖如圖所示。</p><p>  在相應的中斷子程序中,需要進行相應樓層的邏輯判斷,尤其是兩個樓層申請的時候,一般都需要根據(jù)現(xiàn)在的樓層狀態(tài)以及相應的升降標志位進行相應的處理,例如在上升狀態(tài)時,若第二個樓層的申請較第一個申請離現(xiàn)在的樓層狀態(tài)更近,則應先響應第二個申請的響應,然后再對第一個申請進行

30、響應;若有樓層申請在當前樓層的下面,也應根據(jù)升降的標志位進行判斷,如果是上升狀態(tài),應先響應上面的樓層,然后再響應其他的申請。當然,如果處于下降狀態(tài),則以相反的順序進行響應。這里只是兩個樓層申請時的討論。當有更多樓層響應時,還需進一步進行邏輯的思考與判斷。</p><p>  圖1-13 判斷子程序流程圖</p><p><b>  5. 結束語</b></p&g

31、t;<p>  本文設計了實現(xiàn)單片機控制下電梯智能控制系統(tǒng)的設計方案。由于條件的限制,沒有做成真正的電梯。但做成的電梯智能控制系統(tǒng)的硬件電路已能演示??梢园凑粘丝偷囊螅瑢⒊丝退偷揭サ哪康膶?。但是,電梯還有很多的擴展的空間并未實現(xiàn),比如電梯自動語音報站系統(tǒng)的設計,樓層監(jiān)控系統(tǒng),節(jié)能設計以及其它更多的服務。</p><p><b>  參考文獻</b></p>&

32、lt;p>  [1] 何立民.單片機應用技術選編[M].北京:北京航空航天大學出版社,1999.</p><p>  [2] 陳小忠.單片機接口技術使用子程序[M].北京:人民郵電出版社,2005.</p><p>  [3] 丁元杰,吳大偉.單片機微機實題集與實驗指導書[M].北京:機械工業(yè)出版社,2004.</p><p>  [4] 51單片機C語言教程

33、[M].北京:電子工業(yè)出版社,2009.</p><p>  [5] 黃宏安,Allegro PCB Layout.高速電路版設計[M].臺科大圖書股份有限公司,2003.</p><p>  [6] 于海生.微型計算機控制技術[M].北京:清華大學出版社,1998.</p><p>  [7] 李廣弟.單片機基礎[M].第3版,北京:國防工業(yè)出版社,2001.&l

34、t;/p><p>  [8] 謝劍英,賈青.微型計算機控制技術[M].北京:清華大學出版社,1998.</p><p>  [9] 蘇凱,劉國慶,陳國平.MCS-51系列單片機系統(tǒng)原理與設計[J].北京:冶金工業(yè)出版社,2003</p><p>  [10] 潘新民,王艷芳.微型計算機控制技術[J].北京:電子工業(yè)出版社,2003.</p><p&g

35、t;  [11] 張毅坤,陳善久,裘雪紅.單片微型機及應用[M].西安:西安電子科技大學學出版大學出版社,1998.</p><p>  [12] 全國大學生電子設計競賽組委會.全國大學生電子設計競賽獲獎作品精選[M].北京:北京理工大學出版社,2000.</p><p>  [13] 趙晶主.電路設計與制版Protel99 高級應用[J].北京:人民郵電出版社,2000.</p&g

36、t;<p>  [14] 何希才.新型實用電子電路400列[M].北京:電子工業(yè)出版社,2006.</p><p><b>  附錄1</b></p><p><b>  程序清單</b></p><p>  #include <reg51.h> //52系列單片機頭文件</p>

37、<p>  #include <intrins.h></p><p>  #define uchar unsigned char </p><p>  #define uint unsigned int</p><p>  uchar code Table_OF_Digits[]=</p><p><b>  

38、{</b></p><p>  0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,//0</p><p>  0x00,0x08,0x38,0x08,0x08,0x08,0x3E,0x00,//1</p><p>  0x00,0x3C,0x04,0x04,0x3C,0x20,0x3C,0x00,//2 </p>

39、<p>  0x00,0x3C,0x04,0x3C,0x04,0x04,0x3C,0x00,//3 </p><p>  0x00,0x20,0x28,0x28,0x3C,0x08,0x08,0x00,//4 </p><p>  0x00,0x3C,0x20,0x20,0x3C,0x04,0x3C,0x00,//5 </p><p>  0x00,0

40、x20,0x20,0x20,0x3C,0x24,0x3C,0x00,//6 </p><p>  0x00,0x3C,0x04,0x04,0x04,0x04,0x04,0x00//7 </p><p><b>  };</b></p><p>  uint r = 0;</p><p>  char offset = 0

41、;</p><p>  uchar Current_Level = 1,Dest_Level = 1,x = 0,t = 0;</p><p>  //------------------------------------------</p><p><b>  //主程序</b></p><p>  //------

42、------------------------------------</p><p>  void main()</p><p><b>  {</b></p><p>  P3 = 0x80;</p><p>  Current_Level = 1;</p><p>  Dest_Level

43、 = 1;</p><p>  TMOD = 0x01;</p><p>  TH0 = -4000/256;</p><p>  TL0 = -4000%256;</p><p><b>  TR0 = 1;</b></p><p>  IE = 0x82;</p><p&g

44、t;<b>  while(1);</b></p><p><b>  }</b></p><p>  //------------------------------</p><p><b>  // TO 中斷</b></p><p>  //---------------

45、----------------</p><p>  void LED_Screen_Display() interrupt 1</p><p><b>  {</b></p><p><b>  uchar i ;</b></p><p>  if (P1 !=0xFF && Cu

46、rrent_Level==Dest_Level)</p><p><b>  {</b></p><p>  if (P1 == 0xFE) Dest_Level = 5;</p><p>  if (P1 == 0xFD) Dest_Level = 4;</p><p>  if (P1 == 0xFB) Dest_L

47、evel = 3;</p><p>  if (P1 == 0xF7) Dest_Level = 2;</p><p>  if (P1 == 0xEF) Dest_Level = 1;</p><p><b>  }</b></p><p>  TH0 = -4000/256;</p><p>

48、  TL0 = -4000%256;</p><p>  P3 = _crol_(P3 , 1);</p><p>  i = Current_Level * 8 + r + offset;</p><p>  P0 = ~Table_OF_Digits[i];</p><p><b>  //上升顯示</b><

49、/p><p>  if (Current_Level < Dest_Level)</p><p><b>  {</b></p><p>  if( ++r == 8)</p><p><b>  {</b></p><p><b>  r = 0;</b&

50、gt;</p><p>  if (++x == 4)</p><p><b>  {</b></p><p><b>  x = 0;</b></p><p>  if (++offset == 8)</p><p><b>  {</b></p

51、><p>  offset = 0;</p><p>  Current_Level++;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

52、;b>  }</b></p><p><b>  //下降顯示</b></p><p><b>  else</b></p><p>  if (Current_Level > Dest_Level)</p><p><b>  { </b></p

53、><p>  if( ++r == 8)</p><p><b>  {</b></p><p><b>  r = 0;</b></p><p>  if (++x == 4)</p><p><b>  {</b></p><p&g

54、t;<b>  x = 0;</b></p><p>  if (--offset == -8)</p><p><b>  {</b></p><p>  offset = 0;</p><p>  Current_Level--;</p><p><b>  }

55、</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //停止?jié)L動,保持穩(wěn)定的刷新顯示</p><p><b>  else</b

56、></p><p><b>  {</b></p><p>  if( ++r == 8) r = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  附錄2:基于單片機的電梯智能控制系統(tǒng)的元器

57、件目錄表</p><p>  二·LCD160128中文顯示溫度與時間</p><p>  摘要:本文主要內(nèi)容是利用AT89C51單片機與160*128的液晶、DS18B20和DS1302組合設計的顯示溫度與時間系統(tǒng),在160*128的液晶上顯示當前的時間、日期和DS18B20中的溫度值。</p><p>  關鍵詞:單片機;溫度;時間;PG160128A

58、;DS18B20; DS1302</p><p><b>  0引言</b></p><p>  單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。單片機應用的重

59、要意義在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統(tǒng)控制技術的一次革命。 利用單片機顯示當前時間與溫度是單片機與PG160128 、DS18B20和DS1302的組合應用,對于開發(fā)單片機更深層次應用有非?,F(xiàn)實的意義。</p><p><b>  1系統(tǒng)總體方案設

60、計</b></p><p>  單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。AT89C51作為單片機中最早的技術相對

61、成熟的產(chǎn)品,即使在各種更加高級,功能更加強勁的芯片如MSP430,HCS12,已經(jīng)各種FPGA,ARM的日益成熟的今天,51以其易學,易用,可擴展性強仍然被廣泛用于簡單工控系統(tǒng)和最佳的初學者芯片。</p><p>  LCD160128液晶,作為與51單片機兼容的液晶,像素高達160*128,可尋址,可以通過編程實現(xiàn)字庫設置和圖像顯示,并有豐富的命令字可以實現(xiàn)各種豐富的顯示效果,用簡單的51單片機結合軟件就能模擬

62、各種實際功能,本設計主要研究如何模擬使通過51單片機與PG160128LCD的聯(lián)合應用,利用AT89C51單片機與160*128的液晶、DS18B20和DS1302組合設計的顯示溫度與時間系統(tǒng),在160*128的液晶上顯示當前的時間、日期和DS18B20中的溫度值。</p><p><b>  2系統(tǒng)硬件方案設計</b></p><p>  整個硬件電路由單片機的復位

63、和晶振電路,PG160128液晶顯示器,電阻,2個獨立LED溫度警示燈,DS18B20和DS1302組成。本硬件系統(tǒng)的子系統(tǒng)下面單獨介紹。</p><p><b>  2.1實驗原理圖</b></p><p>  圖2-1 系統(tǒng)原理圖</p><p>  2.2 AT89C51單片機</p><p>  AT89C51

64、是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位C

65、PU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  2.2.1 主要特性:·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24Hz·三級

66、程序存儲器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計數(shù)器·5個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 </p><p>  2.2.2管腳說明:VCC:供電電壓。GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的

67、管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程

68、和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對</p>&l

69、t;p>  2.3振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  2.4芯片擦除: 整個PEROM陣列和三個鎖定位的電擦除可通過正

70、確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 </p&g

71、t;<p>  2.5 PG160128LCD</p><p>  160 X 128 字符顯示點陣;</p><p>  并行 8 線數(shù)據(jù)通信;</p><p>  黑色點陣,黃色背景,獨立LED背光電源;</p><p>  工作溫度寬, 工業(yè)級 LCM, 超薄外型設計。</p><p>  圖2-2

72、 PG160128LCD引腳圖</p><p>  2.6 DS18B20溫度系統(tǒng)</p><p>  2.6.1 主要特性</p><p>  1、適應電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù) 據(jù)線供電 </p><p>  2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS

73、18B20的雙向通訊 </p><p>  3、 DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫 </p><p>  4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) </p><p>  5、溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃

74、 </p><p>  6、可編程 的分辨率為9~12位,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫 </p><p>  7、在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 </p><p>  8、測量結果直接輸出數(shù)字溫度信號,以"一

75、線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力 </p><p>  9、負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。</p><p>  2.6.2 DS18B20的外形和內(nèi)部結構</p><p>  DS18B20內(nèi)部結構主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL

76、、配置寄存器。DS18B20的外形及管腳排列如下圖1: </p><p>  圖2-3 DS18B20外形及管腳排列圖</p><p>  2.6.2.1 DS18B20引腳定義: </p><p>  (1)DQ為數(shù)字信號輸入/輸出端; </p><p>  (2)GND為電源地; </p><p>  (3)VDD

77、為外接供電電源輸入端(在寄生電源接線方式時接地)。</p><p>  2.6.2.2 DS18B20內(nèi)部結構圖</p><p>  圖2-4 DS18B20內(nèi)部結構圖</p><p>  2.6.3 DS18B20的工作原理</p><p>  DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,

78、且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。 DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)所測溫度的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。</p><p>  2.7 DS1302 時間系統(tǒng)</p><p>  2.7.1 DS1302的結構及工作原理</p&g

79、t;<p>  DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加

80、了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。</p><p>  2.7.2 DS1302的引腳功能及結構</p><p>  DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2

81、是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST

82、必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。SCLK為時鐘輸入端。 </p><p>  下圖為DS1302的引腳功能圖: </p><p>  圖2-5 DS1302引腳功能圖</p><p>  DS1302的內(nèi)部結構如下圖所示,主要組成部分為:移位寄存器、控制邏輯、振蕩器、實時時鐘以及

83、RAM。雖然數(shù)據(jù)分成兩種,但是對單片機的程序而言,其實是一樣的,就是對特定的地址進行讀寫操作。</p><p>  圖2-6 DS1302的內(nèi)部結構圖</p><p>  DS1302工作時為了對任何數(shù)據(jù)傳送進行初始化,需要將復位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,

84、讀操作時輸出數(shù)據(jù),寫操作時輸出數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8(8位地址+8位數(shù)據(jù)),在多字節(jié)方式下為8加最多可達248的數(shù)據(jù)。</p><p><b>  3系統(tǒng)軟件方案設計</b></p><p>  本文主要內(nèi)容是利用AT89C51單片機與160*128的液晶、DS18B20和DS1302組合設計的顯示溫度與時間系統(tǒng),在160*128的液晶上顯示當前的時間

85、、日期和DS18B20中的溫度值。</p><p><b>  4系統(tǒng)硬件設計方案</b></p><p><b>  (1)時鐘電路</b></p><p>  單片機工作的時間基準是由時鐘電路提供的。在單片機的XTAL1和XTAL2兩個引腳間,接一只晶振及兩只電容就構成了單片機的時鐘電路,</p><

86、;p>  電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數(shù)。電路中,電容器C1和C2對振蕩器頻率有微調(diào)作用,通常的取值范圍30±10pF;石英晶體選擇6MHZ或12MHZ都可以。其結果只是機器周期時間不同,影響計數(shù)器的計數(shù)初值。</p><p>  圖2-7 時鐘電路原理圖</p><p><b>  2)溫度檢測電路</b><

87、;/p><p>  該電路只是利用DS18B20模擬外界環(huán)境溫度的變化,從而實時顯示在液晶屏上。</p><p>  圖2-8 溫度檢測電路原理圖</p><p>  LCD160128顯示電路</p><p>  圖2-9 顯示電路原理圖</p><p>  5總結 </p><p>

88、  本次課程設計是通過AT89C51單片機原理來控制電路,并利用C語言進行程序設計?;谶x題要求,我們設計了溫度測量、時間測量、LCD顯示功能。硬件方面我們使用了PG160128ALCD、DS1302、DS18B20測溫元件。這種控制電路結構簡單,可靠性高,應用性強;軟件程序適應范圍廣,對于不同的客戶只需要改變相應的定時常數(shù)即可。對單片機以及日常生活中的推前事件的應用有一定的借鑒價值</p><p>  系統(tǒng)軟件

89、部分采用MCS—51單片機匯編語言精心編寫,其數(shù)據(jù)流程清晰地反映在程序中,增強了軟件的可讀性,便于改進和擴充,從而為其實用提供更好的軟件支持。從設計過程中我也學到了很多專業(yè)知識了解到了更多的元器件的使用。</p><p><b>  參考文獻</b></p><p>  [1] 閻石主編:《數(shù)字電子技術基礎》[M],北京,高等教育出版社,2006.5</p>

90、;<p>  [2] 康華光主編:《電子技術基礎》 [M],北京,高等教育出版社,1999.6[3]譚浩強主編:《C語言程序設計》[M],北京,清華大學出版社,2005.7</p><p>  [4]高衛(wèi)東主編:《51單片機原理與實踐》[M],北京,北京航空航天大學出版社,2011.1</p><p>  [5]彭偉主編:《單片機C語言程序設計實訓100例》[M],北京,電

91、子工業(yè)出版社,2009.6</p><p><b>  附錄</b></p><p><b>  附件一:源程序如下</b></p><p>  //---------------LCD_160128.c----------------</p><p>  //LCD_160128的C文件,內(nèi)含控制

92、函數(shù)</p><p>  //------------------------------------------</p><p>  #include <stdarg.h></p><p>  #include <stdio.h></p><p>  #include <math.h></p>

93、<p>  #include <intrins.h></p><p>  #include <absacc.h></p><p>  #include <string.h></p><p>  #include <LCD_160128.h></p><p>  #define AS

94、C_CHR_WIDTH 8</p><p>  #define ASC_CHR_HEIGHT 12</p><p>  #define HZ_CHR_HEIGHT 12</p><p>  #define HZ_CHR_WIDTH 12</p><p>  uchar code LCD_WIDTH = 20;</p><

95、;p>  uchar code LCD_HEIGHT = 128;</p><p>  uchar code ASC_MSK[96*12]={</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,</p><p>  0x00,0x00,0x00,0x00,0x00,0x

96、00,0x00,0x00,0x00,0x00,0x00,0x00,// ' '</p><p>  0x00,0x30,0x78,0x78,0x78,0x30,0x30,0x00,0x30,0x30,0x00,0x00,// '!'</p><p>  0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x0

97、0,0x00,// '"'</p><p>  0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,// '#'</p><p>  0x30,0x30,0x7c,0xc0,0xc0,0x78,0x0c,0x0c,0xf8,0x30,0x30,0x00,// '$'

98、</p><p>  0x00,0x00,0x00,0xc4,0xcc,0x18,0x30,0x60,0xcc,0x8c,0x00,0x00,// '%'</p><p>  0x00,0x70,0xd8,0xd8,0x70,0xfa,0xde,0xcc,0xdc,0x76,0x00,0x00,// '&'</p><p> 

99、 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '''</p><p>  0x00,0x0c,0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x0c,0x00,0x00,// '('</p><p>  0x00,0x60,0x30,0x18,0

100、x0c,0x0c,0x0c,0x18,0x30,0x60,0x00,0x00,// ')'</p><p>  0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,// '*'</p><p>  0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x

101、00,0x00,0x00,// '+'</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x60,0x00,// ','</p><p>  0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,// '-'

102、;</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x00,0x00,// '.'</p><p>  0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,// '/'</p><p>  0x

103、00,0x7c,0xc6,0xce,0xde,0xd6,0xf6,0xe6,0xc6,0x7c,0x00,0x00,// '0'</p><p>  0x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,// '1'</p><p>  0x00,0x78,0xcc,0xcc,0x0c,0x1

104、8,0x30,0x60,0xcc,0xfc,0x00,0x00,// '2'</p><p>  0x00,0x78,0xcc,0x0c,0x0c,0x38,0x0c,0x0c,0xcc,0x78,0x00,0x00,// '3'</p><p>  0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00

105、,0x00,// '4'</p><p>  0x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,// '5'</p><p>  0x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00,// '6'</p

106、><p>  0x00,0xfe,0xc6,0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x00,0x00,// '7'</p><p>  0x00,0x78,0xcc,0xcc,0xec,0x78,0xdc,0xcc,0xcc,0x78,0x00,0x00,// '8'</p><p>  0x00,0x78

107、,0xcc,0xcc,0xcc,0x7c,0x18,0x18,0x30,0x70,0x00,0x00,// '9'</p><p>  0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x00,// ':'</p><p>  0x00,0x00,0x00,0x38,0x38,0x00,0x00,

108、0x38,0x38,0x18,0x30,0x00,// ';'</p><p>  0x00,0x0c,0x18,0x30,0x60,0xc0,0x60,0x30,0x18,0x0c,0x00,0x00,// '<'</p><p>  0x00,0x00,0x00,0x00,0x7e,0x00,0x7e,0x00,0x00,0x00,0x00,0x0

109、0,// '='</p><p>  0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,// '>'</p><p>  0x00,0x78,0xcc,0x0c,0x18,0x30,0x30,0x00,0x30,0x30,0x00,0x00,// '?'</p&

110、gt;<p>  0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xc0,0xc0,0x7c,0x00,0x00,// '@'</p><p>  0x00,0x30,0x78,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0x00,0x00,// 'A'</p><p>  0x00,0xfc,

111、0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0xfc,0x00,0x00,// 'B'</p><p>  0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xc0,0xc6,0x66,0x3c,0x00,0x00,// 'C'</p><p>  0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0

112、x66,0x6c,0xf8,0x00,0x00,// 'D'</p><p>  0x00,0xfe,0x62,0x60,0x64,0x7c,0x64,0x60,0x62,0xfe,0x00,0x00,// 'E'</p><p>  0x00,0xfe,0x66,0x62,0x64,0x7c,0x64,0x60,0x60,0xf0,0x00,0x00,//

113、 'F'</p><p>  0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xce,0xc6,0x66,0x3e,0x00,0x00,// 'G'</p><p>  0x00,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,// 'H'</p>&l

114、t;p>  0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,// 'I'</p><p>  0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,// 'J'</p><p>  0x00,0xe6,0x66,0x

115、6c,0x6c,0x78,0x6c,0x6c,0x66,0xe6,0x00,0x00,// 'K'</p><p>  0x00,0xf0,0x60,0x60,0x60,0x60,0x62,0x66,0x66,0xfe,0x00,0x00,// 'L'</p><p>  0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc

116、6,0xc6,0x00,0x00,// 'M'</p><p>  0x00,0xc6,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0x00,0x00,// 'N'</p><p>  0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x00,// 'O

117、'</p><p>  0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0xf0,0x00,0x00,// 'P'</p><p>  0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xce,0xde,0x7c,0x0c,0x1e,0x00,// 'Q'</p><p>

118、  0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0xe6,0x00,0x00,// 'R'</p><p>  0x00,0x78,0xcc,0xcc,0xc0,0x70,0x18,0xcc,0xcc,0x78,0x00,0x00,// 'S'</p><p>  0x00,0xfc,0xb4,0x30,0x30

溫馨提示

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

評論

0/150

提交評論