<ruby id="zx91x"></ruby><p id="zx91x"></p>
<p id="zx91x"></p>
<pre id="zx91x"><ruby id="zx91x"><mark id="zx91x"></mark></ruby></pre>

<p id="zx91x"><del id="zx91x"></del></p>

        <track id="zx91x"><ruby id="zx91x"></ruby></track>

            <pre id="zx91x"><ruby id="zx91x"></ruby></pre>

            <track id="zx91x"><del id="zx91x"></del></track>

              <big id="zx91x"><ruby id="zx91x"></ruby></big>

                  單片機實訓報告總結范文(通用5篇)

                  時間:2021-09-21 個人報告 點擊:

                  指公交車由始發站至終點站的單向行駛, 以下是為大家整理的關于單片機實訓報告總結5篇 , 供大家參考選擇。

                  單片機實訓報告總結5篇

                  單片機實訓報告總結篇1

                  單片機心得總結

                  通過這一個學期的單片機學習,我收獲了很多關于單片機的知識,并且這些知識和日常的生活息息相關。了解了一些簡單程序的錄入,LED顯示器、鍵盤、和顯示器的應用和原理。

                  LED顯示器:LED顯示器是由發光二管組成顯示字段的器件。通常的8段LED顯示器是由8個發光二極管組成,LED顯示器分共陽極和共陰極兩種。有段選碼和和位選碼。當LED顯示器每段的平均電流位5MA時,就有較滿意的亮度,一般選擇斷碼5-10MA電流;位線的電流應選擇40-80MA。LED顯示器的顯示方式有動態和靜態兩種。7289A芯片是具有SPI串行接口功能的顯示鍵盤控制芯片,它可同時取得8位共陰極數碼管和64個鍵的鍵盤矩陣。7289A的控制指令分為兩類:8位寬度的單字節指令和16位寬度雙字節指令;還有閃爍指令和消隱指令。7289A采用串行方式SPI總線與微處理器通信;7289A與AT89C52接口電路,在實際電路中無論接不接鍵盤,電路中連接到其各段上的8個 100千歐的下拉電阻均不可以省去,如果不接鍵盤而只接顯示器可以省去8個10千歐電阻,若僅接鍵盤而不接顯示器,可省去串入DP及SA-SG連線的8個220歐電阻,7289A還需要外接晶體振蕩電路。液晶顯示器簡稱LCD,其顯示原理是用經過處后的液晶具有能改變光線傳輸方向的特性,達到顯示字符和圖形的目的。最簡單的筆段式液晶顯示器類似于LCD顯示器,可以顯示簡單的字符和數字,而目前大量使用的是點陣式LCD顯示器,既可以顯示字符和數字也可以顯示漢字和圖形。如果把LCD顯示屏、背光可變電源、接口控制邏輯、驅動集成芯片等部件構成一個整體,是的與CPU接口十分方便。

                  鍵盤:鍵盤是最常見的計算機輸入設備,它廣泛應用于微型計算機和各種終端設備上。計算機操作者通過鍵盤向計算機輸入各種指令、數據,指揮計算機的工作。按照鍵盤的工作原理和按鍵方式的不同,可以劃分為四種:機械式鍵盤采用類似金屬接觸式開關,工作原理是使觸點導通或斷開,具有工藝簡單、噪音大、易維護的特點。 塑料薄膜式鍵盤鍵盤內部共分四層,實現了無機械磨損。其特點是低價格、低噪音和低成本,已占領市場絕大部分份額。 導電橡膠式鍵盤觸點的結構是通過導電橡膠相連。鍵盤內部有一層凸起帶電的導電橡膠,每個按鍵都對應一個凸起,按下時把下面的觸點接通。這種類型鍵盤是市場由機械鍵盤向薄膜鍵盤的過渡產品。 無接點靜電電容式鍵盤使用類似電容式開關的原理,通過按鍵時改變電極間的距離引起電容容量改變從而驅動編碼器。特點是無磨損且密封性較好。

                  按照按鍵方式的不同鍵盤可分為接觸式和無觸點式兩類。接觸式鍵盤就是我們通常所說的機械式鍵盤,它又分為普通觸點式和干簧式。普通觸點式的兩個觸點直接接觸,從而使電路閉合,產生信號;而干簧式鍵盤則是在觸點間加裝磁鐵,當鍵按下時,依靠磁力使觸點接觸,電路閉合。與普通觸點式鍵盤相比,干簧式鍵盤具有響應速度快、使用壽命長、觸點不易氧化等優點。無觸點式鍵盤又分為電容式、霍爾式和觸摸式三種。其中電容式是我們最常用到的鍵盤類型,它的觸點之間并非直接接觸,而是當按鍵按下時,在觸點之間形成兩個串聯的平板電容,從而使脈沖信號通過,其效果與接觸式是等同的。電容式鍵盤擊鍵時無噪聲,響應速度快,但是價格很高一些。

                  顯示器:按照顯示器的顯示管分類CRT、LCD。按顯示色彩分類單色顯示器、彩色顯示器。按大小分類通常有14寸、15寸、17寸和19寸,或者更大。顯示管的屏幕上涂有一層熒光粉,電子槍發射出的電子擊打在屏幕上,使被擊打位置的熒光粉發光,從而產生了圖像,每一個發光點又由“紅”“綠”“藍”三個小的發光點組成,這個發光點也就是一個象素。由于電子束是分為三條的,它們分別射向屏幕上的這三種不同的發光小點,從而在屏幕上出現絢麗多彩的畫面。顯示器顯示畫面是由顯示卡來控制的。若仔細觀察顯示器上的文本或圖像是由點組成的,屏幕上點越多越密,則分辨率越高。
                    屏幕上相鄰兩個同色點的距離稱為點距,常見點距規格有0.31mm、0.28mm、0.25mm等。顯示器點距越小,在高分辨率下越容易取得清晰的顯示效果。電子束采用光柵掃描方式,從屏幕左上角一點開始,向右逐點進行掃描,形成一條水平線;到達最右端后,又回到下一條水平線的左端,重復上面的過程;當電子束完成右下角一點的掃描后,形成一幀。此后,電子束又回到左上方起點,開始下一幀的掃描。這種方法也就是常說的逐行掃描顯示。而隔行掃描指電子束在掃描時每隔一行掃一線,完成一屏后再返回來掃描剩下的線,這與電視機的原理一樣。隔行掃描的顯示器比逐行掃描閃爍得更厲害,也會讓使用者的眼睛更疲勞。完成一幀所花時間的倒數叫垂直掃描頻率,也叫刷新頻率,比如60Hz、75Hz等。

                  通過這幾天的單片機的實訓,我在理論的基礎上更深刻的掌握了單片機的深層內容及實際生活中的應用,實訓鍛煉了自己動手能力和思維能力,還有在軟件方面的編程能力,讓我受益匪淺,同時也暴露出一些平時學習上的問題,讓我深刻反思。這些問題的發現將為我以后的學習和工作找明道路,查漏補缺為進一步學習作好準備。通過實訓,讓我懂得了如何編寫一些簡單的程序,學會了如何制作單片機應用程序,并且可以在今后的日常生活中靈活運用。

                  單片機實訓報告總結篇2

                  廣東輕工職業技術學院

                  實 訓 報 告

                  實訓項目 單片機實訓

                  系別: 電子通信工程系

                  專業: 應用電子技術

                  班級: 嵌入式091班

                  姓名: 11222

                  學號: 16

                  指導老師: 丁向榮、趙慧

                  實訓地點: 第三實訓樓 C309

                  實訓時間: 2011年1月10日至1月14日

                  前言

                  單片機應用技術是現代電子設計的核心技術,學習單片機只是就是要將單片機應用到電子產品中,以單片機為控制核心實現電子系統所需實現的功能。單片機的應用能力很多程度上決定了電子類專業學生電子設計與電子應用的水平與能力,尤其是高職學生更是如此。

                  本項目要求設計一個簡單的電子時鐘,用六位LED數碼管實現電子時鐘的功能,顯示方式為時、分、秒,采用24h(小時)計時方式,使用按鍵開關可實現時分調整。

                  通過電子鬧鐘項目的課題設計,讓同學們體驗項目設計的要點,了解項目設計的流程,加深對單片機應用知識的學習,體會團隊協作的力量所在。為日后的嵌入式專業學習鞏固基礎。

                  目錄

                  1.概述…………………………………………………………

                  1.1 系統的作用………………………………………………………………

                  1.2 系統的功能要求 ……………………………………………………………

                  2.系統硬件設計………………………………………………..

                  2.1系統的電路原理……………………………………………………………

                  2.2 電路原理圖………………………………………………………………

                  2.3 各控制按鈕控制功能說明……………………………………………….

                  3.系統軟件設計 ……………………………………………….

                  4.系統調試…………………………………………………….

                  5. 總結…………………………………………………………

                  1.概述

                  1.1 系統的作用

                  本系統是利用AT89C51單片機結合6個七段顯示器以24時制“時時分分秒秒”格式顯示時間的電子定時鬧鈴,系統可以設置8組定時鬧鈴和1組倒計時功能;當定時鬧鈴和倒計結束時,該電子時鐘通過蜂鳴器發出嘀嘀嘀響聲;本系統還具有半點和整點報時功能,當現在時間為半點時會發出嘀的一聲響,當現在時間為整點時報整點數響聲。由于該電子定時鬧鈴有強大功能可以在多種場合下使用,利用七段顯示器發光也可以在夜晚和黑暗場合下使用。

                  1.2 系統的功能要求

                  (1)使用6位七段顯示器顯示24時制時間。

                  (2)時間顯示格式為“時時分分秒秒”。

                  (3)定時鬧鈴功能。

                  (4)倒計時功能。

                  (5)半點報時功能:當現在時間為半點時,蜂鳴器發出“嘀”一聲響。

                  (6)整點報時功能:當現在時間為整點時,蜂鳴器發出現在時間整點數響聲。

                  (7)當任一鬧鈴時間到時發出連續“嘀嘀嘀”響聲,七段顯示器顯示“X HHMM”。

                  (8)當倒計時時間到時發出嘀嘀嘀響聲,七段顯示器顯示“”。

                  (9)定時鬧鈴、倒計時和現在時間模式可以互相切換而不影響各自功能。

                  (10)具有4個按鍵來進行功能設置,可以設置當前時間、8組鬧鈴的時間設置和開關及倒計時的時間設置。

                  (11)通過復位按鍵可以重啟系統。

                  2.系統的硬件設計

                  2.1系統的電路原理

                  (1)系統以AT89C51單片機為本電路的核心元件,通過單片機的P0.0~P0.7引腳和A102J排阻加上拉電壓來驅動七段顯示器段顯示數字。

                  (2)通過單片機的P2.2~P2.7引腳連接A103J排阻拉升電壓信號,控制6個8050NPN三極管使共陰極七段顯示器連通接地來循環點亮6位七段顯示器。

                  (3)在七段顯示器供電的同時由P0腳驅動顯示不同數字。根據人眼的視覺暫留特點,調整延遲時間使所觀察到時間數字是穩定的數字。

                  (4)系統使用了HYDZ蜂鳴器,通過單片機P3.7引腳連接8550PNP三極管推動發聲。

                  (5)電路通過4個按鍵連接單片機P1.0~P1.3引腳低電平控制系統功能設置。

                  (6)單片機的復位電路,采用傳統上電復位,通過Reset按鍵控制。

                  (7)電路可以通過+5V和+12V直流電供電,當使用+12V直流供電時,電路通過1個7805三端穩電器、2個35v100μF電解電容和1個50v10μF電解電容轉換成+5V直流電供電。

                  (8)系統通過一個發光二極管指示電路供電是或正常。

                  2.2 電路原理圖

                  圖示為數碼管顯示電路

                  圖示為主程序電路圖

                  2.3 各控制按鈕控制功能說明

                  KEY0(按鍵INT0):調時向左移一位數——接P3.0

                  KEY1(按鍵INT1):當前位加1——接P3.1

                  KEY2(按鍵T0):當前位減1——接P3.2

                  KEY3(按鍵T1):確定調時時間——接P3.3

                  S1:切換鬧鐘調時模式(高電平)——接P3.4

                  S2:中斷程序(高電平),中斷當前的鬧鐘或整點報時的響應——接P3.5

                  S3:暫停和開始計時(高電平)——接P3.6

                  BELL:蜂鳴器——接P3.7

                  ——當整點報時和鬧鐘響應的時候會響。

                  LED燈——當整點報時和鬧鐘響應的時候會亮。

                  P1.0 ~ P1.3分別接LED燈的高四位,P1.4 ~ P1.7分別接燈的低四位。

                  P0.0 ~ P0.7分別口接數碼管的段選的a~h位

                  P2.0 ~ P2.5口分別接數碼管的位選的6~1位

                  3.軟件設計

                  流程圖顯示如下:

                  源程序清單:

                  #include

                  #define uchar unsigned char

                  #define led_data P0 //P0顯示數碼管當前位的數字

                  #define led_bit P2 //P2控制當前數碼管顯示的位數

                  int b;

                  uchar conls=0x00; //記錄秒分時的個位數

                  uchar cons=0x00; //記錄秒分時的十位數

                  uchar con=0x00; //記錄調時程序當前位數

                  uchar x=0x00; //記錄鬧鐘

                  sbit key0=P3^0; //key0控制調時位左移以一位

                  sbit key1=P3^1; //key1控制挑時當前位數字+1

                  sbit key2=P3^2; //key1控制挑時當前位數字-1

                  sbit key3=P3^3; //確定當前挑時中斷程序

                  sbit stop=P3^4; //用來暫時計時和啟動計時

                  sbit baojing=P3^5; //用以響應整點報時和鬧鐘

                  sbit naozhong=P3^6; //用來開啟鬧鐘調時程序

                  sbit beep=P3^7; //用來終止當前整點報時或鬧鐘響應

                  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; //數碼管當前位0~9的顯示碼

                  uchar data scan_con[6]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF}; //數碼管左到右6個位的顯示

                  uchar data dis[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00}; //數碼管的顯示碼

                  uchar data timedata[6]={0x00,0x00,0x00,0x00,0x00,0x00}; //電子鐘的初始時間:00:00:00

                  uchar data secclock[6]={0x00,0x00,0x00,0x00,0x00,0x00}; //鬧鐘調時的初始時間:00:00:00

                  uchar i;

                  display(); //顯示數碼管函數申明

                  keyscan(); //調時按鈕函數聲明

                  //alarmcolk();

                  /************************************************************************/

                  /* 1ms延時顯示程序 */

                  /************************************************************************/

                  void delay(int z)

                  {

                  int x,y;

                  for(x=0;x=6)

                  {

                  x=0;TR1=0;ET1=0;TR0=1;ET0=1;

                  }

                  }

                  if(x=6)

                  {

                  secclock[x]=0;

                  }break;

                  case 2:

                  case 4:

                  if(secclock[x]>=10)

                  {

                  secclock[x]=0;

                  }

                  break;

                  case 5:

                  if(secclock[x]>=3)

                  {

                  secclock[x]=0;

                  }

                  break;

                  default: ;

                  }

                  dis[x]=secclock[x];

                  dis[6]=0x0a;

                  }

                  }

                  if(x>=0)

                  {

                  if(key2==0)

                  {

                  delay(10);

                  while(key2==0);

                  switch(x)

                  {

                  case 1:

                  case 3:

                  if(secclock[x]==0)

                  {

                  secclock[x]=0x05;

                  }

                  else

                  {

                  secclock[x]--;

                  }break;

                  case 2:

                  case 4:

                  if(secclock[x]==0)

                  {

                  secclock[x]=0x09;

                  }

                  else

                  {

                  secclock[x]--;

                  }break;

                  case 5:

                  if(secclock[x]==0)

                  {

                  secclock[x]=0x02;

                  }

                  else

                  {

                  secclock[x]--;

                  }

                  break;

                  default: ;

                  }

                  dis[x]=secclock[x];dis[6]=0x0a;

                  }

                  }

                  EA=1;

                  }

                  }

                  /************************************************************************/

                  /* 0.3s閃爍中斷小程序 */

                  /************************************************************************/

                  void time_intt1(void)interrupt 3

                  {

                  EA=0;TR1=0;TH1=0X3C;TL0=0XB0;TR1=1;

                  cons++;

                  if(cons==6) //50ms x 6 =300ms =0.3s

                  {

                  cons=0x00;

                  dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];

                  }

                  EA=1;

                  }

                  /************************************************************************/

                  /* 電子鐘顯示進位處理程序 */

                  /************************************************************************/

                  void time_intt0(void)interrupt 1

                  { {

                  int i,j,x=0;

                  j=0;

                  if(naozhong==0&&stop==1)

                  {

                  ET0=0;TR0=0;TH0=0X3C;TL0=0XB0;TR0=1;

                  conls++;

                  if(conls==20) //20次延時,秒+1

                  {

                  conls=0x00;

                  timedata[0]++;

                  if(timedata[0]>=10) //10s時,秒十位數+1

                  {

                  timedata[0]=0;

                  timedata[1]++;

                  if(timedata[1]>=6) //60s時,分+1

                  { //5

                  timedata[1]=0;

                  timedata[2]++;

                  if(timedata[2]>=10) //10min時,分十位數+1

                  {

                  timedata[2]=0;

                  timedata[3]++;

                  if(timedata[3]>=6) //60min時,時+1

                  {

                  timedata[3]=0;

                  timedata[4]++;

                  if(beep==0)

                  {

                  for(i=1;i=10) //10h時,時十位數+1

                  {

                  timedata[4]=0;

                  timedata[5]++;

                  if(timedata[5]==2) //當h等于24時,清零

                  {

                  if(timedata[4]==4)

                  {

                  timedata[4]=0;

                  timedata[5]=0;

                  }

                  }

                  }

                  }

                  }

                  }

                  }

                  for(b=0;b=10)

                  {

                  secclock[0]=0;

                  secclock[1]++;

                  }

                  }

                  if(timedata[1]>=6)

                  {

                  timedata[1]=0;

                  timedata[2]++;

                  if(secclock[1]>=6)

                  {

                  secclock[1]=0;

                  secclock[2]++;

                  }

                  }

                  if(timedata[2]>=10)

                  {

                  timedata[2]=0;

                  if(secclock[2]>=10)

                  {

                  secclock[2]=0;

                  secclock[3]++;

                  }

                  }

                  }

                  }

                  for(b=0;b

                  單片機實訓報告總結篇3

                  一、任務與目的

                  本課程的實訓是使我們綜合應用所學習的理論知識,使用STAR-MT51實驗板完成單片機控制下的實時溫度測量及顯示的軟件編程。

                  本課程實訓涉及的知識包括:單片機的最小系統、單片機人機接口電路(獨立式鍵盤、LED顯示)、8位數碼管的驅動電路、18B20溫度芯片的應用等。

                  二、原理(條件)

                  1. LED發光二極管

                  一般的發光二極管的導通壓降為1.7V~1.9V,工作電流為5mA~10mA

                  2.LED數碼管顯示接口

                  LED數碼管是利用多個LED組合而成的顯示設備,可以顯示0-9等10個數字和某些字母,在許多的數字系統中作為顯示輸出設備,使用非常廣泛。數碼管內部字段LED和引腳分布圖。它的結構是由發光二極管構成的a、b、c、d、e、f和g七段

                  LED內部的所有發光二極管有共陰極接法和共陽極接法兩種:一種是將LED內部所有二極管陽極接在一起并通過com引腳引出,將每一個發光二極管的另一端分別引出到對應的引腳,稱之為共陽極LED顯示器

                  另一種是將LED內部所有發光二極管的陰極都連在一起的,稱之為共陰極LED顯示器

                  LED用于顯示數字、字母或符號時,必須將要顯示的內容轉換為LED對應七段碼的信息,共陰和共陽結構的LED顯示器各筆劃段名和安排位置是相同的。當發光二極管導通時,相應的筆劃段發亮,即通過點亮不同的LED字段,可顯示數字0,1,┅,9和A,b,C,d,E,F等不同的字符及自定義的一些簡單符號。8個筆劃段dp g f e d c b a對應于一個字節(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進制碼就可以表示要顯示字符的字形代碼。

                  3. 獨立式鍵盤接口

                  (1)監測有無鍵按下;鍵的閉合與否,反映在電壓上就是呈現出高電平或低電平,所以通過電平的高低狀態的檢測,便可確認按鍵按下與否。

                  (2)判斷是哪個鍵按下。

                  (3)完成鍵處理任務。

                  需注意事項:

                  1 電路或軟件的角度應解決的問題-----------消除抖動影響

                  鍵盤按鍵所用開關為機械彈性開關,利用了機械觸點的閉合、斷開作用。

                  為了確保CPU對一次按鍵動作只確認一次,必須消除抖動的影響。按鍵的消抖,通常有軟件、硬件兩種消除方法。

                  軟件消抖:在第一次檢測到有鍵按下時,執行一段延時10ms的子程序后,再確認電平是否仍保持閉合狀態電平,如果保持閉合狀態電平,則確認有鍵按下,進行相應處理工作。

                  ②鍵盤電路結構

                  獨立式按鍵就是各按鍵相互獨立,每個按鍵單獨占用一根I/O口線,每根I/O口線的按鍵工作狀態不會影響其他I/O口線上的工作狀態。因此,通過檢測輸入線的電平狀態可以很容易判斷哪個按鍵被按下了。

                  優點:電路配置靈活,軟件結構簡單。

                  缺點:每個按鍵需占用一根I/O口線,在按鍵數量較多時,I/O口浪費大,電路結構顯得復雜。因此,此鍵盤是用于按鍵較少或操作速度較高的場合。

                  4.定時器中斷

                  定時/計數器是單片機的重要部件,其工作方式靈活,編程簡單,使用方便。89C51單片機內有2個16位可編程的定時器/計數器,分別為T0和T1。定時器/計數器T0、T1核心組成部分為16位的加1計數器,它們的工作狀態和工作方式分別由兩個特殊功能寄存器TCON和TMOD來決定。

                  定時器/計數器T0、T1可以有四種不同的工作方式:方式0、方式1、方式2、方式3。

                  方式1

                  當TMOD中M1M0 = 01時,定時器/計數器選定方式1進行工作。下圖是T0工作在方式1下的邏輯結構圖(T1與其完全一致)。兩個8位寄存器TH0和TL0構成了一個16位的定時器/計數器。

                  在該工作方式下,當作為定時器使用時,按定時時間計算計數初值。

                  方式2

                  工作方式2,其邏輯結構如下圖所示。該方式下,16位計數器被分為兩個8位寄存器:TL0和TH0,其中TL0作為計數器,TH0作為計數器TL0的初值預置寄存器,并始終保持為初值常數。TH0的內容重新裝入TL0后,其自身保持不變。這樣計數器具有重復加載、循環工作的特點,可用于產生固定脈寬的脈沖信號。

                  這樣省掉了工作方式0、方式1一定要通過軟件給計數器重新賦初值的麻煩,并提高了計數精度。該工作方式下,當作為定時器使用時,按定時時間計算計數初值

                  三、內容與步驟

                  本實訓采用STAR-MT51實驗板,編寫程序完成指導教師指定的項目內容。

                  1、LED指示燈閃爍。

                  2、8位數碼管的指定顯示內容。

                  3、數字時鐘顯示。

                  (一)熟悉STAR-MT51結構,復習單片機接口電路內容

                  編寫第一個程序,控制LED指示燈閃爍

                  1、建立項目文件,掌握頭文件的使用

                  2、 熟悉單片機C文件編寫規范,變量定義,程序注釋寫法等

                  3、 熟練掌握KEIL C51調試環境,熟悉編譯,設置,在線觀察參數

                  4、 編寫LED指示燈亮滅的程序控制

                  5、 添加延時子函數,掌握無傳遞參數的子函數編寫

                  6、 實現LED指示燈閃爍

                  程序:

                  #include

                  unsigned char k;

                  void delayms(unsigned char ms);

                  main()

                  { while (1){

                  P0 = 0x01;

                  P0 = 0x01;

                  for(k=0;k

                  單片機實訓報告總結篇4

                  “51單片機”精簡開發板的組裝及調試實訓報告

                  為期一周的單片機實習已經結束了。通過此次實訓,讓我們掌握了單片機基本原理的基礎、單片機的編程知識以及初步掌握單片機應用系統開發實用技術,了解“51”單片機精簡開發板的焊接方法。同時培養我們理論與實踐相結合的能力,提高分析問題和解決問題的能力,增強學生獨立工作能力;培養了我們團結合作、共同探討、共同前進的精神與嚴謹的科學作風。

                  此次實訓主要有以下幾個方面:

                  一、實訓目的

                  1.了解“51”精簡開發板的工作原理及其結構。

                  2.了解復雜電子產品生產制造的全過程。

                  3.熟練掌握電子元器件的焊接方法及技巧,訓練動手能力,培養工程實踐概念。

                  4.能運用51單片機進行簡單的單片機應用系統的硬件設計。

                  5.掌握單片機應用系統的硬件、軟件調試方法

                  二、實驗原理

                  流水燈實際上就是一個帶有八個發光二極管的單片機最小應用系統,即為由發光二極管、晶振、復位、電源等電路和必要的硬件組成的單個單片機。

                  它的電氣性能指標:輸入電壓:DC4.5~6V,典型值為5V。可用干電池組供電,也可用直流穩壓電源供電。

                  如圖所示:

                  本流水燈實際上就是一個帶有八個發光二極管的單片機最小應用系統,即為由發光二極管、晶振、復位、電源等電路和必要的硬件組成的單個單片機。

                  三、硬件組成

                  1、晶振電路部分

                  單片機系統正常工作的保證,如果振蕩器不起振,系統將會不能工作;假如振蕩器運行不規律,系統執行程序的時候就會出現時間上的誤差,這在通信中會體現的很明顯:電路將無法通信。他是由一個晶振和兩個瓷片電容組成的,x1和x2分別接單片機的x1和x2,晶振的瓷片電容是沒有正負的,注意兩個瓷片電容相連的那端一定要接地。

                  2、復位端、復位電路

                  給單片機一個復位信號(一個一定時間的低電平)使程序從頭開始執行;一般有兩中復位方式:上電復位,在系統一上電時利用電容兩端電壓不能突變的原理給系統一個短時的低電平;手動復位,同過按鈕接通低電平給系統復位,時如果手按著一直不放,系統將一直復位,不能正常。當要對晶體重置時,只要對此引腳電平提升至高電平并保持兩個及其周期以上的時間便能完成系統重置的各項動作,使得內部特殊功能寄存器內容均被設成已知狀態。

                  如圖所示,只要按此開關就能完成LED和開關的重置。

                  3、發光二極管電路

                  LED發光二極管依次接P1口,利用共陽極接線,只要P1口由高電

                  平變為低電平LED燈即點亮。

                  四、安裝、焊接及調試

                  ⑴安裝步驟

                  1.檢查元器件的數量、質量和規格,詳細閱讀硬件說明部分,并將元件對號入座,對于有極性的元器件要注意安裝方向,確保一次性焊接成功。

                  2.先焊接低矮、耐熱的元件,比如電阻,再對高一些的元件進行焊接,比如芯片座、排阻等,以此類推,最后焊接高大的元件。

                  ⑵焊接部分

                  1.檢查印刷電路裸板電源正負端、各相鄰焊點是否短路。

                  2.檢測元器件質量,電容、接插件是否短路,按鍵通斷狀態是否正確。

                  3.集成電路一定焊接插座,確定好插座空間安裝位置。

                  4.焊接時特別要注意錫不能太多,否則易發生焊點短路。

                  5.電烙鐵焊接時間不要過長,以免燙壞焊點。

                  ⑶調試部分

                  1.硬件調試

                  拿到電路板后,首先要檢查加工質量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數值,看是否與所用相同;完成焊接后,應先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關系。將萬用表的探針放到單片機接電源的引腳上檢測一下,看是否符合要求。

                  進行串口測試。接上單片機電源和串口線,打開電源開關,電源指示燈D0亮,使用STC89C系列單片機,其本身自帶了一個測試程序,上電之后D1~D8便會兩個兩個的燈亮的閃爍。或者自己下載一個程序,如果串口正常,如不成功,就應該好好檢查焊點及串口線。

                  2.流水燈程序調試

                  將電路板串口連接電腦,把程序燒入STC89C52系統。用USB接口連接電腦,為單片機提供電源。電源接入口,程序開始運行。LED燈開始輪流閃爍,閃爍間隔大概為0.5S。點擊復位電路,單片機復位,LED燈從第一盞燈開始又循環亮起。

                  3.C語言程序

                  #include

                  #include

                  void delay(unsigned int d)

                  {while(--d>0); }

                  void main() {

                  unsigned char i,LED;

                  while(1) {LED=0x7f;

                  for(i=7;i>=0;i--) {P1=LED;

                  delay(50000);

                  LED=_cror_(LED,1); }}}

                  在電路調試過程中也許會碰到以下一些故障:

                  1.接好電池盒,電源這是燈不亮。這些是因為電源插座存在虛焊現象,接觸不良。遇到這種情況的時候應該及時檢查和修復虛焊點。

                  2.出現不能正常下載程序。這是因為電路板電源沒有正常接通或者下載線焊接組裝有誤、電池電壓低、芯片MAX232不正常工作或管腳虛焊。應該去檢查電源是否正常接通,并且更正正確。

                  3.下載程序不能正常完成流水燈功能。這是因為電池電壓低或者發光二極管損壞或者管腳虛焊、電阻R1開路或管腳虛焊。解決這樣的方法是更換電池或者修復焊點。

                  五、結論

                  通過這次實習讓我們可以在實踐中檢驗我們所學的單片機知識,更好的融會貫通,并在實踐中發現問題,解決問題。這次設計的流水燈由于比較簡單,遇到的問題都不是很困難,我們通過互相之間的交流、查閱書籍以及通過互聯網所搜所需的資料都能夠比較好的解決。

                  這次所調試的流水燈系統缺點是程序輸入采用串口輸入,燒入程序比較復雜。電路比較簡單,所實現的功能只有流水燈,時間閃爍的控制需要修改程序才能實現。如果需要改進的,可以增加一個時間設置來設這流水燈的閃爍時間,或者通過流水燈排列的形狀不同可以做成花樣流水燈。

                  下圖為本次實訓結果展示圖:

                  電路板焊接圖

                  電路板實現流水燈圖

                  這次的實踐動手操作,主要在細心。在焊板子之前老師給我們詳細的講述了關于我們將要實訓的內容。深刻的講解了關于單片機的一些基礎的知識。也給我們講了關于焊接時應該注意的一些細節。還有實訓時應該注意的一些事情以及我們最后的驗收過程。對于這些我們每個人都認真的學習虛心聽講。先焊接矮的元件,否則高元件會擋住,使矮元件不好焊接。也要注意擺放芯片座的順序,否則會導致焊接反。而且,通過這次的訓練,我也認識了更多的元件,接觸到了具有實際意義的產品。當自己的焊接結果成功時,那種愉悅是難以言表的。手上拿著自己焊過的電路板,看著它閃爍的燈,突然覺得心里好安慰。這幾天做得這些努力都是值得的。我們以前看著別人做這些東西各種高端,現在自己也可以動手做一個屬于自己的板子。這不僅是對自己能力上的肯定也是對自己這幾天來的一個交代吧。希望今后會有更多的實踐動手實驗,我一定會珍惜每一次的實訓機會,不斷地鍛煉自己的實踐提高動手能力,讓自己更好的適應這個快速發展的社會。

                  單片機實訓報告總結篇5

                  單片機心得總結

                  通過這一個學期的單片機學習,我收獲了很多關于單片機的知識,并且這些知識和日常的生活息息相關。了解了一些簡單程序的錄入,LED顯示器、鍵盤、和顯示器的應用和原理。

                  LED顯示器:LED顯示器是由發光二管組成顯示字段的器件。通常的8段LED顯示器是由8個發光二極管組成,LED顯示器分共陽極和共陰極兩種。有段選碼和和位選碼。當LED顯示器每段的平均電流位5MA時,就有較滿意的亮度,一般選擇斷碼5-10MA電流;位線的電流應選擇40-80MA。LED顯示器的顯示方式有動態和靜態兩種。7289A芯片是具有SPI串行接口功能的顯示鍵盤控制芯片,它可同時取得8位共陰極數碼管和64個鍵的鍵盤矩陣。7289A的控制指令分為兩類:8位寬度的單字節指令和16位寬度雙字節指令;還有閃爍指令和消隱指令。7289A采用串行方式SPI總線與微處理器通信;7289A與AT89C52接口電路,在實際電路中無論接不接鍵盤,電路中連接到其各段上的8個 100千歐的下拉電阻均不可以省去,如果不接鍵盤而只接顯示器可以省去8個10千歐電阻,若僅接鍵盤而不接顯示器,可省去串入DP及SA-SG連線的8個220歐電阻,7289A還需要外接晶體振蕩電路。液晶顯示器簡稱LCD,其顯示原理是用經過處后的液晶具有能改變光線傳輸方向的特性,達到顯示字符和圖形的目的。最簡單的筆段式液晶顯示器類似于LCD顯示器,可以顯示簡單的字符和數字,而目前大量使用的是點陣式LCD顯示器,既可以顯示字符和數字也可以顯示漢字和圖形。如果把LCD顯示屏、背光可變電源、接口控制邏輯、驅動集成芯片等部件構成一個整體,是的與CPU接口十分方便。

                  鍵盤:鍵盤是最常見的計算機輸入設備,它廣泛應用于微型計算機和各種終端設備上。計算機操作者通過鍵盤向計算機輸入各種指令、數據,指揮計算機的工作。按照鍵盤的工作原理和按鍵方式的不同,可以劃分為四種:機械式鍵盤采用類似金屬接觸式開關,工作原理是使觸點導通或斷開,具有工藝簡單、噪音大、易維護的特點。 塑料薄膜式鍵盤鍵盤內部共分四層,實現了無機械磨損。其特點是低價格、低噪音和低成本,已占領市場絕大部分份額。 導電橡膠式鍵盤觸點的結構是通過導電橡膠相連。鍵盤內部有一層凸起帶電的導電橡膠,每個按鍵都對應一個凸起,按下時把下面的觸點接通。這種類型鍵盤是市場由機械鍵盤向薄膜鍵盤的過渡產品。 無接點靜電電容式鍵盤使用類似電容式開關的原理,通過按鍵時改變電極間的距離引起電容容量改變從而驅動編碼器。特點是無磨損且密封性較好。

                  按照按鍵方式的不同鍵盤可分為接觸式和無觸點式兩類。接觸式鍵盤就是我們通常所說的機械式鍵盤,它又分為普通觸點式和干簧式。普通觸點式的兩個觸點直接接觸,從而使電路閉合,產生信號;而干簧式鍵盤則是在觸點間加裝磁鐵,當鍵按下時,依靠磁力使觸點接觸,電路閉合。與普通觸點式鍵盤相比,干簧式鍵盤具有響應速度快、使用壽命長、觸點不易氧化等優點。無觸點式鍵盤又分為電容式、霍爾式和觸摸式三種。其中電容式是我們最常用到的鍵盤類型,它的觸點之間并非直接接觸,而是當按鍵按下時,在觸點之間形成兩個串聯的平板電容,從而使脈沖信號通過,其效果與接觸式是等同的。電容式鍵盤擊鍵時無噪聲,響應速度快,但是價格很高一些。

                  顯示器:按照顯示器的顯示管分類CRT、LCD。按顯示色彩分類單色顯示器、彩色顯示器。按大小分類通常有14寸、15寸、17寸和19寸,或者更大。顯示管的屏幕上涂有一層熒光粉,電子槍發射出的電子擊打在屏幕上,使被擊打位置的熒光粉發光,從而產生了圖像,每一個發光點又由“紅”“綠”“藍”三個小的發光點組成,這個發光點也就是一個象素。由于電子束是分為三條的,它們分別射向屏幕上的這三種不同的發光小點,從而在屏幕上出現絢麗多彩的畫面。顯示器顯示畫面是由顯示卡來控制的。若仔細觀察顯示器上的文本或圖像是由點組成的,屏幕上點越多越密,則分辨率越高。
                    屏幕上相鄰兩個同色點的距離稱為點距,常見點距規格有0.31mm、0.28mm、0.25mm等。顯示器點距越小,在高分辨率下越容易取得清晰的顯示效果。電子束采用光柵掃描方式,從屏幕左上角一點開始,向右逐點進行掃描,形成一條水平線;到達最右端后,又回到下一條水平線的左端,重復上面的過程;當電子束完成右下角一點的掃描后,形成一幀。此后,電子束又回到左上方起點,開始下一幀的掃描。這種方法也就是常說的逐行掃描顯示。而隔行掃描指電子束在掃描時每隔一行掃一線,完成一屏后再返回來掃描剩下的線,這與電視機的原理一樣。隔行掃描的顯示器比逐行掃描閃爍得更厲害,也會讓使用者的眼睛更疲勞。完成一幀所花時間的倒數叫垂直掃描頻率,也叫刷新頻率,比如60Hz、75Hz等。

                  通過這幾天的單片機的實訓,我在理論的基礎上更深刻的掌握了單片機的深層內容及實際生活中的應用,實訓鍛煉了自己動手能力和思維能力,還有在軟件方面的編程能力,讓我受益匪淺,同時也暴露出一些平時學習上的問題,讓我深刻反思。這些問題的發現將為我以后的學習和工作找明道路,查漏補缺為進一步學習作好準備。通過實訓,讓我懂得了如何編寫一些簡單的程序,學會了如何制作單片機應用程序,并且可以在今后的日常生活中靈活運用。

                  07電信(5)

                  胡欣欣

                  熱門標簽:
                  《單片機實訓報告總結范文(通用5篇).doc》
                  將本文的Word文檔下載到電腦,方便收藏和打印
                  推薦度:

                  文檔為doc格式

                  文章下載

                  《單片機實訓報告總結范文(通用5篇).doc》

                  VIP請直接點擊按鈕下載本文的Word文檔下載到電腦,請使用最新版的WORD和WPS軟件打開,如發現文檔不全可以聯系客服申請處理。

                  文檔下載
                  VIP免費下載文檔
                  <ruby id="zx91x"></ruby><p id="zx91x"></p>
                  <p id="zx91x"></p>
                  <pre id="zx91x"><ruby id="zx91x"><mark id="zx91x"></mark></ruby></pre>
                  
                  
                  <p id="zx91x"><del id="zx91x"></del></p>

                        <track id="zx91x"><ruby id="zx91x"></ruby></track>

                            <pre id="zx91x"><ruby id="zx91x"></ruby></pre>

                            <track id="zx91x"><del id="zx91x"></del></track>

                              <big id="zx91x"><ruby id="zx91x"></ruby></big>

                                  成人视频