• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)

      2016-03-10 15:31:26明鑫盧丹萍
      廣西教育·C版 2016年1期
      關(guān)鍵詞:實(shí)驗(yàn)課

      明鑫 盧丹萍

      【摘 要】針對(duì)單片機(jī)課程設(shè)計(jì)這門課程傳統(tǒng)實(shí)驗(yàn)方式的不足之處,設(shè)計(jì)了一種新的實(shí)驗(yàn)項(xiàng)目;圍繞“單片機(jī)系統(tǒng)設(shè)計(jì)方法”這一主線,從計(jì)算器系統(tǒng)電路的構(gòu)成、仿真圖的繪制、程序的編寫、印制電路板的設(shè)計(jì)等方面對(duì)新項(xiàng)目的實(shí)施做了詳細(xì)分析。

      【關(guān)鍵詞】單片機(jī)課程設(shè)計(jì) 計(jì)算器系統(tǒng) 實(shí)驗(yàn)課

      【中圖分類號(hào)】G 【文獻(xiàn)標(biāo)識(shí)碼】A

      【文章編號(hào)】0450-9889(2016)01C-0163-03

      單片機(jī)課程設(shè)計(jì)作為單片機(jī)原理課程的延伸,是一門以學(xué)生動(dòng)手實(shí)踐為主的實(shí)驗(yàn)課。本課程在傳統(tǒng)的教學(xué)中一般會(huì)以單片機(jī)實(shí)驗(yàn)箱作為操作的平臺(tái)。教師設(shè)計(jì)一個(gè)綜合的實(shí)驗(yàn)項(xiàng)目,學(xué)生在實(shí)驗(yàn)箱上完成線路的連接程序的調(diào)試運(yùn)行等操作,之后學(xué)生完成設(shè)計(jì)報(bào)告。單片機(jī)實(shí)驗(yàn)箱內(nèi)模塊眾多、接線雜亂,與實(shí)際應(yīng)用不符,不利于學(xué)生理解和掌握單片機(jī)控制系統(tǒng)的設(shè)計(jì)過(guò)程及調(diào)試方法。因此在單片機(jī)課程設(shè)計(jì)中有必要引入一種新的實(shí)驗(yàn)形式。該實(shí)驗(yàn)項(xiàng)目作為單片機(jī)課程設(shè)計(jì)的一個(gè)綜合實(shí)驗(yàn)內(nèi)容,既要做到有別于單片機(jī)原理課程的驗(yàn)證性實(shí)驗(yàn),又要做到理論聯(lián)系實(shí)際,具有一定的實(shí)用價(jià)值,還要能夠體現(xiàn)單片機(jī)系統(tǒng)開(kāi)發(fā)的流程,激發(fā)學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)生的動(dòng)手能力。

      鑒于此,開(kāi)發(fā)了一個(gè)“計(jì)算器的設(shè)計(jì)”項(xiàng)目作為單片機(jī)課程設(shè)計(jì)的教學(xué)內(nèi)容。本項(xiàng)目的要求如下:設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,能實(shí)現(xiàn)8位數(shù)之內(nèi)的加減乘除運(yùn)算,并要求學(xué)生按照單片機(jī)控制系統(tǒng)的開(kāi)發(fā)流程,完成電路的仿真、程序的編寫、電路圖繪制、PCB板制作、焊接調(diào)試等工作。

      一、計(jì)算器項(xiàng)目總體設(shè)計(jì)

      為了實(shí)現(xiàn)計(jì)算器的功能,本系統(tǒng)應(yīng)由單片機(jī)、輸入模塊、顯示模塊、聲光提示模塊和電源模塊幾部分構(gòu)成,其組成框圖如圖1所示。

      (一)控制器的選擇

      本項(xiàng)目中選取STC90C58RD+單片機(jī)作為控制器。STC90C58RD+與AT89C51完全兼容,可直接替換。前者具備高達(dá)1280Btye的SRAM,32K字節(jié)flash存儲(chǔ)器,29K字節(jié)EEPROM,更高的可靠性及更低的功耗,使得它被越來(lái)越多的單片機(jī)開(kāi)發(fā)者選用。

      (二)顯示模塊的設(shè)計(jì)

      單片機(jī)系統(tǒng)的輸出顯示部分,可以選用液晶屏或者數(shù)碼管。液晶屏價(jià)格相對(duì)較貴,驅(qū)動(dòng)程序編寫較復(fù)雜,而數(shù)碼管具有價(jià)格低廉、驅(qū)動(dòng)電路簡(jiǎn)單、控制程序容易編寫等特點(diǎn)。而且本設(shè)計(jì)要求完成8位數(shù)范圍內(nèi)的計(jì)算,因此使用8位數(shù)碼管作為顯示器件。

      (三)輸入模塊的設(shè)計(jì)

      按鍵作為單片機(jī)系統(tǒng)人機(jī)交互的輸入部分,有獨(dú)立式按鍵和行列式按鍵之分。獨(dú)立式按鍵占用單片機(jī)的IO口資源較多,不選用。本計(jì)算器項(xiàng)目中,需要輸入0-9的數(shù)字鍵以及代表各種運(yùn)算操作的按鍵,需要按鍵數(shù)量多,因此選用行列式鍵盤。行列式鍵盤通過(guò)對(duì)行線和列線的電平狀態(tài)的組合來(lái)判斷哪個(gè)鍵被按下,可以用較少的IO口得到較多的按鍵。在本設(shè)計(jì)中采用4×4的行列式按鍵。

      (四)聲光提示模塊的設(shè)計(jì)

      本設(shè)計(jì)中需要在按鍵按下時(shí)發(fā)出“嘀”提示音,而且在運(yùn)算結(jié)果溢出的時(shí)候發(fā)出聲光提示。溢出選用最常用的蜂鳴器和發(fā)光二極管作為聲光提示模塊。

      二、計(jì)算器項(xiàng)目的仿真

      在電路實(shí)際制作之前的仿真是單片機(jī)系統(tǒng)開(kāi)發(fā)過(guò)程中一個(gè)非常重要的環(huán)節(jié),通過(guò)仿真能夠驗(yàn)證設(shè)計(jì)方案是否可行。本設(shè)計(jì)是一個(gè)單片機(jī)系統(tǒng),既有電路的仿真又有程序的仿真,因此選用Proteus軟件進(jìn)行系統(tǒng)仿真。

      仿真軟件Proteus是英國(guó)Lab Center Electronics公司研制的EDA軟件。它不但和普通仿真軟件一樣能夠仿真模擬電路,最大的特色是能夠仿真單片機(jī)及外圍器件,能進(jìn)行代碼調(diào)試。

      學(xué)生熟練掌握本軟件的使用,對(duì)完成單片機(jī)項(xiàng)目的設(shè)計(jì)開(kāi)發(fā)有較大的促進(jìn)作用。

      (一)仿真電路設(shè)計(jì)

      1.單片機(jī)最小系統(tǒng)仿真電路設(shè)計(jì)

      單片機(jī)的最小系統(tǒng)指單片機(jī)工作的、由最少的電路構(gòu)成的系統(tǒng),包括晶振電路和復(fù)位電路。晶振X1和兩個(gè)瓷片電容C1、C2構(gòu)成了單片機(jī)的時(shí)鐘電路。手動(dòng)復(fù)位按鍵、電解電容C3和電阻R2構(gòu)成單片機(jī)的上電復(fù)位和手動(dòng)復(fù)位電路。

      2.顯示模塊仿真電路設(shè)計(jì)

      數(shù)碼管的驅(qū)動(dòng)由斷碼驅(qū)動(dòng)和位選端驅(qū)動(dòng)構(gòu)成。單片機(jī)的P0口用于輸出數(shù)碼管的段碼。由于P0口是標(biāo)準(zhǔn)的雙向IO口,內(nèi)部沒(méi)有上拉電阻,因此P0口連了一個(gè)1K的排阻RP1。P2口的8個(gè)引腳用于控制8個(gè)數(shù)碼管的位選端,分別經(jīng)過(guò)Q2-Q9這8個(gè)三極管驅(qū)動(dòng)8位數(shù)碼管。

      3.輸入模塊仿真電路設(shè)計(jì)

      單片機(jī)的P1口連接一個(gè)4×4的行列式鍵盤。P1口的低4位作為行列式鍵盤的4條列線,高4位作為行列式鍵盤的4條行線。

      4.聲光提示模塊仿真電路設(shè)計(jì)

      聲光提示電路由一個(gè)發(fā)光二極管和一個(gè)蜂鳴器構(gòu)成。蜂鳴器由NPN型三極管Q1驅(qū)動(dòng)。當(dāng)系統(tǒng)上電時(shí)P3.6引腳為高電平,三極管截止,蜂鳴器不會(huì)誤動(dòng)作。當(dāng)需要蜂鳴器發(fā)出聲音時(shí)置P3.6引腳為低電平即可。發(fā)光二極管有P3.3引腳控制,低電平有效。

      綜上各個(gè)模塊,此計(jì)算器系統(tǒng)完整的仿真電路如圖2所示:

      (二)計(jì)算器程序設(shè)計(jì)

      計(jì)算器項(xiàng)目的控制程序在Keil C軟件中完成。Keil 是一款針對(duì)51單片機(jī)內(nèi)核的集成編譯環(huán)境,具有很高的編譯效率。

      1.程序設(shè)計(jì)思路

      本程序主要完成3方面的任務(wù):掃描數(shù)碼管、掃描按鍵、處理按鍵;因此編制了兩個(gè)獨(dú)立的函數(shù)Display( )和KeyBoard( )完成掃描數(shù)碼管和掃描按鍵的功能。為了在按下不同的鍵值的時(shí)候完成不同的功能,使用了switch語(yǔ)句,這樣程序的結(jié)構(gòu)會(huì)比較清晰。

      在主程序里面定義了以下幾個(gè)變量:

      unsigned char Key,InputCnt,LastOpt。

      unsigned long Result,InputData。

      變量Key用于暫存當(dāng)前按下去的鍵值。

      變量InputCnt用于存放輸入數(shù)字的個(gè)數(shù),當(dāng)輸入數(shù)字超過(guò)8個(gè)時(shí)就不能接收這個(gè)數(shù)字,并報(bào)警提示;

      變量LastOpt用于存放前一次輸入的運(yùn)算類型。因?yàn)榘聪录?、減、乘、除中某種運(yùn)算的時(shí)候,計(jì)算器做的并不是當(dāng)前的這種運(yùn)算類型,而是前一次按下的運(yùn)算類型。

      變量Result用于存放運(yùn)算的結(jié)果。由于計(jì)算器可以進(jìn)行連續(xù)的多次運(yùn)算,Result的值是會(huì)在每次運(yùn)算之后改變的。

      變量InputData用于保存輸入的操作數(shù),并作按下某種運(yùn)算的按鍵后與Result的值進(jìn)行相應(yīng)的運(yùn)算,把結(jié)果保存到Result里面。

      2.主程序設(shè)計(jì)

      程序的流程圖如圖3所示。

      系統(tǒng)上電后首先進(jìn)行系統(tǒng)初始化,對(duì)各個(gè)變量賦初值。然后調(diào)用按鍵函數(shù),判斷是否有鍵按下。若無(wú)按鍵按下則掃描數(shù)碼管,接下來(lái)再次掃描按鍵。

      若有按鍵按下,則會(huì)出現(xiàn)3種情況。第一種情況,按下的為數(shù)字鍵“0-9”,而且輸入數(shù)字的位數(shù)InputCnt小于8的話,就把按下去的鍵值接收到變量InputData里面,更新一次顯示緩沖區(qū),讓數(shù)碼管顯示輸入的數(shù)字。如果InputCnt大于等于8,說(shuō)明輸入數(shù)字的位數(shù)已經(jīng)達(dá)到最大不能再輸入了,并發(fā)出報(bào)警提示;第二種情況,按下的鍵為“加、減、乘、除、等于”鍵,則根據(jù)LastOpt的取值把變量Result和InputData的值進(jìn)行運(yùn)算,并把結(jié)果存放到Result里面。同時(shí)更新一次顯示緩沖區(qū),讓數(shù)碼管顯示運(yùn)算的結(jié)果;第三種情況,按下的鍵為清零鍵“C”,則給各個(gè)變量重新賦初值,顯示緩沖區(qū)清零,準(zhǔn)備開(kāi)始下一次計(jì)算。

      3.子程序分析

      在程序中調(diào)用了幾個(gè)子函數(shù),這幾個(gè)子函數(shù)的邏輯關(guān)系如圖4所示。

      函數(shù)原型: void FillDispBuf(ulong a)

      函數(shù)功能: 把ulong a這個(gè)數(shù)處理后存入顯示緩沖區(qū)。若a沒(méi)有超過(guò)8位十進(jìn)制數(shù)的范圍則把它拆分后直接存入顯示緩沖區(qū)即全局?jǐn)?shù)組DispBuf[8];若a超過(guò)這個(gè)范圍則需要在數(shù)碼管顯示“Error”,因此需要把這幾個(gè)字形的段碼存入DispBuf[8]。

      函數(shù)原型: uchar KeyBoard(void)

      函數(shù)功能: 讀取4×4行列式鍵盤的鍵值。若有按鍵按下則返回0- 15之間的某個(gè)鍵值,若無(wú)按鍵按下則返回21。

      函數(shù)原型: void Display(void)

      函數(shù)功能: 掃描8位數(shù)碼管。全局?jǐn)?shù)組uchar DispBuf[8]為顯示緩沖區(qū)。本函數(shù)把數(shù)組DispBuf[8]里面的8個(gè)元素的數(shù)值在8個(gè)數(shù)碼管上顯示出來(lái)。

      函數(shù)原型: void DelayMs(uint j)

      函數(shù)功能: 延時(shí)N毫秒,參數(shù) j 表示需要延時(shí)的時(shí)間為j毫秒。

      在實(shí)驗(yàn)的過(guò)程中,只要把幾個(gè)子函數(shù)的代碼及相應(yīng)功能告訴學(xué)生,學(xué)生就能在此基礎(chǔ)上進(jìn)行頂層代碼的編寫調(diào)試。如果學(xué)生時(shí)間充裕,也可自己編寫以上幾個(gè)子函數(shù)的代碼。

      三、計(jì)算器實(shí)物的制作及調(diào)試

      本項(xiàng)目的設(shè)計(jì)內(nèi)容在仿真軟件中驗(yàn)證通過(guò)之后,就是實(shí)物電路的制作。電路圖原理圖和PCB圖的設(shè)計(jì)在PROTEL99SE中完成。

      本設(shè)計(jì)所需元件清單如表1所示。實(shí)驗(yàn)室為每個(gè)學(xué)生準(zhǔn)備一套對(duì)應(yīng)的元器件。

      為了更好的讓學(xué)生掌握單片機(jī)系統(tǒng)開(kāi)發(fā)的流程,后續(xù)的實(shí)驗(yàn)有3種方式可以進(jìn)行,每個(gè)學(xué)生可根據(jù)自己的實(shí)際情況選擇。

      A:學(xué)生可根據(jù)原理圖和元件清單中的元器件,在萬(wàn)用板上自己焊接這個(gè)電路。直到電路調(diào)試成功,并下載程序運(yùn)行。

      B:學(xué)生可根據(jù)電路原理圖繪制PCB電路板,并在實(shí)驗(yàn)中完成電路板的轉(zhuǎn)印、腐蝕、鉆孔等操作,然后焊接元器件并調(diào)試運(yùn)行。

      C:實(shí)驗(yàn)室通過(guò)專業(yè)的電路板工廠把“計(jì)算器項(xiàng)目”的PCB板加工出來(lái)。并且把此電路板及配套的元器件分發(fā)給學(xué)生焊接調(diào)試。統(tǒng)一生產(chǎn)出來(lái)的電路板及元器件套件如圖5所示。

      最終學(xué)生都能制作出一個(gè)調(diào)試成功的實(shí)物計(jì)算器。

      通過(guò)對(duì)單片機(jī)課程設(shè)計(jì)新實(shí)驗(yàn)項(xiàng)目的實(shí)施,改變了本課程的教學(xué)組織形式,激發(fā)了學(xué)生的興趣,增強(qiáng)了學(xué)生的動(dòng)手能力。學(xué)生在完成“計(jì)算器設(shè)計(jì)”項(xiàng)目的過(guò)程中掌握了單片機(jī)系統(tǒng)的設(shè)計(jì)方法以及調(diào)試技巧。實(shí)踐表明這樣的方式收到了良好的效果,具有較大推廣價(jià)值。

      【參考文獻(xiàn)】

      [1]代芬,王衛(wèi)星,鄧小玲,等.單片機(jī)綜合實(shí)驗(yàn)開(kāi)發(fā)板設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索2010,29(8)

      [2]林祥果.高職單片機(jī)課程設(shè)計(jì)與教學(xué)實(shí)踐[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,18(01)

      [3]潘談.基于STC89C58芯片的小型GPS船舶航跡儀的設(shè)計(jì)[J].船舶科學(xué)技術(shù),20=14,36(12)

      [4]袁芳,江偉,陳冬等.籃球比賽場(chǎng)地計(jì)時(shí)計(jì)分系統(tǒng)的設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2014,33(11)

      [5]王海燕,楊艷華.Proteus和Keil軟件在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,201,31(5)

      [6]包建華,張興奎,丁啟勝.模塊化單片機(jī)實(shí)驗(yàn)系統(tǒng)的研制[J].電氣電子教學(xué)學(xué)報(bào),2010,32(6)

      [7]丁春霞.基于51單片機(jī)的LCD數(shù)字鐘設(shè)計(jì)與制作[J].中國(guó)科技信息,2013(18)

      猜你喜歡
      實(shí)驗(yàn)課
      密林深處——“從寫生到創(chuàng)作”的水墨實(shí)驗(yàn)課
      有趣的實(shí)驗(yàn)
      高中化學(xué)實(shí)驗(yàn)課常見(jiàn)氣體的制備與實(shí)驗(yàn)設(shè)計(jì)
      “自由”的實(shí)驗(yàn)課
      上實(shí)驗(yàn)課
      高中化學(xué)實(shí)驗(yàn)課改進(jìn)和實(shí)踐及其效果評(píng)價(jià)
      在解析幾何教學(xué)中引入數(shù)學(xué)實(shí)驗(yàn)課的理論探討
      創(chuàng)新策略在高中生物實(shí)驗(yàn)課中的應(yīng)用
      散文百家(2014年11期)2014-08-21 07:17:12
      關(guān)于病理學(xué)多媒體及實(shí)驗(yàn)課教學(xué)的實(shí)踐與思考
      提高微生物學(xué)實(shí)驗(yàn)課教學(xué)效果的探索與分析
      河南科技(2014年14期)2014-02-27 14:12:22
      长海县| 喜德县| 牡丹江市| 临安市| 梧州市| 西林县| 靖远县| 泾川县| 阿拉善盟| 菏泽市| 兴宁市| 安岳县| 志丹县| 拉萨市| 青河县| 卓尼县| 虎林市| 元江| 永寿县| 阿合奇县| 涞水县| 康马县| 东莞市| 宁明县| 丹寨县| 荆州市| 集安市| 通海县| 兰考县| 定州市| 巴南区| 张家港市| 吐鲁番市| 浑源县| 太康县| 台北市| 沈丘县| 会宁县| 岫岩| 晴隆县| 安图县|