單片機實驗報告_微固學院_熊萬安(共14頁)_第1頁
單片機實驗報告_微固學院_熊萬安(共14頁)_第2頁
單片機實驗報告_微固學院_熊萬安(共14頁)_第3頁
單片機實驗報告_微固學院_熊萬安(共14頁)_第4頁
單片機實驗報告_微固學院_熊萬安(共14頁)_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

2、2位到第4位顯示A/D轉換的電壓值,可調電壓,數碼管第5位顯示“-”號,第6、7位顯示2位學號;2.再按按鍵key1進行切換,此時數碼管第6、7位顯示從學號值+5秒到學號值的循環倒計時秒表,時間間隔為1秒。按按鍵key2時,秒表停止計數,再按按鍵key2時,秒表繼續計數。按按鍵key1可切換回任務1的顯示。3.當電壓值大于2伏時,按按鍵不起作用。硬件(yn jin)設計各部分(b fen)硬件原理(相關各部分例如:數碼管動態掃描原理(yunl);TLC549的特征及應用等)(四號字體)(所有原理含圖)TLC549的特征及應用:當/CS變為低電平后,TLC559芯片被選中,同時前次轉換結果的最高

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

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

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

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

7、#define LED_digXBYTE0 x9000/8位數碼管顯示器的位選輸出控制#define LED_seg XBYTE0 x8000/8位數碼管顯示器的段碼(字形碼)輸出控制#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;/定義顯示緩沖區(由定時中斷(zhngdun)程序自動掃描)void delay(int ms);/延時大約1msunsigned char ReadAdc(void);/讀取A/D轉換結果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+);/*函數(hnsh):ReadAdc()功能(gngnng):讀取A/

12、D轉換結果返回:8位ADC代碼*/unsigned char ReadAdc(void)unsigned char d;/讀取得ADC結果unsigned char n;/ADC bit位計數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;/*函數(hnsh):AdcInit()功能(gngnng):初始化ADC接口*/void AdcI

13、nit(void)ADC_CS = 1;ADC_CLK = 0;ADC_DATA = 1;ReadAdc();/空讀一次,用于啟動(qdng)一次A/D轉換過程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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論