計算機硬件綜合設計——實時時鐘顯示_第1頁
計算機硬件綜合設計——實時時鐘顯示_第2頁
計算機硬件綜合設計——實時時鐘顯示_第3頁
計算機硬件綜合設計——實時時鐘顯示_第4頁
計算機硬件綜合設計——實時時鐘顯示_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學硬件綜合課程設計課程設計任務書學生姓名: 專業班級: 指導教師: 工作單位:計算機科學與技術學院題 目: 實時時鐘顯示例程設計初始條件:1. 課程設計使用ZG211硬件綜合實驗平臺(8051單片機),配有課程設計接口芯片和輔助芯片以及器件;2. ZG211有程序設計集成開發環境,程序設計語言為C語言;3. ZG211硬件綜合實驗平臺使用說明書;要求完成的主要任務: (包括課程設計工作量及其技術要求,撰寫說明書具體要求)1. 學習使用ZG211硬件綜合實驗平臺,程序設計集成開發環境;2. 根據課程設計題目,進行需求分析,搞清楚課程設計需要設計需求和需要解決的設計內容。3. 查閱和學習

2、課程設計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領。查閱和學習課程設計題目需要的輔助芯片以及器件資料。4. 設計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設計與硬件電路原理圖對應的C語言程序(或8051匯編語言)。給出程序流程圖。在集成開發環境中調試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數據。6. 撰寫課程設計報告,1)詳細陳述以上的設計過程;2)詳細陳述電路的調試過程。時間安排:第18周:1. 熟悉ZG211硬件綜合實驗平臺,KEILC UVISION2 集成開發環境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設計硬件電

3、路原理圖,。第19周:1. 使用C語言或匯編語言設計和調試接口程序。2. 撰寫計算機硬件綜合設計報告。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日實時時鐘顯示例程設計目錄:1 實驗目的-42實驗設備-42.1硬件環境-42.2實驗板模塊-93 實驗要求-104實驗原理-114.1 PCF8563芯片-114.2 I2C 協議-145實驗步驟-205.1 硬件連接-205.2 軟件設計-206實驗成功標志-217程序說明-218操作過程說明-229心得體會-221 實驗目的1.掌握IO 口操作;2.掌握顯示及鍵盤芯片的運用;3.了解中斷的運用;4.了解I2C 總線操作。2 實

4、驗設備2.1硬件環境1. PC 機一臺;ZG-211 單片機系統實驗板一塊;實驗連接線若干2. 芯片 CH451芯片CH451 是一個整合了數碼管顯示驅動和鍵盤掃描控制以及P 監控的多功能外圍芯片。CH451 內置RC 振蕩電路,可以動態驅動8 位數碼管或者64 位LED,具有BCD 譯碼、閃爍、移位等功能;同時還可以進行64 鍵的鍵盤掃描;CH451 通過可以級聯的串行接口與單片機等交換數據;并且提供上電復位和看門狗等監控功能。(1)顯示驅動1. 內置大電流驅動級,段電流不小于30mA,字電流不小于160mA。2. 動態顯示掃描控制,直接驅動8 位數碼管或者64 位發光管LED。3. 可選數

5、碼管的段與數據位相對應的不譯碼方式或者BCD 譯碼方式。4. 字數據左移、右移、左循環、右循環。5. 各數字獨立閃爍控制。6. 通過占空比設定提供16 級亮度控制。7. 支持段電流上限調整,可以省去所有限流電阻。8. 掃描極限控制,支持1 到8 個數碼管,只為有效數碼管分配掃描時間。(2) 鍵盤控制1. 內置64 鍵鍵盤控制器,基于8×8 矩陣鍵盤掃描。2. 內置去抖動電路。3. 鍵盤中斷,低電平有效輸出。4. 提供按鍵釋放標志位。(3) 外部接口1. 高速的4 線串行接口,支持芯片級聯,時鐘速度從0 到10MHz。2. 串行接口中的DIN 和DCLK 信號線可以與其它接口電路共用。

6、3. 完全內置RC 阻容振蕩電路,根據需要可以外接阻容振蕩。4. 內置上電復位和看門狗Watch-Dog,提供高電平有效和低電平有效復位輸出。(4) 其它雜項1. 可選多種封裝:DIP28、SOP28、DIP24S。2. 經過授權采用了2 項專利技術,低成本,簡便易用。 89S52芯片(1)主要性能1. 與MCS-51單片機產品兼容2. 8K字節在系統可編程Flash存儲器3. 1000次擦寫周期4. 全靜態操作:0Hz33Hz5. 三級加密程序存儲器6. 32個可編程I/O口線7. 三個16位定時器/計數器8. 八個中斷源9. 全雙工UART串行通道10. 低功耗空閑和掉電模式11. 掉電后

7、中斷可喚醒12. 看門狗定時器13. 雙數據指針14. 掉電標識符(2)功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節Flash,256字節RAM,32 位I/O 口線,看狗定時器,2 個數據指針,三個16 位

8、定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態邏輯操作支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。 CD4052芯片(1)簡要說明:CC4052 是一個差分4 通道數字控制模擬開關,有A0、A1 兩個二進制控制輸入端和INH 輸入,具有低導通阻抗和很低的截止漏電流。幅值為4.520V 的數字信號可控制峰峰值至20V 的模擬信號。例如,若VDD5V,VSS0,VEE13.5

9、V,則05V 的數字信號可控制13.54.5V 的模擬信號。這些開關電路在整個VDDVSS 和VDDVEE 電源范圍內具有極低的靜態功耗,與控制信號的邏輯狀態無關。當INH 輸入端“1”時,所有的通道截止。二位二進制信號選通4通道中的一通道,可連接該輸入端至輸出。CC4052 提供了16 引線多層陶瓷雙列直插(D)、熔封陶瓷雙列直插(J)、塑料雙列直插(P)和陶瓷片狀載體(C)4 種封裝形式。(2)推薦工作條件:電源電壓范圍3V15V輸入電壓范圍0VVDD(3)工作溫度范圍M類55125E 類.4085(4)極限值:電源電壓.0.5V18V輸入電壓0.5VVDD+0.5V輸入電流.±

10、10mA儲存溫度65150(5)引出端符號:A0A1 地址端1I0/O01I3/O3 輸入輸出端2I0/O02I3/O3 輸入輸出端INH 禁止端1O/I 公共輸出/輸入端2O/I 公共輸出/輸入端VDD 正電源VEE 模擬信號地Vss 數字信號地(6)邏輯符號:PCF8563(1)概述PCF8563 是低功耗的CMOS 實時時鐘日歷芯片,它提供一個可編程時鐘輸出,一個中斷輸出和掉電檢測器,所有的地址和數據通過I2C 總線接口串行傳遞。最大總線速度為400Kbits/s,每次讀寫數據后,內嵌的字地址寄存器會自動產生增量。(2)特性1. 低工作電流:典型值為0.25A(VDD=3.0V,Tamb

11、=25時)。2. 世紀標志3. 大工作電壓范圍:1.05.54. 低休眠電流;典型值為0.25A(VDD=3.0V,Tamb=25)5. 400KHz 的I2C 總線接口(VDD=1.85.5V 時)。6. 可編程時鐘輸出頻率為:32.768KHz,1024Hz,32Hz,1Hz。7. 報警和定時器。8. 掉電檢測器。9. 內部集成的振蕩器電容。10. 片內電源復位功能。11. I2C 總線從地址:讀,0A3H;寫,0A2H。12. 開漏中斷引腳。(3)應用1. 移動電話2. 便攜儀器3. 傳真機4. 電池電源產品(4).功能描述PCF8563 有16 個位寄存器:一個可自動增量的地址寄存器,

12、一個內置32.768KHz 的振蕩器(帶有一個內部集成的電容),一個分頻器(用于給實時時鐘RTC 提供源時鐘),一個可編程時鐘輸出,一個定時器,一個報警器,一個掉電檢測器和一個400KHz I2C總線接口。所有16 個寄存器設計成可尋址的8 位并行寄存器,但不是所有位都有用。前兩個寄存器(內存地址00H,01H)用于控制寄存器和狀態寄存器,內存地址02H08H 用于時鐘計數器(秒年計數器),地址09H0CH 用于報警寄存器(定義報警條件),地址0DH 控制CLKOUT 管腳的輸出頻率,地址0EH 和0FH 分別用于定時器控制寄存器和定時器寄存器。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、

13、日報警寄存器,編碼格式為BCD,星期和星期報警寄存器不以BCD 格式編碼。當一個RTC 寄存器被讀時,所有計數器的內容被鎖存,因此,在傳送條件下, 可以禁止對時鐘日歷芯片的錯讀。3.配套并口編程線一根4. 配套電源一個2.2實驗板模塊3 實驗要求1. 能正常操作LED 數碼顯示2. 能通過中斷方式接收按鍵信息3. 能通過I2C 總線方式與PCF8563 芯片交換數據4. 能正確解釋并顯示從PCF8563 芯片取出的日期和時間數據4 實驗原理4.1 PCF8563芯片在單片機應用系統中的實時時鐘信號,一般都由專門的時鐘芯片來提供,單片機只需要定期讀取時鐘芯片中固定地址中的時鐘信息即可。本實驗板采

14、用的是PCF8563 時鐘芯片。PCF8563 芯片的引腳說明符號管引腳描述OSCI1振蕩器輸入OSCO2振蕩器輸出/INT3中斷輸出(開漏;低電平有效)VSS4 地SDA5串行數據I/OSCL6串行時鐘輸入CLKOUT7時鐘輸出 (開漏)VDD8正電源 PCF8563 原理圖該芯片有16 個位寄存器:一個可自動增量的地址寄存器,一個內置32.768KHZ 的振蕩器(帶有一個內部集成的電容),一個分頻器(用于給實時時鐘RTC 提供源時鐘),一個可編程時鐘輸出,一個定時器,一個報警器和一個掉電檢測器。 所有16 個寄存器設計成可尋址的8 位并行寄存器,但不是所有位都有用。前兩個寄存器(內存地址0

15、0H,01H)用于控制寄存器和狀態寄存器,內存地址02H08H 用于時鐘計數器(秒年計數器),地址09H0CH 用于報警寄存器(定義報警條件),地址0DH 控制CLKOUT 管腳的輸出頻率,地址0EH 和0FH 分別用于定時器控制寄存器和定時器寄存器。PCF8563 芯片在第一次運行時需要設置控制寄存器和狀態寄存器。PCF8563 控制/狀態寄存器描述地址位BIT符號描述007TEST1TEST1=0;普通模式TEST1=1;EXT_CLK 測試模式5STOPSTOP=0 ;芯片時鐘運行 STOP=1 ;所有芯片分頻器異步置邏輯0;芯片時鐘停止運行,(CLKOUT 在32.768KHZ 時可用

16、)3TESTCTESTC= 0;電源復位功能失效 (普通模式時置邏輯0)TESTC=1; 電源復位功能有效6、4、2、1、00缺省值置邏輯0010TIETI/TP=0: 當TF 有效時INT 有效 (取決于TIE 的狀態)TI/TP=1:INT 脈沖有效(取決于TIE 的狀態)注意:若AF 和AIE 都有效時,則INT 一直有效1AIE2TF當報警發生時,AF 被置邏輯1;在定時器倒計數結束時,TF 被置邏輯1,它們在被軟件重寫前一直保持原有值,若定時器和報警中斷都請求時,中斷源由AF 和TF 決定,若要使清除一個標志位而防止另一標志位被重寫,應運用邏輯指令AND。3AF4TI/TFTI/TP

17、=0: 當TF 有效時INT 有效 (取決于TIE 的狀態)TI/TP=1:INT 脈沖有效(取決于TIE 的狀態)注意:若AF 和AIE 都有效時,則INT 一直有效5、6、70缺省值置邏輯0 在 PCF8563 芯片中,秒、分鐘、小時、日、月、年編碼格式為BCD。星期不以BCD 格式編碼。PCF8563 寄存器位描述地址說明BIT符號描 述02H秒/VL寄存器7VLVL=0: 保證準確的時鐘/日歷數據 VL=1:不保證準確的時鐘/ 日歷數據60<秒>代表BCD 格式的當前秒數值,值為0099例如:<秒>1011001, 代表59 秒03H分鐘寄存器7無效60<

18、分鐘>代表BCD 格式的當前分鐘數值,值為005904H小時寄存器76無效50<小時>代表BCD 格式的當前小時數值,值為002305H日寄存器76無效50<日>代表BCD 格式的當前日數值, 值為0131。當年計數器的值是閏年時,PCF8563 自動給二月增加一個值,使其成為29 天06H星期寄存器73無效20<星期>代表當前星期數值06,這些位也可由用戶重新分配07H月寄存器7C世紀位;C=0 指定世紀數為20××,C=1 指定世紀數為19××,“××” 為年寄存器中的值。當年寄存器中的值

19、由99 變為00時,世紀位會改變。65無用08H年寄存器70年代表BCD 格式的當前年數值,值為0099實驗只使用 PCF8563 的時間讀取功能,只需對該芯片地址02H-08H 的內存進行讀寫操作,其它地址的內存保持為默認值。4.2 I2C 協議 I2C 總線用兩條線(SDA 和SCL)在芯片和模塊間傳遞信息。SDA 為串行數據線,SCL為串行時鐘線。1只有在總線空閑時才允許啟動數據傳送。2在數據傳送過程中,當時鐘線為高電平時,數據線必須保持穩定狀態不允許。有跳變時鐘線為高電平時,數據線的任何電平變化將被看作總線的起始或停止信號。起始信號:時鐘線保持高電平期間,數據線電平從高到低的跳變作為

20、I2C 總線的起始信號。停止信號:時鐘線保持高電平期間,數據線電平從低到高的跳變作為 I2C 總線的停止信號。總線時序寫周期時序起始/停止時序器件尋址:主器件通過發送一個起始信號啟動發送過程,然后發送它所要尋址的從器件的地址。8位從器件地址的高4 位固定為1010。 接下來的3 位A2 A1 A0 為器件的地址位,用來定義哪個器件以及器件的哪個部分被主器件訪問。從器件8 位地址的最低位, 作為讀寫控制位。“1” 表示對從器件進行讀操作,“0” 表示對從器件進行寫操作。在主器件發送起始信號和從器件地址字節后,PCF8563 監視總線并當其地址與發送的從地址相符時響應一個應答信號(通過SDA 線)

21、。PCF8563 再根據讀寫控制位(R/W)的狀態進行讀或寫操作。應答信號:I2C 總線數據傳送時每成功地傳送一個字節數據后,接收器都必須產生一個應答信號,應答的器件在第9 個時鐘周期時將SDA 線拉低,表示其已收到一個8 位數據。PCF8563 在接收到起始信號和從器件地址之后響應一個應答信號,如果器件已選擇了寫操作,則在每接收一個8 位字節之后響應一個應答信號。當PCF8563 工作于讀模式時,在發送一個8 位數據后釋放SDA 線并監視一個應答信號,一旦接收到應答信號,PCF8563 繼續發送數據,如主器件沒有發送應答信號,器件停止傳送數據并,等待一個停止信號主器件。應答時序圖從器件地址位

22、其中A0、A1 和A2 對應24C02的管腳1、2 和3,PCF8563的從地址讀操作時為0A3H,寫操作時為0A2H。寫操作:1.字節寫在字節寫模式下,主器件發送起始命令和從器件地址信息(R/W 位置零)給從器件,在從器件產生應答信號后,主器件發送PCF8563 的字節地址,主器件在收到從器件的另一個應答信號后,再發送數據到被尋址的存儲單元。PCF8563 再次應答,并在主器件產生停止信號后開始內部數據的擦寫,在內部擦寫過程中PCF8563 不再應答主器件的任何請求。字節寫時序圖2頁寫用頁寫,PCF8563 可以一次寫入16 個字節的數據,頁寫操作的啟動和字節寫一樣,不同在于傳送了一字節數據

23、后并不產生停止信號。主器件被允許發送P(PCF8563:P=15;)個額外的字節。每發送一個字節數據后PCF8563 產生一個應答位并將字節地址低位加1, 高位保持不變。如果在發送停止信號之前主器件發送超過P+1 個字節,地址計數器將自動翻轉,先前寫入的數據被覆蓋。接收到P+1 字節數據和主器件發送的停止信號后,芯片啟動內部寫周期將數據寫到數據區,所有接收的數據在一個寫周期內寫入PCF8563。頁寫時序圖應答查詢:可以利用內部寫周期時禁止數據輸入這一特性,一旦主器件發送停止位指示主器件操作結束時,PCF8563 啟動內部寫周期,應答查詢立即啟動,包括發送一個起始信號和進行寫操作的從器件地址。如

24、果PCF8563 正在進行內部寫操作,不會發送應答信號。如果PCF8563已經完成了內部自寫周期,將發送一個應答信號,主器件可以繼續進行下一次讀寫操作。寫保護:寫保護操作特性可使用戶避免由于不當操作而造成對存儲區域內部數據的改寫,當WP管腳接高時整個寄存器區全部被保護起來而變為只可讀取。讀操作:PCF8563讀操作的初始化方式和寫操作時一樣,僅把(R/W) 位置為1,有三種不同的讀操作方式:立即地址讀、選擇讀和連續讀。立即地址讀:PCF8563 的地址計數器內容為最后操作字節的地址加1。也就是說,如果上次讀/寫的操作地址為N,則立即讀的地址從地址N+1 開始。如果N=E(這里對24C02,E=

25、255;對PCF8563,E=16),則計數器將翻轉到0 且繼續輸出數。PCF8563 接收到從器件地址信號后(R/W 位置1),它首先發送一個應答信號,然后發送一個8 位字節數據。主器件不需發送一個應答信號,但要產生一個停止信號。立即地址讀時序圖選擇性讀:操作允許主器件對寄存器的任意字節進行讀操作,主器件首先通過發送起始信號、從器件地址和它想讀取的字節數據的地址執行一個偽寫操作。在PCF8563 應答之后,主器件重新發送起始信號和從器件地址,此時R/W 位置1, PCF8563 響應并發送應答信號,然后輸出所要求的一個8 位字節數據,主器件不發送應答信號但產生一個停止信號。選擇讀時序圖連續讀

26、:連續讀操作可通過立即讀或選擇性讀操作啟動。在PCF8563 發送完一個8 位字節數據后,主器件產生一個應答信號來響應,告知PCF8563 主器件要求更多的數據,對應每個主機產生的應答信號PCF8563 將發送一個8 位數據字節。當主器件不發送應答信號而發送停止位時結束此操作。從PCF8563 輸出的數據按順序由N 到N+1 輸出。讀操作時地址計數器在PCF8563 整個地址內增加,這樣整個寄存器區域在可在一個讀操作內全部讀出。當讀取的字節超過E(對于PCF8563,E=16;對24C02, E=255)計數器將翻轉到零并繼續輸出數據字節。連續讀時序圖5 實驗步驟5.1 硬件連接將并口線插在實

27、驗板與 PC 機的并口插座上;按圖連接實驗線路:P10P11P12P13CPU89s52XYAB4052J11_8563SCLSDAJ1_4052X0Y0856CH451 與CPU 連接實驗線路:CPU89S52J5_89S52 P34P15P33P32J32_CH451LOADDCLKDINDOUTCH4515.2 軟件設計 進入 KEILC 開發環境編寫程序。首先根據2.3.5 節I2C 協議 內容,編寫I2C 函數。在編寫I2C 函數時,應注意代碼的可重用性,方便其它函數調用。例如:編寫起始信號函數時,可以將它獨立出來,VOID BEGIN()程序代碼PCF8563 的I2C 接口最大頻

28、率是400KHZ,在程序中對一個IO 口操作完后,需要延時2.5毫秒(本實驗板CPU 晶振為11.0592MHZ,一個指令周期為1.08 毫秒)。寫好I2C 讀寫函數后,可對PCF8563 進行操作。先將CD4052 的通道選為0,這樣CPU 與PCF8563 物理聯接起來了。第一次操作需要對PCF8563 進行初始化設置。先將0X00 分別寫入PCF8563 中地址為0X0,0X01的寄存器中,接著將要設置的時間按:年、月、星期、日、小時、分、秒的順序,以BCD碼格式寫入地址為0X08-0X02 的寄存器中,具體見表2-8、表2-9。在將時間按:年、月、星期、日、小時、分、秒讀出后,按“XX

29、-XX-XX”格式分兩屏顯示出來,顯示接口的應用見。6 實驗成功標志 按下1 號按鍵,顯示測量得到的日期; 按下2 號按鍵,顯示測量得到的時間;7 程序說明1. send_disp_data向CH451芯片發送命令2. send_comm向CH451芯片發送命令3. disp_initialize向CH451芯片發送初始化命令4. key中斷函數,獲取當前按鍵狀態5. Display_TEST測試顯示LED數碼管6. InitMCU初始化MCU7. delay_1ms毫秒級延時8. chang_4052選擇4052的通道9. PCF8563Start向時鐘芯片發送開始信號10. PCF8563Stop向時鐘芯片發送停止信號11. PCF8563Clock從總線接受一BIT數據12. PCF8563Ack向總線發送一個數據接受完成信號13. PCF8563Nack檢查PCF8563芯片是否接受到一字節的數據14. PCF8563OutByte向總線發送一個字節的數據15. P

溫馨提示

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

評論

0/150

提交評論