欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機(jī)實(shí)習(xí)報(bào)告

      時(shí)間:2019-05-14 10:23:03下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)實(shí)習(xí)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)實(shí)習(xí)報(bào)告》。

      第一篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      單片機(jī)實(shí)習(xí)報(bào)告

      單片機(jī)>實(shí)習(xí)報(bào)告

      (一)這次實(shí)習(xí)我們使用控制電路的單片機(jī)是AT89S51型號(hào)的。通過(guò)它實(shí)現(xiàn)對(duì)八盞雙色燈發(fā)光二極管的控制P0和《單片機(jī)實(shí)習(xí)報(bào)告總結(jié)》正文開(kāi)始》 這次實(shí)習(xí)我們使用控制電路的單片機(jī)是AT89S51型號(hào)的。通過(guò)它實(shí)現(xiàn)對(duì)八盞雙色燈發(fā)光二極管的控制P0和P2口控制四盞燈。在AT89S51的9引腳接復(fù)位電路,對(duì)電路實(shí)現(xiàn)復(fù)位控制。在電路中接入74S164譯碼器和共陰極數(shù)碼管,通過(guò)AT89S51的P3口數(shù)據(jù)的輸入對(duì)共陰極數(shù)碼管的控制。同時(shí)也可實(shí)現(xiàn)雙色發(fā)光的二極管與共陰極數(shù)碼管的共同作用。在AT89S51的P3.2口接上中斷控制電路,P3.5口接入蜂鳴器,使電路實(shí)現(xiàn)中斷作用,也使電路便于檢測(cè)。盡量朝“單片”方向設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強(qiáng),功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品。

      硬件電路設(shè)計(jì):

      1)確保硬件結(jié)構(gòu)和應(yīng)用軟件方案相結(jié)合。硬件結(jié)構(gòu)與軟件方案會(huì)相互影響,軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),以簡(jiǎn)化硬件結(jié)構(gòu)。必須注意,由軟件實(shí)現(xiàn)的硬件功能,一般響應(yīng)時(shí)間比硬件實(shí)現(xiàn)長(zhǎng),且占用CPU時(shí)間;

      2)可靠性及抗干擾設(shè)計(jì)是硬件設(shè)計(jì)必不可少的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板的合理布線(xiàn)、各元器相互隔離等;

      3)盡量朝“MCS-51單片”方向設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強(qiáng),所消耗功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性;

      4)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品。

      1.1 單片機(jī)型號(hào)及特性

      單片機(jī)型號(hào)是 AT89S51。特性是:⑴8031 CPU與MCS-51⑵兼容 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))⑶全靜態(tài)工作:0Hz-24KHz ⑷三級(jí)程序存儲(chǔ)器保密鎖定 ⑸128*8位內(nèi)部RAM ⑹32條可編程I/O線(xiàn)⑺兩個(gè)16位定時(shí)器/計(jì)數(shù)器 ⑻6個(gè)中斷源⑼可編程串行通道⑽低功耗的閑置和掉電模式⑾片內(nèi)振蕩器和時(shí)鐘電路

      1.2 晶振電路

      單片機(jī)晶振的兩個(gè)電容的作用 這兩個(gè)電容叫晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,一般在幾十皮發(fā)。它會(huì)影響到晶振的諧振頻率和輸出幅度,晶振的負(fù)載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg為分別接在晶振的兩個(gè)腳上和對(duì)地的電容,Cic(集成電路內(nèi)部電容)+△C(PCB上電容)經(jīng)驗(yàn)值為3至5pf。各種邏輯芯片的晶振引腳可以等效為電容三點(diǎn)式振蕩器。晶振引腳的內(nèi)部通常是一個(gè)反相器,或者是奇數(shù)個(gè)反相器串聯(lián)。在晶振輸出引腳 XO 和晶振輸入引腳 XI 之間用一個(gè)電阻連接,對(duì)于 CMOS 芯片通常是數(shù) M 到數(shù)十M 歐之間。很多芯片的引腳內(nèi)部已經(jīng)包含了這個(gè)電阻,引腳外部就不用接了。這個(gè)電阻是為了使反相器在振蕩初始時(shí)處與線(xiàn)性狀態(tài),反相器就如同一個(gè)有很大增益的放大器,以便于起振。石英晶體也連接在晶振引腳的輸入和輸出之間,等效為一個(gè)并聯(lián)諧振回路,振蕩頻率應(yīng)該是石英晶體的并聯(lián)諧振頻率。晶體旁邊的兩個(gè)電容接地,實(shí)際上就是電容三點(diǎn)式電路的分壓電容,接地點(diǎn)就是分壓點(diǎn)。以接地點(diǎn)即分壓點(diǎn)為參考點(diǎn),振蕩引腳的輸入和輸出是反相的,但從并聯(lián)諧振回路即石英晶體兩端來(lái)看,形成一個(gè)正反饋以保證電路持續(xù)振蕩。在芯片設(shè)計(jì)時(shí),這兩個(gè)電容就已經(jīng)形成了,一般是兩個(gè)的容量相等,容量大小依工藝和版圖而不同,但終歸是比較小,不一定適合很寬的頻率范圍。外接時(shí)大約是數(shù) PF 到數(shù)十 PF, 依頻率和石英晶體的特性而定。需要注意的是: 這兩個(gè)電容串聯(lián)的值是并聯(lián)在諧振回路上的,會(huì)影響振蕩頻率。當(dāng)兩個(gè)電容量相等時(shí),反饋系數(shù)是 0.5, 一般是可以滿(mǎn)足振蕩條件的,但如果不易起振或振蕩不穩(wěn)定可以減小輸入端對(duì)地電容量,而增加輸出端的值以提高反饋量。

      電路如圖所示

      1.3 復(fù)位電路

      單片機(jī)在開(kāi)機(jī)時(shí)或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位作用是使CPU以及其他功能部件,如串行口,中斷都恢復(fù)到一個(gè)確定初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。

      復(fù)位電路有兩種:上電、按鈕復(fù)位,考慮到各部件影響,采用按鈕復(fù)位,當(dāng)電阻給電容充電,電容的電壓為高電平,當(dāng)按下按鈕時(shí)芯片復(fù)位腳近似低電平,于是芯片復(fù)位。

      單片機(jī)實(shí)習(xí)報(bào)告

      (二)一、生產(chǎn)實(shí)習(xí)的目的和意義:

      生產(chǎn)實(shí)習(xí)是培養(yǎng)本科學(xué)生理論聯(lián)系實(shí)際,提高實(shí)際動(dòng)手操作能力的重要教學(xué)環(huán)節(jié)。本專(zhuān)業(yè)的生產(chǎn)實(shí)習(xí)旨在使學(xué)生廣泛了解實(shí)際電子產(chǎn)品生產(chǎn)的全過(guò)程,熟悉電子產(chǎn)品的主要技術(shù)管理模式,并在實(shí)習(xí)的操作過(guò)程中學(xué)習(xí)、掌握電子產(chǎn)品的焊接、安裝、調(diào)試的實(shí)際操作技能。鞏固和加深理解所學(xué)的理論,開(kāi)闊眼界,提高能力,為培養(yǎng)高素質(zhì)大學(xué)本科人才打下必要的基礎(chǔ)。通過(guò)學(xué)習(xí),是理論與實(shí)際相結(jié)合,可以使學(xué)生加深對(duì)所學(xué)知識(shí)的理解,并為后續(xù)專(zhuān)業(yè)課的學(xué)習(xí)提供必要的感性知識(shí),同時(shí)使學(xué)生直接了解本業(yè)的生產(chǎn)過(guò)程和生產(chǎn)內(nèi)容,為將來(lái)走上工作崗位提供必要的實(shí)際生產(chǎn)知識(shí)。

      二、實(shí)習(xí)的基本內(nèi)容:

      集中授課,進(jìn)行相關(guān)知識(shí)的學(xué)習(xí)。

      學(xué)習(xí)、掌握電子產(chǎn)品的獨(dú)立性設(shè)計(jì)與安裝、調(diào)試的能力;進(jìn)一步掌握電子測(cè)量?jī)x器的正確使用方法,電元器件的測(cè)量與篩選技術(shù)。

      初步了解電子整機(jī)產(chǎn)品的工藝過(guò)程。

      為能使學(xué)生得到充分的鍛煉,較大的提高學(xué)生的實(shí)際動(dòng)手能力,本次生產(chǎn)實(shí)習(xí)安排每一位學(xué)生獨(dú)立完成全部系統(tǒng)的設(shè)計(jì)與安裝工作。

      本實(shí)習(xí)環(huán)節(jié),學(xué)生要獨(dú)立使用電焊鐵及各種電子測(cè)試設(shè)備電路安裝與調(diào)試,要學(xué)生嚴(yán)格遵守電器設(shè)備的使用安全,遵守實(shí)驗(yàn)室的各項(xiàng)>規(guī)章制度。

      三、基本要求:

      在教師的指導(dǎo)下練習(xí)在測(cè)試電路德核心板上焊接元件,掌握焊接要領(lǐng)。

      熟悉元器件的性能及管腳分配。

      在給定的PCB板上焊接跳線(xiàn),IC插座,電阻,電容,LED器件等。

      檢查焊接是否正確。

      插上元器件,運(yùn)行系統(tǒng),并觀測(cè)系統(tǒng)工作是否正常。

      四、總體設(shè)計(jì)電路思想和原理:

      本次生產(chǎn)實(shí)習(xí)用到的開(kāi)發(fā)板和模塊共7塊,分別為:?jiǎn)纹瑱C(jī)核心板,電子鐘模塊,MP3模塊,RFID模塊,無(wú)線(xiàn)傳輸模塊,脈搏傳感模塊,GPS模塊。

      各模塊相互組合,其所能實(shí)現(xiàn)的基本功能如下:

      單片機(jī)核心板+電子鐘模塊:實(shí)現(xiàn)時(shí)間的顯示,溫度的測(cè)量,且可通過(guò)遙控器調(diào)時(shí)、定鬧等。

      單片機(jī)核心板+無(wú)線(xiàn)傳輸模塊:實(shí)現(xiàn)數(shù)據(jù)的近距離無(wú)線(xiàn)傳輸。

      單片機(jī)核心板+MP3模塊(含SD卡):實(shí)現(xiàn)MP3播放功能。

      單片機(jī)核心板+RFID模塊:實(shí)現(xiàn)地鐵檢票系統(tǒng)的模擬。

      單片機(jī)核心板+脈搏傳感模塊:實(shí)現(xiàn)人體脈搏傳感的測(cè)量。

      單片機(jī)核心板+GPS模塊:實(shí)現(xiàn)GPS衛(wèi)星定位功能。

      (一)核心板電路設(shè)計(jì)

      單片機(jī)核心板電路主要包括STC12C5A60S2單片機(jī),電子鐘模塊接口電路,MP3接口電路,無(wú)線(xiàn)傳輸模塊接口電路,脈搏傳感模塊接口電路,GPS模塊接口電路,串口擴(kuò)展電路,電源供電電路。該系統(tǒng)的單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘機(jī)器周期(IT)的單片機(jī),是高速、低功耗、超強(qiáng)干擾的新一代8051單片機(jī)。通過(guò)使用STC-ISP軟件,該單片機(jī)可實(shí)現(xiàn)串口在線(xiàn)編程,無(wú)需編程器,無(wú)需仿真器。

      核心板電路的設(shè)計(jì)思想主要是圍繞單片機(jī)芯片的工作原理和特點(diǎn),為其實(shí)現(xiàn)合理的設(shè)計(jì)出外圍電路:包括電源電路,顯示電路部分,復(fù)位電路部分,串行口通信電路,按鍵電路等。

      (二)電子鐘模塊電路設(shè)計(jì)

      該模塊主要用到的芯片有:時(shí)鐘保持芯片DS1302,單總線(xiàn)數(shù)字溫度傳感器DS18B20,紅外遙控解碼器TL1838A。

      該模塊電路設(shè)計(jì)的思想是了解這三種芯片的工作電壓,DS1302的工作時(shí)鐘頻率以及三種芯片與單片機(jī)之間的硬件連接。

      (三)MP3模塊電路設(shè)計(jì)

      該模塊用到的主要芯片有MP3音頻解碼芯片VS1003,3.3V電壓轉(zhuǎn)換芯片LM1117-3.3,2.5V電壓轉(zhuǎn)換芯片LM1117-2.5。

      該電路的設(shè)計(jì)思想主要是了解芯片的作用和特點(diǎn),尋找各芯片之間的聯(lián)系,VS1003芯片是該模塊的主要部分。單片機(jī)設(shè)有單獨(dú)解碼MP3文件的功能,而單片機(jī)可與通過(guò)VS1003的接口電路的連接,進(jìn)行MP3的解碼,實(shí)現(xiàn)音頻的輸出。通過(guò)芯片各引腳的功能和特點(diǎn),合理的設(shè)計(jì)出相應(yīng)的外圍電路。

      (四)RFID模塊電路的設(shè)計(jì)

      該模塊的電路所用到的主要芯片為13.56MHZ的非接觸式通信讀卡芯片F(xiàn)M1702。該芯片是基于ISO/4443標(biāo)準(zhǔn)的非接觸卡讀卡機(jī)專(zhuān)用芯片,采用0.6微米CMOS、EEPROM工藝,支持13.56MHZ頻率下的type A非接觸式通信協(xié)議,支持多種加窗算法,兼容philips的MFRC530(SPI接口)讀卡機(jī)芯片。

      該模塊的電路設(shè)計(jì)思想是基于FM1702各引腳的功能和特點(diǎn),合理的設(shè)計(jì)芯片的外圍電路,其中的電容和電感所構(gòu)成的天線(xiàn)是芯片與S50卡通信的工具。

      五、單元電路設(shè)計(jì):

      單片機(jī)核心板電路分析

      單片機(jī)核心板是本次實(shí)習(xí)中最重要的部分,它是實(shí)現(xiàn)各種模塊功能的基礎(chǔ)部分。單片機(jī)核心板的核心是STC12C5A60S2單片機(jī)芯片,圍繞該芯片設(shè)計(jì)出相應(yīng)電源供電電路,蜂鳴器驅(qū)動(dòng)電路,按鍵電路,串行口通信電路,復(fù)位電路,液晶屏驅(qū)動(dòng)電路以及各模塊的接口電路,由以上的電路部分就構(gòu)成一個(gè)核心板電路系統(tǒng)。

      電子鐘模塊電路分析

      電子鐘模塊配合單片機(jī)核心板,可在LCD1602液晶屏上顯示當(dāng)前的日期(年月日)時(shí)間(時(shí)分秒),環(huán)境溫度值,和紅外遙控解碼值。用戶(hù)可通過(guò)遙控器或單片機(jī)核心板上的按鍵來(lái)進(jìn)行日期和時(shí)間的設(shè)置。

      通過(guò)遙控上的“EQ”鍵,可控制LED顯示界面在時(shí)間、溫度、紅外解碼之間的切換。如果想調(diào)整時(shí)間,需要首先使用遙控器的“EQ”鍵將LCD顯示調(diào)制時(shí)間界面;之后通過(guò)按“播放停止鍵”將時(shí)間停止;然后再按“左快捷鍵”向右切換;最后按“加減鍵”可以進(jìn)行數(shù)值的加減操作,調(diào)整完成后,再次按“播放停止鍵”,時(shí)間開(kāi)始運(yùn)行。另外通過(guò)單片機(jī)核心板上的K1-K4鍵也可以完成時(shí)間的調(diào)整:其中K1鍵對(duì)應(yīng)遙控器的“右快捷鍵”,即實(shí)現(xiàn)向右切換年月日時(shí)分;K3鍵對(duì)應(yīng)遙控器的“加鍵”,即實(shí)現(xiàn)年月日時(shí)分的加1;K4鍵對(duì)應(yīng)遙控器的“減鍵”,即實(shí)現(xiàn)年月日時(shí)分的減1。

      MP3電路模塊分析

      是一單芯片MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個(gè)高性能低功耗的DSP處理器核VS-DSP。5K的指令RAM,0.5K的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,4個(gè)通用IO口,1個(gè)UART口;同時(shí)片內(nèi)帶有一個(gè)可變采樣率的DAC,一個(gè)立體聲DAC以及音頻耳機(jī)放大器;VS1003通過(guò)一個(gè)串行接口來(lái)接收輸入的比特流,它可以作為一個(gè)系統(tǒng)的從機(jī)。

      與單片機(jī)連接的引腳主要有7個(gè),分別為:SO、SI、SCLK、XDCS、XRESET、DREQ、MOSI,只有保證它們與單片機(jī)正確可靠的連接,才能對(duì)VS1003進(jìn)行有效的操作與控制。另外,VS1003各部分的供電電壓與輸出電壓值是不同的。

      芯片各部分供電電壓如下表:

      供電部分最小電壓推薦電壓最大電壓

      模擬)

      數(shù)字)

      卡是一種大容量,性?xún)r(jià)比高,體積小,訪問(wèn)接口簡(jiǎn)單的存儲(chǔ)卡。SDIMMC卡大量 應(yīng)用于數(shù)碼相機(jī)、MP3、手機(jī)、大容量存儲(chǔ)設(shè)備。作為這些便攜式設(shè)備的存儲(chǔ)載體,它具有低功耗,非易失性,保存數(shù)據(jù)無(wú)需消耗能量的特點(diǎn)。

      卡只使用了1-7觸點(diǎn)。對(duì)于1號(hào)引腳(CD/DAT3)擴(kuò)展的DAT線(xiàn)(DAT1-DAT3)在上電后處于輸入狀態(tài),它們?cè)趫?zhí)行SET-BUS-WIDTH命令后作為DAT線(xiàn)操作,當(dāng)不用DAT1-DAT3線(xiàn)時(shí),主機(jī)應(yīng)使自己的DAT1-DAT3線(xiàn)處于輸入模式,這樣定義是為與MMC卡保持兼容。上電后,CD/DAT3作為帶50K上拉電阻的輸入線(xiàn)(可用于檢測(cè)卡是否存在或選擇SPI模式)。用戶(hù)可以在正常的數(shù)據(jù)傳輸中用SET-CLR-CARD-DETECT(ACMDA口)命令斷開(kāi)上拉電阻的連接。MMC卡的該引腳在SD模式下為保留引腳,在SD模式下無(wú)任何作用。對(duì)于2號(hào)引腳CMD,MMC卡在SD模式下為IO/PP/OO,MMC卡在SPI模式下為I/PP。

      關(guān)于電壓匹配問(wèn)題,SD卡的邏輯電平相當(dāng)于3.3V TTL電平標(biāo)準(zhǔn),而單片機(jī)的邏輯電平為5V。因此,它們之間不能直接相連,否則會(huì)有燒毀SD卡的可能。解決邏輯器件接口的電平兼容問(wèn)題,原則主要有兩條:一為輸出電平器件輸出高電平的最小電壓值,應(yīng)大于接受電壓器件識(shí)別為高電平的最低電壓值;二為輸出電平器件輸出低電平的最大電壓值,應(yīng)小于接受器件識(shí)別為低電平的最高電壓值??紤]到SD卡在SPI協(xié)議的工作模式下,通訊都是單向的,于是在單片機(jī)向SD卡傳輸數(shù)據(jù)時(shí)采用晶體管加上拉電阻法的方案。在SD卡向單片機(jī)傳輸數(shù)據(jù)時(shí),可以直接連接。因?yàn)樗鼈冎g的電平剛好滿(mǎn)足上述的電平兼容原則,既經(jīng)濟(jì)又實(shí)用。該方案可以雙電源供電(一個(gè)5V電源,一個(gè)3.3V電源供電),3.3V電源可用ASL1117穩(wěn)壓管從5V電源穩(wěn)壓獲取。

      RFID模塊電路分析

      基于FM1702SL的非接觸式IC卡讀寫(xiě)器,只要稍加改動(dòng)就能開(kāi)發(fā)成不同的射頻識(shí)別應(yīng)用系統(tǒng),如考勤系統(tǒng),門(mén)禁系統(tǒng),公交車(chē)收費(fèi)系統(tǒng)等。S50非接觸式卡符合MIFARE的國(guó)際標(biāo)準(zhǔn),容量8K位,數(shù)據(jù)保存期10年,又可改寫(xiě)10萬(wàn)次,讀無(wú)限次。S50卡不帶電源,自帶天線(xiàn),內(nèi)含加密控制邏輯電路和通用邏輯電路,卡與讀卡器之間的通訊采用國(guó)際通用DES和RES保密交叉算法,具有較高的保密性能。

      單片機(jī)與FMITDISL通用SPI總線(xiàn)通信,采用中斷工作模式,在FMITDISL復(fù)位后,必須進(jìn)行一次初始化程序以便初始化SPI接口模式,而且可以同步實(shí)現(xiàn)單片機(jī)和FMITDISL的啟動(dòng)工作。信息存儲(chǔ)在MIFARSE卡里,讀寫(xiě)器與卡通過(guò)各自的天線(xiàn)建立起二者之間非接觸信息傳輸通道。當(dāng)卡進(jìn)入系統(tǒng)的工作區(qū)時(shí),讀寫(xiě)器向卡發(fā)射一組固定頻率的電磁波,卡內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與讀寫(xiě)器發(fā)射的頻率相同,在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷,在這個(gè)電容的另一端接有一個(gè)單向?qū)ǖ碾娮铀?,將帶?nèi)容內(nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ),當(dāng)所有積累的電荷達(dá)到2V時(shí),此電容可做到電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或讀取讀寫(xiě)器的數(shù)據(jù)。

      根據(jù)互感原理可知,讀寫(xiě)器天線(xiàn)半徑越大,匝數(shù)越多,讀寫(xiě)器上的天線(xiàn)和卡上的天線(xiàn)的互感系數(shù)就越大。根據(jù)國(guó)際標(biāo)準(zhǔn)的要求,卡和讀寫(xiě)器的通信距離為10cm,通過(guò)調(diào)整天線(xiàn)驅(qū)動(dòng)電壓可以改變通信的最長(zhǎng)距離。天線(xiàn)的傳輸帶寬和品質(zhì)因數(shù)成反比關(guān)系。過(guò)高的品質(zhì)因數(shù)會(huì)導(dǎo)致帶寬減小,從而減弱讀寫(xiě)器的調(diào)制邊帶,會(huì)導(dǎo)致讀寫(xiě)器無(wú)法與卡通信。

      無(wú)線(xiàn)傳輸模塊分析

      是一無(wú)線(xiàn)通信芯片,采用FSK調(diào)制,可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無(wú)線(xiàn)通信。無(wú)線(xiàn)通信速度最高可達(dá)2Mbps,只需為單片機(jī)系統(tǒng)預(yù)留5個(gè)GPIO,1個(gè)中斷輸入引腳,就可很容易地實(shí)現(xiàn)天線(xiàn)通信的功能,非常適合用MCU系統(tǒng)構(gòu)建無(wú)線(xiàn)通信功能。

      具有收發(fā)模式,待機(jī)模式和掉電模式,四種工作模式,并由CE、寄存器內(nèi)部PWR、VP和PRIM、RX共同控制。nRF24L01所有的配置都由配置寄存器來(lái)定義,這些配置寄存器可通過(guò)SPI口訪問(wèn)。SPI接口由SCK、MOSI、MISO及CSN組成,在配置模式下單片機(jī)通過(guò)SPI接口配置nRF24L01的工作參數(shù),在發(fā)射或接收模式下單片機(jī)SPI接口發(fā)送和接收數(shù)據(jù)。

      單片機(jī)的控制指令從nRF24L01的MOSI引腳輸入,而nRF24L01的狀態(tài)信息和數(shù)據(jù)是從其MISO引腳輸出并送給單片機(jī)的。利用SPI傳輸數(shù)據(jù)時(shí),是先傳輸?shù)臀蛔止?jié),再傳輸高位字節(jié),并且在傳輸每個(gè)字節(jié)時(shí)是從高位傳起。

      六、單片機(jī)軟件系統(tǒng)工作流程

      通過(guò)使用STC-ISP軟件,STC12C5A60S2單片機(jī)可實(shí)現(xiàn)串口在線(xiàn)編程。由于現(xiàn)在大的數(shù)據(jù)計(jì)算機(jī)都不存在提供單獨(dú)的串口,所以需要USB轉(zhuǎn)RS232串口線(xiàn)。

      USB轉(zhuǎn)RS232串口設(shè)備驅(qū)動(dòng)程序的安裝

      STC-ISP V483串口下載軟件

      七、實(shí)習(xí)過(guò)程心得:

      新學(xué)期伊始,就迎來(lái)了為期四周的單片機(jī)生產(chǎn)實(shí)習(xí)。在這次生產(chǎn)實(shí)習(xí)過(guò)程中,我受益頗多。這是我們經(jīng)歷的第一次廣泛了解實(shí)際電子產(chǎn)品生產(chǎn)的全過(guò)程。從最初的設(shè)計(jì),到焊接,安裝,調(diào)試,我們都是逐一親自動(dòng)手操作完成的。在這次實(shí)習(xí)中,我們遇到了不少問(wèn)題,但正是因?yàn)橛辛诉@些問(wèn)題,才有了我們更加深入學(xué)習(xí)的機(jī)會(huì)。為了解決這些問(wèn)題,我們查資料,探討,請(qǐng)教老師,充分利用自己身邊的一切資源來(lái)學(xué)習(xí)。這樣的學(xué)習(xí)過(guò)程讓我們對(duì)所學(xué)內(nèi)容理解的更深刻,而且大大提高了我們的團(tuán)結(jié)協(xié)作能力。在實(shí)際操作焊接的過(guò)程中,我們從笨拙到熟練,動(dòng)手能力不斷提高,有了很大的進(jìn)步。這為我們以后步入工作崗位做了良好的鋪墊。

      總之,通過(guò)這次生產(chǎn)實(shí)習(xí),我受益匪淺,各方面的能力都有了提高。最后,感謝在實(shí)踐過(guò)程中悉心指導(dǎo)的每一位老師!

      第二篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      實(shí)

      習(xí)

      報(bào)

      實(shí)習(xí)名稱(chēng) :

      嵌入式系統(tǒng) 實(shí)習(xí)

      系部名稱(chēng) :

      信科院

      專(zhuān)業(yè)班級(jí):

      計(jì)本 08 -5

      學(xué)生姓名:

      陳鵬任

      學(xué)

      號(hào):

      3080417907

      指導(dǎo)教師:

      陳小琴 金紅 楊光杰

      日 日

      期:

      2010.12.18

      一. 引言

      目前,嵌入式技術(shù)已成為通信和消費(fèi)類(lèi)產(chǎn)品的共同發(fā)展方向。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車(chē)、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話(huà)、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。

      嵌入式系統(tǒng)是先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。嵌入式系統(tǒng)一般指非PC系統(tǒng)。它是以應(yīng)用為中心、軟硬件可裁減的、能適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等綜合性要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。簡(jiǎn)單地說(shuō),嵌入式系統(tǒng)是集系統(tǒng)的應(yīng)用軟件與硬件于一體,類(lèi)似于PC中BIOS的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),因此特別適合于要求實(shí)時(shí)和多任務(wù)的系統(tǒng)。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成。

      通過(guò)這次實(shí)訓(xùn),老師讓我們了解最基本的嵌入式系統(tǒng)設(shè)計(jì),開(kāi)發(fā)的流程,結(jié)合掌握所學(xué)的知識(shí),做出一個(gè)單片機(jī)與上位機(jī)通信的簡(jiǎn)單嵌入式系統(tǒng)。

      二.課題設(shè)計(jì) 1 .基本原理

      MCS-51 單片機(jī)串行口發(fā)送/接收數(shù)據(jù)時(shí),通過(guò) 2 個(gè)串行緩沖器 SBUF 進(jìn)行,這 2 個(gè)緩沖器采用一個(gè)地址(98H),但在物理上是獨(dú)立的。其中接收緩沖器只能讀出不能寫(xiě)入,發(fā)送緩沖器只能寫(xiě)入不能讀出。

      ① 發(fā)送過(guò)程,由指令 MOV SBUF,A 啟動(dòng),此時(shí)待傳送的數(shù)據(jù)由 A 累加器傳入串行發(fā)送緩沖器 SBUF,由硬件自動(dòng)在發(fā)送字符的始、末加上起始位(低電平)、停止位(高電子)及其它控制位(如奇偶位等),而后在移位脈沖的控制下,低位在前,高位在后,逐位從 TXD 端(方式 0 除外)發(fā)出。

      ② 接收過(guò)程,串行口的接收與否受制于允許接收位 REN 的狀態(tài),當(dāng) REN 被軟件置“1”后,允許接收器接收。串口的接收器以所選波特率的 16 倍速對(duì) RXD線(xiàn)進(jìn)行監(jiān)視。當(dāng)“1”到“0”跳變時(shí),檢測(cè)器連續(xù)采樣到 RXD 線(xiàn)上低電平時(shí)。便認(rèn)定 RXD 端出現(xiàn)起始位,繼而接收控制器開(kāi)始工作。在每位傳送時(shí)間的第 7、8、9 三個(gè)脈沖狀態(tài)采樣 RXD 線(xiàn),決定所接收的值為“0”或“1”。當(dāng)接收完停止位后,控制電路使中斷標(biāo)志 R1 置為“1”,此時(shí)程序可通過(guò) MOV

      A,SBUF指令將接收到的字符從 SBUF 送入累加器 A,從而完成一幀數(shù)據(jù)的接收工作。

      2.原理框架

      3.硬件電路原理 圖,對(duì)各模塊進(jìn)行分別介紹

      機(jī) LCD 顯示電路 復(fù)位電路 時(shí)鐘電路 電源電路 串行口通信電路

      3.1 液晶顯示模塊

      1602LCD 采用標(biāo)準(zhǔn)的 14 腳(無(wú)背光)或 16 腳(帶背光)接口,各引腳接口如下所示

      接口信號(hào)說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 VL 液晶顯示偏壓信號(hào) 11 D4 Data I/O 4 RS 數(shù)據(jù)/命令選擇端(H/L)D5 Data I/O 5 R/W 讀/寫(xiě)選擇端(H/L)D6 Data I/O 6 E 使能信號(hào) 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負(fù)極 用 LCD1602 液晶顯示模塊顯示字符或字符串之前必須對(duì)其進(jìn)行初始化,LCD1602 液晶顯示模塊的初始化流程如下:

      ? 5.0 初始化過(guò)程(復(fù)位過(guò)程)

      ? 5.1 延時(shí) 15ms ? 5.2 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.3 延時(shí) 5ms ? 5.4 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.5 延時(shí) 5ms ? 5.6 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.7(以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)之前均需檢測(cè)忙信號(hào))

      ? 5.8 寫(xiě)指令 38H:顯示模式設(shè)置 ? 5.9 寫(xiě)指令 38H:顯示關(guān)閉 ? 5.10 寫(xiě)指令 01H:顯示清屏 ? 5.11 寫(xiě)指令 06H:顯示光標(biāo)移動(dòng)設(shè)置 ? 5.12 寫(xiě)指令 0CH:顯示開(kāi)關(guān)及光標(biāo)位置

      表 8 LCD1602 液晶模塊內(nèi)部的控制器控制指令 指令 指令碼

      說(shuō)明

      RS

      R/W D0

      D1

      D2

      D3

      D4

      D5

      D6

      D7

      清屏

      0 0 0 0 0 0 0 0 0 1 清顯示,光標(biāo)回位

      光標(biāo)返回

      0 0 0 0 0 0 0 0 1 * ADD=0 時(shí),回原位

      輸入方式

      0 0 0 0 0 0 0 1 I/D S 決定是否移動(dòng)以及移動(dòng)方向

      顯示開(kāi)關(guān)

      0 0 0 0 0 0 1 D C B D-顯示,C-光標(biāo),B-光標(biāo)閃爍

      移位

      0 0 0 0 0 1 S/C R/L * * 移動(dòng)光標(biāo)及整體顯示

      功能設(shè)置

      0 0 0 0 1 DL N F * * DL-數(shù)據(jù)位數(shù),L-行數(shù),F-字體

      CGRAM 地址設(shè)置

      0 0 0 1 A5 A4 A3 A2 A1 A0 設(shè)置 CGRAM 的地址 DDRAM 地址設(shè)置

      0 0 1 A6 A5 A4 A3 A2 A1 A0 設(shè)置 DDRAM 的地址 忙標(biāo)志/讀地址計(jì)數(shù)器

      0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 讀出忙標(biāo)志位(BF)及 AC 值 CGRAM/DDRAM 數(shù)據(jù)寫(xiě)0 寫(xiě)數(shù)據(jù) 將內(nèi)容寫(xiě)入 RAM 中 CGRAM/DDRAM 數(shù)據(jù)讀1 讀數(shù)據(jù) 將內(nèi)容從 RAM 中讀出

      LCD1602 液晶顯示模塊可以和單片機(jī) AT89C51 直接接口,電路如下圖所示。

      RP110KGND1VDD2VO3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BL115BL216U2LCD1620X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40EA/VP31nPSENRXDTXDALEU1AT89S51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7+5VP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RWRSE+5VnWRVCCnWRnRD

      AT89S52 和 LCD1602 液晶模塊連接電路 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 9 是 LCD1602 的內(nèi)部顯示地址。即第 1 行的顯示地址應(yīng)為 80H+顯示位置,第 2 行的顯示地址應(yīng)為 40H+顯示位置。

      表 9

      LCD1602 的內(nèi)部顯示地址

      3.2 串口通信模塊 RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱(chēng)是 EIA-RS-232C 標(biāo)準(zhǔn),其中 EIA(Electronic Industry Association)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommended standard)代表推薦標(biāo)準(zhǔn),232 是標(biāo)識(shí)號(hào),C 代表 RS232 的最新一次修改,在這之前,有 RS232B、RS232A,它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。RS-232C 適合于數(shù)據(jù)傳輸速率在 0~20000b/s 范圍內(nèi)的通信。

      PC 機(jī)常用 DB-9 連接器作為提供多功能 I/O 卡或主板上 COM1 和 COM2 兩個(gè)串行接口的連接器,它只提供異步通信的 9 個(gè)信號(hào),9 針串口功能見(jiàn)表 10,并且對(duì)電纜長(zhǎng)度也有要求:

      RS-232C 標(biāo)準(zhǔn)規(guī)定,若不使用 MODEM,在碼元畸變小于 4%的情況下,DTE 和 DCE 之間最大傳輸距離為 15m(50 英尺)??梢?jiàn)這個(gè)最大的距離是在碼元畸變小于 4%的前提下給出的,為了保證碼元畸變小于 4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于 2500pF。

      表 10針串口功能一覽表 針腳 功能 針腳 功能 1 載波檢測(cè) 6 數(shù)據(jù)準(zhǔn)備完成 2 接收數(shù)據(jù) 7 發(fā)送請(qǐng)求 3 發(fā)送數(shù)據(jù) 8 發(fā)送清除 4 數(shù)據(jù)終端準(zhǔn)備完成 9 振鈴指示 5 信號(hào)地線(xiàn)

      本方案對(duì) RS-232-C 接口采用 3 線(xiàn)制(RXD、TXD、GND)軟握手的零 MODEM 方式進(jìn)行單片機(jī)和 PC 之間的數(shù)據(jù)通信,即 PC 機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線(xiàn)(TXD)與接收數(shù)據(jù)(RXD)交叉連接,二者的地線(xiàn)(GND)直接相連,其它信號(hào)線(xiàn)如握手信號(hào)線(xiàn)均不用,而采用軟件握手。但由于 RS-232-C 的邏輯電對(duì)地是對(duì)稱(chēng)的,與 TTL、MOS 邏輯電平完全不同,邏輯 0 電平規(guī)定為+5~ +15V 之間,邏輯 1 是電平為-5~-15V 之間,因此利用 MAX232芯片進(jìn)行電平轉(zhuǎn)換,電路連接如圖 11。

      C1-3V+2C2+4C2-5V-6R209D2110VCC16GND15D1014R1113R1012D1111R218D207C1+1IC2MAX232C13C12C11C10VCC162738495J232DB9 圖 RS-232-C 通信連接電路

      3.3 電源模塊 +220PFC5C60.1uFS12Vin+5VGNDU37805R81.5KD0LED123POWCON3SPD2

      充電電路

      4.軟件設(shè)計(jì) ((1)流程圖

      ((2)代碼附錄 //示 接收電腦送過(guò)來(lái)的數(shù)據(jù),并且顯示 16 進(jìn)制數(shù),并將數(shù)據(jù)回傳到電腦 腦 #include //LCD 的口線(xiàn) sbit E=P2^5;sbit RW=P3^6;sbit RS=P2^6;unsigned char recdata[28];//定義 RS232 數(shù)組 unsigned char recv_p;unsigned char bdata myflag;sbit recokbit = myflag^0;void Delay(unsigned int t);void SendCommandByte(unsigned char ch);//傳送命令 void SendDataByte(unsigned char ch);//傳送數(shù)據(jù) void InitLcd(void);//LCD 顯示 void disprec(void);//顯示 void rs232(void);void main(void)//主函數(shù) {

      InitLcd();//初始化 LCD

      myflag=0x00;//標(biāo)志痊

      SendCommandByte(0x80);//調(diào)用發(fā)送命令

      Delay(2);

      SendDataByte(“c”);//初始化顯示 CPR:

      SendDataByte(“p”);

      SendDataByte(“r”);

      SendDataByte(“:”);

      TMOD=0x20;//定時(shí)器的設(shè)置

      TH1=0xf3;//計(jì)時(shí)器

      TL1=0xf3;

      SCON=0x50;//設(shè)定串行工作方式

      TR1=1;

      REN=1;//允許中斷

      IE=0x90;//中斷允許標(biāo)志

      while(1)

      {

      if(recokbit==1)//接收數(shù)據(jù)

      {

      recokbit=0;

      disprec();

      }

      } }

      //以下為串口中斷程序 void rs232(void)interrupt 4//中斷串行口

      {

      if(RI==1)//控制電路使中斷標(biāo)志 R1 置為“1 此時(shí)程序可通過(guò) MOV

      A,SBUF 指令將接收到的字符從 SBUF 送入累加器 A,從而完成一幀數(shù)據(jù)的接收工作

      {

      RI=0;

      recdata[recv_p]=SBUF;

      SBUF=recdata[recv_p];

      recv_p++;if(recv_p>27)recv_p=0;//

      recokbit=1;//接受完成}

      } void Delay(unsigned int t)

      // delay 40us {

      for(;t!=0;t--);} //============================================= void SendCommandByte(unsigned char ch){

      RS=0;

      RW=0;

      P0=ch;

      E=1;//使能端口為 1,接收命令

      Delay(1);

      E=0;

      Delay(100);

      //delay 40us }

      //=============================================

      //-------------------------------------------------------void SendDataByte(unsigned char ch){

      TI=0;//開(kāi)始發(fā)送數(shù)據(jù)

      SBUF=ch;

      while(!TI);

      RS=1;//輸入數(shù)據(jù)

      RW=0;//為 0 時(shí)寫(xiě),1 時(shí)讀

      P0=ch;

      E=1;

      Delay(1);

      E=0;//使能信號(hào)為 0 時(shí),不能輸入

      Delay(100);//delay 40us } //-------------------------------------------------void InitLcd(void){ unsigned char i;for(i=0;i<28;i++)recdata[i]=0x30;//初始化數(shù)組 0 recv_p=0;

      SendCommandByte(0x30);

      SendCommandByte(0x30);

      SendCommandByte(0x30);

      SendCommandByte(0x38);//設(shè)置工作方式

      SendCommandByte(0x0c);//顯示狀態(tài)設(shè)置

      SendCommandByte(0x01);//清屏

      SendCommandByte(0x06);//輸入方式設(shè)置 } void disprec(void){

      unsigned char i;

      for(i=0;i<12;i++)

      {

      SendCommandByte(0x84+i);

      SendDataByte(recdata[i]);

      }

      for(i=0;i<16;i++)

      {

      SendCommandByte(0xc0+i);

      SendDataByte(recdata[i+12]);

      }

      }

      5.調(diào)試過(guò)程((1)測(cè)試數(shù)據(jù)

      采用 RS232 把 PC 機(jī)與單片機(jī)連接起來(lái),運(yùn)行上位機(jī)程序如下圖所示:

      向單片機(jī)發(fā)送信息時(shí),PC 機(jī)顯示信息重復(fù)了。

      ((2))

      數(shù)據(jù)分析

      PC 機(jī)發(fā)送的數(shù)據(jù)給單片機(jī)能正常顯示,但單片機(jī)返回給 PC 機(jī)的信息重復(fù)了,經(jīng)過(guò)反復(fù)檢查,原來(lái)是 recdata[recv_p]=SBUF;SBUF=recdata[recv_p];這語(yǔ)句重寫(xiě)了,刪了,就恢復(fù)正常通信顯示了。

      三. 結(jié)論 經(jīng)過(guò)這次嵌入式系統(tǒng)實(shí)訓(xùn),熟悉了單片機(jī)設(shè)計(jì),開(kāi)發(fā)的流程,在楊琴老師,金紅老師,楊光杰老師的辛勤指導(dǎo)下,在和組員龐卡努力下,從最初的元件領(lǐng)取,電路焊接,利用 PROTEL99 畫(huà)電路原理圖,到代碼的編寫(xiě),我負(fù)責(zé)下位機(jī)程序,龐卡負(fù)責(zé)上位機(jī)的程序,經(jīng)過(guò)我們的共同努力,加上各位老師的指導(dǎo),終于在老師規(guī)定的時(shí)間內(nèi)完成了單片機(jī)與上位機(jī)的通信。

      這次嵌入式系統(tǒng)實(shí)訓(xùn),學(xué)習(xí)了嵌入式系統(tǒng)簡(jiǎn)單開(kāi)發(fā)流程,加深所學(xué)知識(shí)的理解。

      第三篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      重慶城市管理職業(yè)學(xué)院

      信息工程學(xué)院

      單片機(jī)實(shí)習(xí)報(bào)告

      專(zhuān)業(yè)班級(jí)電子A0801

      學(xué)號(hào)0401080112

      姓名呂爽

      組號(hào)第一組

      實(shí) 驗(yàn) 室 單片機(jī)實(shí)訓(xùn)室

      成績(jī)?cè)u(píng)定

      老師簽名

      2009年 12月 25日

      實(shí)訓(xùn)課題:99數(shù)字跑表

      實(shí)訓(xùn)目的:通過(guò)實(shí)驗(yàn)掌握顯示的接口電路及程序設(shè)計(jì),熟悉各種操作指令,子程序的調(diào)用以及中斷知識(shí)和計(jì)數(shù)器的計(jì)數(shù)

      實(shí)訓(xùn)原理:通過(guò)把設(shè)計(jì)好的程序利用軟件將編譯得到HEX格式文件加載到單片機(jī)芯片中,實(shí)現(xiàn)仿真電路,得到仿真電路結(jié)果。

      實(shí)驗(yàn)儀器:電腦,Keil軟件,Proteus軟件

      實(shí)訓(xùn)要求:(1)四位LED數(shù)碼管動(dòng)態(tài)顯示,顯示最小時(shí)間為0.01秒,最多顯示時(shí)間99秒;

      (2)由按鍵控制,第一次按下鍵,開(kāi)始計(jì)時(shí),第二次按下鍵,停止計(jì)時(shí),第三次按下鍵,清零。

      在Keil軟件中,新建一個(gè)項(xiàng)目,命名為跑表,然后根據(jù)程序流程圖和仿真電路圖編寫(xiě)程序。調(diào)試程序,檢查程序是否有誤,保存。得程序如下:

      編寫(xiě)程序

      ORG0000H

      LJMPMAIN

      ORG0003H

      LJMPL1

      ORG0030H

      /*開(kāi)始程序*/

      MAIN:SETBIT0

      SETBP1.0;至高電頻

      SETBEA;開(kāi)中斷控制位

      SETBEX0;開(kāi)外部中斷0

      MOVDPTR,#TAB;將TAB所代表的地址送入DPTR

      MOV30H,#0

      MOV40H,#0

      MOVR1,#0

      /*判斷R1,然后進(jìn)行判斷*/

      L4:JBP1.0,L14;P1.0的值為1,則轉(zhuǎn)移至L14

      INCR1;R1加1

      SETBP1.0

      L14:MOVR3,#2

      /*使時(shí)間達(dá)到0.01秒*/

      L9:ACALLL3;絕對(duì)調(diào)用L3程序

      ACALLL2

      DECR3;寄存器減1

      CJNER3,#0,L9

      /*當(dāng)按一次開(kāi)關(guān)時(shí)進(jìn)行跑秒*/

      CJNER1,#1,L5;寄存器R1中的值不為1,則轉(zhuǎn)移到L5

      MOVA,30H

      ADDA,#1

      DAA

      CJNEA,#99H,L6

      ACALLL7

      CLRA

      L6:MOV30H,A

      /*當(dāng)再一次按鍵時(shí),暫停*/

      L5:CJNER1,#2,L10

      SJMPL4;轉(zhuǎn)移到L4

      /*當(dāng)繼續(xù)按鍵時(shí),清零*/

      L10: CJNER1,#3,L11

      MOV30H,#0

      MOV40H,#0

      MOVR1,#0

      L11: SJMPL4

      /*跑秒顯示后兩位*/

      L2:

      CLRP2.3

      MOVA,30H

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.3

      CLRP2.2

      MOVA,30H

      SWAPA

      ANLA,#0FH

      MOVC A,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.2/*跑秒顯示前兩位*/

      CLRP2.1

      MOVA,40H

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALL L3

      SETB P2.1

      CLRP2.0

      MOVA,20H

      SWAP A

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.0

      RET

      /*顯示用的時(shí)間*/

      l3: MOVR7,#250

      J0: NOP;延遲一個(gè)機(jī)器周期的時(shí)間

      NOP

      DJNZR6,J0;寄存器減1不為0,轉(zhuǎn)移到J0

      RET

      /*終端打開(kāi)*/

      L1: CLR EA

      CLR P1.0

      SETBEA

      RETI

      /*秒位顯示*/

      L7: MOVA,40H

      ADDA,#1

      DAA

      CJNEA,#99H,L8

      CLR A

      L8: MOV40H,A

      RET

      TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

      END

      四:檢查程序是否有誤,然后修改,并將無(wú)誤的程序保存編譯為HEX格式文件,然后加載到單片機(jī)芯片中,查看電路,觀看仿真電路結(jié)果.得到課題要求的結(jié)果。

      五、實(shí)訓(xùn)小結(jié)

      1)通過(guò)實(shí)訓(xùn),我們自己動(dòng)手分析設(shè)計(jì)程序加深了對(duì)知識(shí)的理解和對(duì)指令的運(yùn)用。

      2)通過(guò)對(duì)程序的編譯和電路的仿真,使我們能夠更直觀得看到程序運(yùn)行的結(jié)果。

      3)通過(guò)實(shí)訓(xùn)與所學(xué)知識(shí)的結(jié)合,提高我們動(dòng)手的能力和對(duì)技能的熟悉。強(qiáng)化了我們得專(zhuān)業(yè)技能,能更好的運(yùn)用所學(xué)知識(shí)。

      第四篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      1602液晶顯示設(shè)計(jì)

      一、實(shí)驗(yàn)簡(jiǎn)介:

      通過(guò)學(xué)習(xí)本門(mén)課程,能夠掌握利用51單片機(jī)完成簡(jiǎn)單項(xiàng)目的應(yīng)用系統(tǒng)設(shè)計(jì)和調(diào)試,掌握單片機(jī)應(yīng)用程序的編寫(xiě)和調(diào)試過(guò)程。本次實(shí)習(xí),我的題目是用51單片機(jī)控制1602液晶顯示指定字符的設(shè)計(jì),需要分別設(shè)計(jì)系統(tǒng)的硬件電路及調(diào)試軟件程序,并能夠正確演示調(diào)試結(jié)果。

      二、實(shí)驗(yàn)要求:

      1、查找資料學(xué)習(xí)單片機(jī)的LCD點(diǎn)陣顯示原理;

      2、理解KST-51的LCD點(diǎn)陣顯示電路圖;

      3、編制程序在點(diǎn)陣LCD上實(shí)現(xiàn)字母:我愛(ài)單片機(jī)繪制原理圖;

      4、完成實(shí)驗(yàn)報(bào)告的撰寫(xiě)。

      三、硬件電路:

      (一)89C52系列單片機(jī)

      89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它內(nèi)置8位中央處理單元、512字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過(guò)兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。

      1、單片機(jī)最小系統(tǒng)

      KST-51單片機(jī)開(kāi)發(fā)板

      最小系統(tǒng)是指單片機(jī)正常工作的最基本的外圍配置,主要包括時(shí)鐘電路、復(fù)位電路等。

      51單片機(jī)最小系統(tǒng)是利用XTAL1和XTAL2兩個(gè)引腳外接晶體振蕩器的內(nèi)部時(shí)鐘方式,C1和C2的作用是穩(wěn)定頻率和快速起振,典型值為30pf,晶體振蕩器的振蕩頻率典型值為6 MHZ、12 MHZ或者11.0592 MHZ,系統(tǒng)與PC通信時(shí)常采用11.0592MHZ。

      復(fù)位電路設(shè)計(jì)形式包括:上電復(fù)位、按鍵復(fù)位、和利用專(zhuān)業(yè)的復(fù)位芯片進(jìn)行管理,本次設(shè)計(jì)采用按鍵復(fù)位方式。

      51單片機(jī)最小系統(tǒng)

      2、單片機(jī)引腳功能

      51系列單片機(jī)有40個(gè)引腳,包括2個(gè) 電源引腳,2個(gè)外界晶振引腳,4個(gè)控制或 其他電源復(fù)用引腳,32個(gè)I/O引腳。1)主電源引腳(2根)VCC(Pin40):電源輸入,接+5V電源 GND(Pin20):接地線(xiàn) 2)外接晶振引腳(2根)

      XTAL1(Pin19)、XTAL2(Pin18)主要用來(lái)構(gòu)成單片機(jī)的時(shí)鐘電路。時(shí)鐘電路用來(lái)產(chǎn)生單片機(jī)工作所需的時(shí)鐘信號(hào)。時(shí)鐘信號(hào)分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。3)控制引腳(4根)

      RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。

      ALE/PROG(Pin30):地址鎖存允許信號(hào) PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)

      EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。4)輸入/輸出引腳(32根)

      P0口是一個(gè)雙功能的8位并行口,可以用做地址/數(shù)據(jù)總線(xiàn),另外P0口還可以作為通用I/O口使用,此時(shí)為準(zhǔn)雙向口,且內(nèi)部無(wú)上拉電阻。

      P1口是單功能的I/O口,只能作為通用的I/O口使用,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻。

      P2口是一個(gè)雙功能口,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻,P2口功能主要有一下兩個(gè)方面:一是作為高8位地址輸出線(xiàn)使用時(shí),P2口可以輸出外部存儲(chǔ)器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址,可以尋址64位的地址空間;二是作為通用I/O口使用時(shí),與P1口使用方法一樣。

      P3口作為通用I/O口時(shí)使用方法與P1一樣。另外,P3口主要作為第二功能使用。

      (二)1602字符液晶

      P3口第二功能表

      字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個(gè)字符。字符液晶絕大多數(shù)是基于HD44780液晶芯片的。

      1602實(shí)物圖 1、1602LCD的特性

      ? +5V電壓,對(duì)比度可調(diào) ? 內(nèi)含復(fù)位電路

      ? 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能

      ? 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM ? 內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM ? 8個(gè)可由用戶(hù)自定義的5X7的字符發(fā)生器CGRAM

      2、字符型LCD1602接口 引腳2、1為1602的電源和地,引腳15、16 為背光電源,引腳4、5、6為控制端口,引腳7-14為 數(shù)據(jù)端口,以下為各個(gè)端口的詳細(xì)介紹。3、1602存儲(chǔ)器

      HD44780內(nèi)置了DDRAM(顯示數(shù)據(jù)存儲(chǔ)RAM)、CGROM(字符存儲(chǔ)ROM)和CGRAM(用戶(hù)自定義RAM)。

      DDRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下表:

      在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即0X80+0x00,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即 0X80+0x01。以此類(lèi)推。

      字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如下表所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常 用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。4、1602指令表

      對(duì)DDRAM的內(nèi)容和地址操作,HD44780的指令集及其設(shè)置說(shuō)明,共有11條指令: 1)清屏指令

      功能:<1> 清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的字符碼20H;<2> 光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;<3> 將地址計(jì)數(shù)器(AC)的值設(shè)為0。

      2)光標(biāo)歸位指令

      功能:<1> 把光標(biāo)撤回到顯示器的左上方;<2> 把地址計(jì)數(shù)器(AC)的值設(shè)置為0;<3> 保持DDRAM的內(nèi)容不變 3)輸入模式設(shè)置指令

      功能:設(shè)定每次寫(xiě)入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫(xiě)入的一個(gè)字符是否移動(dòng)。參數(shù)設(shè)定的情況如下所示: 位名 設(shè)置

      I/D 0=寫(xiě)入新數(shù)據(jù)后光標(biāo)左移 1=寫(xiě)入新數(shù)據(jù)后光標(biāo)右移

      S 0=寫(xiě)入新數(shù)據(jù)后顯示屏不移動(dòng) 1=寫(xiě)入新數(shù)據(jù)后顯示屏整體右移1個(gè)字 4)顯示開(kāi)關(guān)控制指令

      功能:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。參數(shù)設(shè)定的情況如下:

      位名 設(shè)置 D 0=顯示功能關(guān) 1=顯示功能開(kāi) C 0=無(wú)光標(biāo) 1=有光標(biāo) B 0=光標(biāo)不閃爍 1=光標(biāo)閃爍 5)設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令

      功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。參數(shù)設(shè)定的情況如下: S/C R/L 設(shè)定情況

      0 0 光標(biāo)左移1格,且AC值減1 0 1 光標(biāo)右移1格,且AC值加1 1 0 顯示器上字符全部左移一格,但光標(biāo)不動(dòng) 1 1 顯示器上字符全部右移一格,但光標(biāo)不動(dòng) 6)功能設(shè)定指令

      功能:設(shè)定數(shù)據(jù)總線(xiàn)位數(shù)、顯示的行數(shù)及字型。參數(shù)設(shè)定的情況如下: 位名 設(shè)置

      DL 0=數(shù)據(jù)總線(xiàn)為4位 1=數(shù)據(jù)總線(xiàn)為8位 N 0=顯示1行 1=顯示2行 F 0=5×7點(diǎn)陣/每字符 1=5×10點(diǎn)陣/每字符 7)設(shè)定CGRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。8)設(shè)定DDRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。9)讀取忙信號(hào)或AC地址指令

      功能:<1> 讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;<2> 讀取地址計(jì)數(shù)器(AC)的內(nèi)容。10)數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令

      功能:<1> 將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;<2> 將用戶(hù)自己設(shè)計(jì)的圖形存入CGRAM。11)從CGRAM或DDRAM讀出數(shù)據(jù)的指令

      功能:讀取DDRAM或CGRAM中的內(nèi)容。

      5、時(shí)序圖

      (1)讀狀態(tài) 輸入:RS=0,RW=1,E=1 讀數(shù)據(jù) 輸入:RS=1,RW=1,E=1(2)寫(xiě)指令 輸入:RS=0,RW=0,E=下降沿脈沖,DB0~DB7=指令碼 寫(xiě)數(shù)據(jù) 輸入:RS=1,RW=0,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)

      四、實(shí)習(xí)結(jié)果與討論:

      通過(guò)程序的編輯在1602型LCD上實(shí)現(xiàn)了顯示英文字符,通過(guò)本次實(shí)驗(yàn)的學(xué)習(xí)進(jìn)一步熟悉了1602型LCD,對(duì)其操作有了更多的心得體會(huì),在本次實(shí)驗(yàn)中獲益匪淺。

      五、實(shí)驗(yàn)程序: #include #include #define uchar unsigned char #define uint unsigned int

      sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;

      uchar code dis1[] = {“woai danpianji”};uchar code dis2[] = {“huizhi yuanlitu”};uchar code dis3[] = {“chen jian”};uchar code dis4[] = {“ dianzihua 1101 ”};

      void delay(int ms){ int i;while(ms--){ for(i = 0;i< 250;i++){ _nop_();_nop_();_nop_();_nop_();} } }

      bit lcd_busy(){ bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();result =(bit)(P0&0x80);LCD_EN = 0;return result;} void lcd_wcmd(uchar cmd){ while(lcd_busy());LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_wdat(uchar dat){ while(lcd_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_pos(uchar pos){ lcd_wcmd(pos|0x80);//數(shù)據(jù)指針=80+地址變量 }

      void lcd_init(){ lcd_wcmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x0c);//顯示開(kāi),關(guān)光標(biāo) delay(5);lcd_wcmd(0x06);//移動(dòng)光標(biāo) delay(5);lcd_wcmd(0x01);//清除LCD的顯示內(nèi)容 delay(5);}

      void flash(){ delay(600);//控制停留時(shí)間 lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);//延時(shí) lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);} main(){ uchar i;delay(10);lcd_init();// 初始化LCD

      while(1){ lcd_wcmd(0x06);//向右移動(dòng)光標(biāo)

      lcd_pos(0);//設(shè)置顯示位置為第一行的第1個(gè)字符 i = 0;while(dis1[i]!= '