




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、51單片機課程設計報告基于8155的8led顯示電子碼表設計一、 實驗目的 本次課程設計是基于51單片機在理論課程的基礎上,通過電路設計、理論計算、實際編程、調試、測試、分析查找故障,解決在實際設計中的問題,使設計好的電路能正常工作。學習在理論課程的基礎上,重點培養(yǎng)動手能力,通過電路設計、理論計算、實際編程、調試、測試、分析查找故障,解決在實際設計中的問題。學習proteus軟件的mcs51單片機仿真。學習和完成的任務:1. 實驗板的原理圖結構研究2. 51單片機的編程技術二、 實驗設備(1) 計算機一臺(2) proteus軟件平臺(3) medwin軟件平臺三、 實驗內容電子碼表類:基于8
2、155的8led顯示電子碼表設計基本要求: 1 設計秒表功能,精度為0。01秒。2 可同時記錄和存儲10個秒表數據。(連續(xù)記錄并顯示已存儲記錄數)3 秒表記錄數據查詢和清除功能。發(fā)揮部分:1 可根據速度誤差用d/a轉換器輸出dc信號。2 可設定速度偏差范圍,當超范圍時通過蜂鳴器能發(fā)出提示音。3 有靜音功能 動態(tài)顯示格式:自定四、實驗原理本次課程設計是在理論課程的基礎上,目的在于培養(yǎng)我們的動手能力,通過電路設計、理論計算、實際編程、調試、測試、分析查找故障,解決在實際設計中的問題,使設計好的電路能正常工作,并可能結合實際的實驗板進行下載測試。在此基礎上根據實驗大綱的要求,按“51單片機課程設計選
3、題表” 每人一題(隨機分配),實現其功能。單片機微型計算機簡稱單片機,是指在一塊芯片體上集成了中央處理器cpu、隨機存儲器ram、程序存儲器rom或eprom、定時器/計數器、中斷控制器以及串行和并行i/o接口等部件,構成一個完整的微型計算機。目前,新型單片機內還有a/d及d/a轉換器、高速輸入/輸出部件、dma通道、浮點運算等特殊功能部件。由于它的結構和指令功能都是按工業(yè)控制設計要求設計的,特別適用于工業(yè)控制及其數據處理場合,因此,確切的稱謂是微控制器,單片機只是習慣稱呼。(1)單片機的特點1)有優(yōu)異的性能價值比。2)集成度高、體積小、有很高的可靠性。單片機把各個功能部件集成在一塊芯片上,內
4、部采用總線結構,減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取措施,適合于惡劣環(huán)境下工作;也易于產品化。3)控制功能強。為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中均有及其豐富的轉移指令、i/o口邏輯操作及位處理指令。一般來說,單片機的邏輯控制功能及運行速度高于同意檔次的微機。4)單片機的系統(tǒng)擴展和系統(tǒng)配置都比較典型、規(guī)范,而且非常容易構成各種規(guī)模的應用系統(tǒng)。(2)單片機并行i/o接口的擴展單片機與外部交換信息是通過i/o接口電路來實現的。at89c51單片機本身有4個8位的并行i/o口p0-p3,但實際使用時往往再增加些i/o口,以便與
5、外部設備交換數據。at89c51單片機外部ram和擴展i/o接口是統(tǒng)一編址的。用戶可以把外部64kb ram空間的一部分作為擴展i/o接口地址空間,每一個i/o接口相當于一個ram存儲單元,訪問外部ram存儲單元就像訪問外部i/o接口,即用“movx”指令對擴展i/o接口進行輸入輸出操作。查詢式鍵盤屬于獨立式鍵盤,鍵盤的各個按鍵之間彼此是獨立的且是最簡單的鍵盤電路。每個鍵地接入一根數據輸入線。如圖所示。注意:由于每一個按鍵均需要一根i/o口線 ,當鍵盤按鍵數量比較多時,需要的i/o口線也較多,因此獨立式鍵盤只適合于按鍵較少的應用場合。一般情況下,按鍵數等于占用i/o端口數。查詢式鍵盤的結構圖如
6、圖所示:p1.0p1.1圖2-5 查詢式鍵盤的接口電路查詢式鍵盤可以工作在多種方式下,中斷方式、程序查詢方式、定時查詢發(fā)送和中斷查詢方式。在中斷模式下,按鍵的數量受到外部中斷源的限制。在有特殊需要的場合,還可以借用內部的定時器中斷。所以在這種模式下,按鍵的數目小于外部中斷源和單片機定時器數量之和。程序查詢和定時查詢類似,都是通過讀i/o狀態(tài),當有鍵被按下時相應的i/o口線變?yōu)榈碗娖剑幢话聪碌逆I對應的i/o口線保持為高電平,這樣通過讀i/o口狀態(tài)可判斷是否有鍵按下和哪一個鍵被按下。1. 鍵盤定義k1:開始、暫停記時k2:記錄數據k3:計數器清零k4:查看存儲數據2. 流程圖(1) 主流程圖開
7、始系統(tǒng)初始化鍵盤掃描數據轉換(2)掃描鍵盤流程圖開始初始化key1按下開始/暫停計時刪除數據計數器清零nynyykey2按下tr0= =1記錄數據key3按下key4按下查看存儲的數據結束nyynn3. 主程序/*基于8155的8led顯示電子表設計*/#include#include/*宏定義*/#define uint unsigned int#define uchar unsigned char/*定義8155地址*/#define com8155 xbyte0x7ff8 /8155的命令口#define pa8155 xbyte0x7ff9 /8155的pa#define pb8155
8、 xbyte0x7ffa /8155的pb#define pc8155 xbyte0x7ffb /8155的pc/*定義數碼管顯示的碼值*/uchar code du_code=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /8段共陰極數碼管顯示碼值 uchar dis_buf=0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f; /數碼管顯示緩存,格式為mm-nn-ssuchar code bit_code=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /數碼管顯示的位值/
9、*定義系統(tǒng)變量*/bit flag=0; /計時狀態(tài)標志位bit flag1=0,flag2=0,flag3=0,flag4=0; /按鍵狀態(tài)標志位uchar num,second,minute,hour;/秒表變量uchar count=0,count1=0; /計數器變量uchar num_store10,second_store10,minute_store10; /儲存秒表數據變量uchar x; /記錄數據計數器/*延時程序*/void delayms(uint z)uint y;for(;z0;z-)for(y=110;y0;y-);/*鍵盤掃描程序*/void keyscan()
10、 uchar m; m=pc8155; m=m&0x0f; if(m!=0x0f) delayms(20);/延時消抖 pb8155=0x0f;m=pc8155;m&=0x0f; if(m!=0x0f)/有鍵被按下 m=pc8155; m&=0x0f; switch(m) case(0x0e):flag1=1;break; /按鍵一被按下,其標志位置1 case(0x0d):flag2=1;break; /按鍵二被按下,其標志位置1 case(0x0b):flag3=1;break; /按鍵三被按下,其標志位置1 case(0x07):flag4=1;break; /按鍵四被按下,其標志位置1
11、 while(pc8155!=0x0f);/判斷鍵是否松開 if(flag1=1)/按鍵一被按下,開始計時或停止計時tr0=tr0; /計時開關取反flag=0;flag1=0;/按鍵一標志位清零if(flag2=1)/按鍵二被按下 if(tr0=1)/秒表計時,記錄數據 if(x=11) /判斷計數器是否超過范圍count=1;flag4=0; /按鍵四標志位清零 void trans_data()if(flag=0) /判斷秒表是否處于計時狀態(tài)if(hour=0&minute59)dis_buf0=du_codeminute/10;dis_buf1=du_codeminute%10;dis
12、_buf3=du_codesecond/10;dis_buf4=du_codesecond%10;dis_buf6=du_codenum/10;dis_buf7=du_codenum%10; /計時小于1小時,數據轉換elsedis_buf0=du_codehour/10;dis_buf1=du_codehour%10;dis_buf3=du_codeminute/10;dis_buf4=du_codeminute%10;dis_buf6=du_codesecond/10;dis_buf7=du_codesecond%10; /計時超過1小時,數據轉換elsedis_buf0=du_codem
13、inute_storecount-1/10;dis_buf1=du_codeminute_storecount-1%10;dis_buf3=du_codesecond_storecount-1/10;dis_buf4=du_codesecond_storecount-1%10;dis_buf6=du_codenum_storecount-1/10;dis_buf7=du_codenum_storecount-1%10; /對記錄數據進行轉換/*初始化程序*/void initial()tmod=0x11; /定義定時器的工作方式th0=(65536-10000)/256;tl0=(65536-
14、10000)%256; /給t0裝初值th1=(65536-100)/256;tl1=(65536-100)%256; /給t1裝初值et0=1; /開t0的中斷et1=1; /開t1的中斷ea=1; /開總中斷tr0=0; /關閉t0tr1=1; /開t0hour=0;minute=0;second=0;num=0; /秒表變量初始化com8155=0x03; /定義8155的工作方式,pa和pb為輸出,pc為輸入/*主程序*/void main()initial();while(1)keyscan();trans_data();/*t0中斷程序*/void timer0() interru
15、pt 1th0=(65536-10000)/256;tl0=(65536-10000)%256; /給t1裝初值num+; /0.01秒到,計數器加1if(num=100) /判斷1s時間是否到/1s到,num清零 num=0;/計數second+;/秒加1,if(second=60) /判斷1分鐘是否到second=0;/秒清零minute+;/分鐘加1if(minute=60) /判斷1小時是否到minute=0;hour+;if(hour=24)hour=0; /*t1中斷程序*/void timer1() interrupt 3th1=(65536-100)/256;tl1=(6553
16、6-100)%256; /給t1裝初值pb8155=bit_codecount1;/顯示位值pa8155=dis_bufcount1;/顯示碼值count1+;/計數器加1if(count1=8)/判斷計數器的值是否超過范圍count1=0; 五、實驗過程及其記錄1.實驗連接圖2.運行3.k1閉合,開始計時,4.k2點擊兩次記錄兩次數據,k1暫停計時5.k4查看記錄數據6.k1繼續(xù)計時7k1暫停計時,k3清楚記錄數據六、實驗小結 本次實驗不僅學會了使用proteus,keil軟件,并且還對51單片機的編程以及調測也有了更進一步的理解,雖然在開頭時遇到了很多困難,但是到了最后,感受收獲很大,真的學習到了很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 空調購買安裝合同范本
- 圓木銷售合同
- 勞務合同協(xié)議書簡單版4
- 籃球場租賃合同
- 二年級語文復課教案及評估方案
- 2025年個體經濟運輸合同樣本
- 2025年企業(yè)項目出讓合同樣本
- 2025年農業(yè)設施租賃合同書
- 2025年汽車修理廠連鎖加盟合同樣本
- 2025年二手房產貸款合同示范文本
- 新編大學英語跨文化交際教程 課件 Unit 1-A Chinese Character
- 中醫(yī)護理望聞問切
- 醫(yī)院培訓課件:《癥瘕中醫(yī)護理方案》
- 經顱磁刺激技術操作指南
- 智能制造概論 課件全套 第1-6章 智能制造的發(fā)展歷程- 智能制造的應用
- 中國旅游地理(高職)全套教學課件
- 客戶分析數據分析報告
- 學校管理與小學教學質量提升方案
- 燃氣灶的營銷方案和策略
- 核心素養(yǎng)背景下小學科學“教-學-評”一體化探究
- 《文化人類學電子》課件
評論
0/150
提交評論