




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學 號: 0120810340631課 程 設 計題 目eeprom器件讀寫例程設計學 院計算機科學與技術學院專 業計算機科學與技術班 級姓 名指導教師2011年6月23日課程設計任務書學生姓名: 專業班級: 計算機0806班 指導教師: 工作單位:計算機科學與技術學院題 目: eeprom器件讀寫例程設計初始條件:1. 課程設計使用zg211硬件綜合實驗平臺(8051單片機),使用at24c01接口芯片和輔助芯片以及器件;2. zg211有程序設計集成開發環境,程序設計語言為c語言;3. zg211硬件綜合實驗平臺使用說明書;要求完成的主要任務: (包括課程設計工作量及其技術要求,撰寫說明書
2、具體要求)1. 學習使用zg211硬件綜合實驗平臺,程序設計集成開發環境;2. 根據課程設計題目,進行需求分析,搞清楚課程設計需要設計需求和需要解決的設計內容。3. 查閱和學習課程設計題目需要的接口芯片資料,掌握i2c接口芯片的使用方法和編程要領。查閱和學習課程設計題目需要的輔助芯片以及器件資料。4. 設計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設計與硬件電路原理圖對應的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發環境中調試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數據。6. 撰寫課程設計報告,1)詳細陳述以上的設計過程;2)詳細陳
3、述電路的調試過程。時間安排:第17周:1. 熟悉zg211硬件綜合實驗平臺,keilc uvision2 集成開發環境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設計硬件電路原理圖,。第18周:1. 使用c語言或匯編語言設計和調試接口程序。2. 撰寫計算機硬件綜合設計報告。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日eeprom器件讀寫例程設計1.實驗目的掌握 io 口操作;掌握顯示及鍵盤芯片的運用;掌握 i2c 總線操作2.實驗設備pc機一臺,zg-211單片機系統實驗板一塊,實驗連接線若干,芯片:ch451,89s52,cd4052并口編程線一根,串口通訊線1
4、根,配套電源1 個 zg-211 圖片:3.實驗要求1. 學習使用zg211硬件綜合實驗平臺,程序設計集成開發環境;2. 根據課程設計題目,進行需求分析,搞清楚課程設計需要設計需求和需要解決的設計內容。3. 查閱和學習課程設計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領。查閱和學習課程設計題目需要的輔助芯片以及器件資料。4. 設計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設計與硬件電路原理圖對應的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發環境中調試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數據。6. 能正常操作 led
5、數碼顯示;能通過中斷方式接收按鍵信息;能正確讀寫 eeprom 芯片4.實驗原理 單片機系統常用 eeprom 芯片在掉電情況下保存一些重要數據。本實驗板采用的芯片 是 at24c02,可存儲 256 個字節,重復擦寫 1,000,000 次,數據保存 100 年以上。該芯 片通過i2c 總線接口進行操作,i2c 協議原理請看 2.3.5 節。其原理圖如下:5.實驗步驟5.1硬件連接將并口線插在實驗板與pc機的并口插座上; ch451 與 cpu 連接實驗線路見圖2-2 ;按圖 2-28 連接實驗線路仔細檢查無誤后,接通電源。 (圖中箭頭表示需要接線的地方)5.2 軟件設計進入 keilc 開
6、發環境。首先根據 234 i2c 協議 內容,編寫 i2c 函數,由于 at24c02 的 i2c 接口大頻率是 400khz,所以在程序中對一個 io 口操作完后,請延時 2.5us(實驗板 上 cpu 晶振為 11.0592mhz,一個指令周期為 1.08us)。寫好 i2c 讀寫函數后,可以對 at24c02 進行操作。at24c02 的寫從地址為 0xa0,寫時 wp 要置 0(打開寫保護),寫完后置為 1; 讀從地址為 0xa1。先將 cd4052 的通道選為 2,連接 cpu 與 at24c02。向 at24c02 中地 址為 0x00 到 0x07 的單元,寫入數據 0x01,
7、0x02, 0x03, 0x04, 0x05, 0x06, 0x07 后,再從 at24c02 中讀出,進行比較。如果一致則顯示 1,錯誤則顯示 0。5.3 編譯下載程序編譯成功后,打開聯機下載軟件,將hex文件下載到89s52中,觀看程序運行結果。 如有問題則修改程序,再次下載。(請注意:at24c02的擦寫次數有限,頻繁擦寫會影響其使用壽命。) 調試成功后,請將 i2c 讀寫程序、at24c02 讀寫程序,寫成函數,以供其他模塊調用。6.實驗成功標志按下 1 號按鍵,顯示“001”,同時向 at24c02 中指定位置寫入數據;按下 2 號按鍵,從 at24c02 中指定位置讀出數據并顯示,
8、應與寫入數據一致;7. 簡要調試過程1. 利用在線編程這個軟件讀入程序expboard.hex2. 操作zg-211單片機電路板上面的按鈕,觀察實驗現象是否符合說明書3. 如果不符合,進入程序文件夾進行修改程序,直至得到理想的顯示結果8. 程序代碼主函數#include #include reg52.h#include def.h#include sub.h#include beep.h#include func.h#include display.h#include eeprom.hunsigned char key_data = 0;main()unsigned char eep_temp
9、2;unsigned char temp = 0;/mcu初始化initmcu();set_8255();/開關蜂鳴器,表示開始工作speak_on();delay_1ms(50);speak_off();display_test();eep_temp0 = 0x55;/測試值while(1)if(key_data!=0)/若有鍵按下temp = key_data;key_data = 0;switch(temp)case 0x40:/1/將測試值寫入eepromat24c02write(eep_temp, 0, 1);display_int(int)(eep_temp0);break;cas
10、e 0x49:/2at24c02read(eep_temp, 0, 1);display_int(int)(eep_temp0);break;default:break;具體函數#include reg52.h#include def.h#include display.h#include sub.h#include func.hextern unsigned char key_print;extern unsigned char key_data;/*|函數名send_disp_data|函數功能向ch451芯片發送命令|參數comm:命令體|_data:命令參數|返回值無|*/void s
11、end_disp_data(unsigned char comm, unsigned char _data)unsigned char i; /送8bit數據for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;/送4bit命令for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;load=1;load=0;load=1;/*|函數名send_comm|函數功能向ch451芯片發送命令|參數comm:命令體|返回值無|*/void send_comm(unsigned char comm)unsigned char i;/送4
12、bit命令for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;load=1;load=0;load=1;/*|函數名disp_initialize|函數功能向ch451芯片發送初始化命令|參數無|返回值無|*/void disp_initialize()chang_4052(1); din=0;din=1;dclk=1;load=1;dout=1;send_disp_data( ch451_setsys, 0x03);/設定系統參數send_disp_data( ch451_setdis, 0x80);/設定顯示參數/*|函數名key|函數功能中斷函數,獲取
13、當前按鍵狀態|參數無|返回值無|*/void key() interrupt 0 unsigned char i,temp;ex0 = 0;/關中斷key_data = 0;temp = 0;send_comm(ch451_key);for(i=0; i7; i+) temp = dout;key_data = key_data|(temp(6-i);dclk=1;dclk=0;dclk=1;/*key_print = key_data;send_disp_data(ch451_load0, 0x10);send_disp_data(ch451_load1, 0x10);send_disp_d
14、ata(ch451_load2, key_data/10);send_disp_data(ch451_load3, key_data%10);*/ex0 = 1;/中斷/*|函數名display_test|函數功能測試顯示led數碼管|參數無|返回值無|*/void display_test()/初始化顯示芯片disp_initialize();/延時delay_1ms(100);/送顯“12345678”send_disp_data( ch451_load0, 0x01);send_disp_data( ch451_load1, 0x02);send_disp_data( ch451_loa
15、d2, 0x03);send_disp_data( ch451_load3, 0x04);send_disp_data( ch451_load4, 0x05);send_disp_data( ch451_load5, 0x06);send_disp_data( ch451_load6, 0x07);send_disp_data( ch451_load7, 0x08);delay_1ms(200);/display_int(555);/延時delay_1ms(200);/開中斷,接受按鍵信息ex0=1;/-send_disp_data( ch451_load0, 0x12);send_disp_
16、data( ch451_load1, 0x12);send_disp_data( ch451_load2, 0x12);send_disp_data( ch451_load3, 0x12);send_disp_data( ch451_load4, 0x12);send_disp_data( ch451_load5, 0x12);send_disp_data( ch451_load6, 0x12);send_disp_data( ch451_load7, 0x12);/*send_disp_data( ch451_load0, 0x08);send_disp_data( ch451_load1,
17、 0x08);send_disp_data( ch451_load2, 0x08);send_disp_data( ch451_load3, 0x08);send_disp_data( ch451_load4, 0x08);send_disp_data( ch451_load5, 0x08);send_disp_data( ch451_load6, 0x08);send_disp_data( ch451_load7, 0x08);*/*|函數名display_int|函數功能顯示一個整數|參數無|返回值無|*/void display_int(unsigned int m)send_disp_
18、data( ch451_load0, 0x10);send_disp_data( ch451_load1, 0x10);send_disp_data( ch451_load2, 0x10);if (m/10000)send_disp_data( ch451_load3, m/10000);elsesend_disp_data( ch451_load3, 0x10);if (!(m/1000)%10)&(!(m/10000)send_disp_data( ch451_load4, 0x10);elsesend_disp_data( ch451_load4, (m/1000)%10);send_disp_data( ch451_load5, (m/100)%10);send_disp_data( ch451_load6, (m/10)%10);send_disp_data( ch451_load7, m%10);9.心得體會通過以前所學的計算機組成原理、微機原理與接口技術,以及單片機的知識,并在老師的指導和同學的合作下,終于順利地完成了本次課程設計。我覺得本次試驗重點在于動手操作,經過幾次上機調試,終于得到理想的顯示結果,同時也對zg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區活躍度的預算與投資合同
- 全職員工離職說明
- 數據庫技術COMPUTER87課件
- 鐵路市場營銷集中性市場營銷策略課件
- 雙總線冗余供電方式盧凱霞時間年月課件
- 中醫特色護理課件
- 中醫關于水腫的課件
- 高空電力作業安全合同
- 養生保健品經銷合同范本
- 北京市東城區2024屆高三下學期一模歷史試題 含解析
- 化工生產基礎知識習題庫
- 2024年醫療大數據分析與應用項目合同
- 2025風電機組無人機巡檢技術方案
- 大學武術知到智慧樹章節測試課后答案2024年秋浙江大學
- 2025年中移鐵通限公司公開招聘工作人員100名高頻重點提升(共500題)附帶答案詳解
- 2025年度學院學術委員會專家聘用合同3篇
- 建筑業職業危害防治措施
- IATF16949基礎知識培訓教材
- 《基于機器視覺的激光焊縫跟蹤系統研究》
- 互聯網行業海外垂類AI專題(8):AI激發SAAS新一輪產品創新周期美股軟件板塊反轉確立
- UL1059標準中文版-2020接線端子UL標準中文版
評論
0/150
提交評論