單片機(jī)實(shí)驗(yàn)報告_微固學(xué)院_熊萬安(共14頁)_第1頁
單片機(jī)實(shí)驗(yàn)報告_微固學(xué)院_熊萬安(共14頁)_第2頁
單片機(jī)實(shí)驗(yàn)報告_微固學(xué)院_熊萬安(共14頁)_第3頁
單片機(jī)實(shí)驗(yàn)報告_微固學(xué)院_熊萬安(共14頁)_第4頁
單片機(jī)實(shí)驗(yàn)報告_微固學(xué)院_熊萬安(共14頁)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、電子科技大學(xué)(dxu) 微固 學(xué)院(xuyun)實(shí) 驗(yàn) 報 告實(shí)驗(yàn)(shyn)名稱 單片機(jī)原理與應(yīng)用姓名:學(xué)號:評分:教師簽字電子科技大學(xué)教務(wù)處制電 子 科 技 大 學(xué)實(shí) 驗(yàn) 報 告學(xué)生(xu sheng)姓名: 學(xué)號: 指導(dǎo)(zhdo)教師:熊萬安(wn n)實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)時間: 實(shí)驗(yàn)室名稱: 電子技術(shù)綜合實(shí)驗(yàn)室實(shí)驗(yàn)項(xiàng)目名稱: 數(shù)碼管顯示A/D轉(zhuǎn)換的電壓值實(shí)驗(yàn)學(xué)時: 12實(shí)驗(yàn)?zāi)康呐c任務(wù):熟悉系統(tǒng)設(shè)計與實(shí)現(xiàn)原理掌握KEIL C51的基本使用方法熟悉實(shí)驗(yàn)板的應(yīng)用連接電路,編程調(diào)試,實(shí)現(xiàn)各部分的功能完成系統(tǒng)軟件的編寫與調(diào)試實(shí)驗(yàn)器材PC機(jī)一臺實(shí)驗(yàn)板一塊實(shí)驗(yàn)原理、步驟及內(nèi)容試驗(yàn)要求:1.數(shù)碼管可在第

2、2位到第4位顯示A/D轉(zhuǎn)換的電壓值,可調(diào)電壓,數(shù)碼管第5位顯示“-”號,第6、7位顯示2位學(xué)號;2.再按按鍵key1進(jìn)行切換,此時數(shù)碼管第6、7位顯示從學(xué)號值+5秒到學(xué)號值的循環(huán)倒計時秒表,時間間隔為1秒。按按鍵key2時,秒表停止計數(shù),再按按鍵key2時,秒表繼續(xù)計數(shù)。按按鍵key1可切換回任務(wù)1的顯示。3.當(dāng)電壓值大于2伏時,按按鍵不起作用。硬件(yn jin)設(shè)計各部分(b fen)硬件原理(相關(guān)各部分例如:數(shù)碼管動態(tài)掃描原理(yunl);TLC549的特征及應(yīng)用等)(四號字體)(所有原理含圖)TLC549的特征及應(yīng)用:當(dāng)/CS變?yōu)榈碗娖胶?,TLC559芯片被選中,同時前次轉(zhuǎn)換結(jié)果的最高

3、有效位MSB(A7)自DAT端輸出,接著要求自CLK端輸入8個外部時鐘信號,前7個CLK信號的作用,是配合TCL549輸出前次轉(zhuǎn)換結(jié)果的A6-A0位,并為本次轉(zhuǎn)換做準(zhǔn)備:在第4個CLK信號由高至低的跳變之后,片內(nèi)采樣、保持電路對輸入模擬量采樣開始,第8個CLK信號的下降沿使片內(nèi)采樣/保持電路進(jìn)入保持狀態(tài)并啟動A/D開始轉(zhuǎn)換。轉(zhuǎn)換時間為36個系統(tǒng)時鐘周期,最大為17us。直到A/D轉(zhuǎn)換完成前的這段時間內(nèi),TLC549的控制邏輯要求:或者/CS保持高電平,或者CLK時鐘保持36個系統(tǒng)時鐘周期的低電平。由此可見,在自TLC549的CLK端輸入8個外部時鐘信號期間需要完成以下工作:讀入前次A/D轉(zhuǎn)換結(jié)

4、果;對本次轉(zhuǎn)換的輸入模擬信號采樣并保持;啟動本次A/D轉(zhuǎn)換開始。數(shù)碼管動態(tài)顯示原理:先把第一個數(shù)碼管的顯示數(shù)據(jù)(shj)送到數(shù)據(jù)線,同時選通DIS_COM1,而其他數(shù)碼管的DIS_COMx信號禁止;延遲一段時間(通常(tngchng)不超過10ms),再把第二個數(shù)碼管的顯示數(shù)據(jù)送到數(shù)據(jù)線,同時選通DIS_COM2,而其他數(shù)碼管的DIS_COMx信號(xnho)禁止;延時一段時間,在顯示下一個。(注意:整個數(shù)碼管的掃描頻率應(yīng)當(dāng)大于50Hz,防止出現(xiàn)明顯的閃爍。)矩陣鍵盤掃描原理:按鍵邏輯是連接在P2.0到P2.7之間的。當(dāng)按鈕不按下的時候,輸入為高電平,當(dāng)按下按鍵后,P2.x與地相連,輸入為低電

5、平,所以按鈕低電平有效。軟件設(shè)計(完成程序框圖,手寫畫出框圖)狀態(tài)轉(zhuǎn)換key2按鍵Key3按鍵key1按鍵 電壓值大于2V?開始初始化顯示鍵盤掃描思考題: 按鍵改用外部中斷(zhngdun)模式,電路如何修改(畫示意圖)?程序如何修改,寫出中斷服務(wù)程序。答:如果按鍵改用外部中斷(zhngdun)模式,可以使用外部中斷、,需要將按鈕分別(fnbi)用導(dǎo)線連接到、外部中斷接口。如圖所示:程序在系統(tǒng)總的初始化函數(shù)中,需要進(jìn)行外部中斷的初始化:EA=0;/禁止總中斷EX0=1;/使能INT0中斷EX1=1;/使能INT1中斷EA=1;/使能總中斷添加中斷服務(wù)處理函數(shù):Void T0INTSVC() i

6、nterrupt 0.總結(jié)(zngji)及心得體會 通過這幾次的實(shí)驗(yàn)實(shí)踐加深了對單片機(jī)原理和應(yīng)用(yngyng)的理解,掌握了KEIL C51開發(fā)環(huán)境的基本使用(shyng)方法,熟悉了單片機(jī)開發(fā)板的基本應(yīng)用。同時通過實(shí)驗(yàn)掌握了數(shù)碼管動態(tài)顯示、矩陣鍵盤掃描、A/D轉(zhuǎn)換的基本原理。對本實(shí)驗(yàn)過程及方法、手段的改進(jìn)建議1.建議增加實(shí)驗(yàn)課時,通過更多的動手實(shí)踐來加深對單片機(jī)的理解。2.建議增加串行口通信等方面的實(shí)驗(yàn)。附錄程序(五號字體)/*利用TLC549 A/D轉(zhuǎn)換器實(shí)現(xiàn)電壓測量與顯示*/#include /包含8051的SFR寄存器定義頭文件#include /擴(kuò)展并行接口所需的絕對地址訪問庫函數(shù)

7、#define LED_digXBYTE0 x9000/8位數(shù)碼管顯示器的位選輸出控制#define LED_seg XBYTE0 x8000/8位數(shù)碼管顯示器的段碼(字形碼)輸出控制#define KEY_IN XBYTE0 x8000#define STUDENT_NUMBER_MIN 4#define STUDENT_NUMBER 4#define STUDENT_NUMBER_MAX 9/定義TLC549操作(cozu)接口sbit ADC_CS = P17;sbit ADC_DATA = P16;sbit ADC_CLK = P15;code unsigned char disp_s

8、eg=/顯示(xinsh)段碼0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7c,0 x39,0 x5f,0 x79,0 x71,0 x40,0 x00,0 xff; / 0 1 2 3 4 5 6 7 8 9 a b c d e f - blank,全亮unsigned char DispBuf8;/定義顯示緩沖區(qū)(由定時中斷(zhngdun)程序自動掃描)void delay(int ms);/延時大約1msunsigned char ReadAdc(void);/讀取A/D轉(zhuǎn)換結(jié)果void Adc

9、Init(void);/初始化ADC接口unsigned char stopwatch_flag;unsigned char key_value;unsigned char student_number;char delta;unsigned char key_flags3;void key_scan(void);unsigned int cnt;void main()unsigned char i=0;unsigned char volt, x100, x10, x;unsigned char t;student_number = 4;stopwatch_flag = 0;delta = 1

10、;TMOD &= 0 x0f;TMOD |= 0 x10;TH1 = 0 xFC;TL1 = 0 x66;TR1 = 1;ET1 = 1;EA =1;AdcInit();for(i=0; i3; i+)key_flagsi = 0; DispBuf3 = 16; DispBuf2 = student_number/10; DispBuf1 = student_number%10; DispBuf0 = 17; DispBuf7 = 17;for(;)volt = ReadAdc();if(key_value != 0 & volt = 10)student_number = STUDENT_N

11、UMBER_MIN;else if( student_number = 3)student_number = STUDENT_NUMBER_MAX;DispBuf2 = student_number/10;DispBuf1 = student_number%10;cnt +;key_scan();n+;n &= 0 x07;void delay(int ms)unsigned int i,j;for(i=0; ims; i+)/延時大約(dyu)1ms (fosc=11.0592MHz)for(j=0; j100; j+);/*函數(shù)(hnsh):ReadAdc()功能(gngnng):讀取A/

12、D轉(zhuǎn)換結(jié)果返回:8位ADC代碼*/unsigned char ReadAdc(void)unsigned char d;/讀取得ADC結(jié)果unsigned char n;/ADC bit位計數(shù)ADC_CS = 0;n = 5;while ( -n != 0 );/模擬tsu時間n = 8;dod = 1;if ( ADC_DATA ) d = d | 0 x01;/或d+;ADC_CLK = 1;ADC_CLK = 0;while ( -n != 0 );ADC_CS = 1;return d;/*函數(shù)(hnsh):AdcInit()功能(gngnng):初始化ADC接口*/void AdcI

13、nit(void)ADC_CS = 1;ADC_CLK = 0;ADC_DATA = 1;ReadAdc();/空讀一次,用于啟動(qdng)一次A/D轉(zhuǎn)換過程void key_scan(void)unsigned char key_in;key_in = KEY_IN;switch(key_in)case 0 xff:key_value = 0;break;case 0 x01:key_value = 1;break;case 0 x02:key_value = 2;break;case 0 x04:key_value = 3;break;case 0 x08:key_value = 4;break;case 0 x10:key_value = 5;break;case 0 x20:key_value = 3;break;case 0 x40:key_val

溫馨提示

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

最新文檔

評論

0/150

提交評論