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

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

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

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

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

      單片機課程設計資料袋

      時間:2019-05-15 00:20:26下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《單片機課程設計資料袋》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《單片機課程設計資料袋》。

      第一篇:單片機課程設計資料袋

      課程設計說明書

      課程名稱:

      單片機課程設計

      設計題目: 255計數(shù),50000計數(shù),出租車計費 專

      業(yè): 電氣工程及其自動化 班級:電氣080

      2學生姓名: 易鳴 學

      號: 0812180203 指導教師: 石偉

      湖南工業(yè)大學科技學院教務部 制

      2011年 5月 24日 設計思路、程序與仿真圖

      50000計數(shù)

      1.1設計思路

      0-50000計數(shù):由于DIV AB指令中A B均為8為位寄存器,因此255二進制轉十進制計數(shù)的方法不能用于0-50000的循環(huán)計數(shù)??筛鶕?jù)TH0或TH1中每一個二進制‘1’代表十進制的256,再和TL0或TL1按前一步二轉十的方法轉換得到百.十.個相加,即可完成16位二進制轉十進制。

      仿真圖:

      萬位千位百位十位個位U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617U3:F***04818XTAL2U3:E109RSTU3:D12293031PSENALEEAU3:C57404612345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U2123ABCY0Y1Y2Y3Y4Y5Y6Y7***0973U3:B4740417404U3:A2645E1E2E374HC138 程序:

      ORG 0000H

      SJMP MAIN

      ORG 0040H MAIN:

      MOV TMOD,#50H

      ;定時器T1初始化

      MOV TL1,#0FFH

      ;存儲空間初始化

      MOV 70H,#00H

      ;保存?zhèn)€位

      MOV 71H,#00H

      ;保存十位

      MOV 72H,#00H

      ;保存百位

      MOV 73H,#00H

      ;保存千位

      MOV 74H,#00H

      ;保存萬位

      LOOP: SETB TR1

      ;啟動T1

      ACALL OUT

      ;調(diào)用顯示子程序

      MOV A,TL1

      CJNE A,#00H,LOOP

      ACALL BCD

      ;調(diào)用BCD碼調(diào)整子程序

      SJMP LOOP

      RET

      BCD:

      MOV TL1,#0FFH

      INC 70H

      MOV A,70H

      CJNE A,#0AH,EXIT

      MOV 70H,#00H

      INC 71H

      MOV A,71H

      CJNE A,#0AH,EXIT

      MOV 71H,#00H

      INC 72H

      MOV A,72H

      CJNE A,#0AH,EXIT

      MOV 72H,#00H

      INC 73H

      MOV A,73H

      CJNE A,#0AH,EXIT

      MOV 73H,#00H

      INC 74H

      MOV A,74H

      CJNE A,#05H,EXIT

      MOV 74H,#00H

      ;BCD碼調(diào)整子程序

      ;只能計數(shù)到49999,遇到50000會歸零

      EXIT:RET

      OUT:

      ;顯示子程序

      MOV R1,#70H

      MOV R5,#00H

      MOV DPTR,#TAB LOOP1:

      MOV A,R5

      MOV P2,A

      MOV A,@R1

      MOVC A,@A+DPTR

      MOV P0,A

      ACALL DELAY

      INC R1

      INC R5

      CJNE R5,#05H,LOOP1

      RET

      DELAY:

      ;延時子程序

      MOV R7,#31

      ;1+(1+2*100+2)*31+1+2*11+1+2=6320

      L1: MOV R6,#100

      W1: DJNZ R6,W1

      DJNZ R7,L1

      MOV R4,#11

      J1: DJNZ R4,J1

      NOP

      RET

      TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

      ;驅動LED顯示表

      出租車計費

      1.2設計思路

      出租車計費:在上步的基礎上,每1個脈沖當作1公里(也可自己設置幾個脈沖1公里),5個脈沖,數(shù)碼管顯示05.0005,前3位余額,后3位為里程,超過5個脈沖,里程加1,金額加0.8。難點主要在于計費金額的顯示,可將初值置為50,其中十位調(diào)用帶點的字型碼,即顯示05.0,超過5個脈沖,里程加1,金額加8,由于十位是帶有小數(shù)點,即可實現(xiàn)金額加0.8元。

      仿真圖:

      十元元角百位十位個位U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD******28101112***8XTAL2U3:A129RSTU3:B***34293031PSENALEEAU3:C612345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U3:D12U2123ABCY0Y1Y2Y3Y4Y5Y6Y7***09711U3:E***U3:F8645E1E2E374HC138 程序: ORG 0000H LJMP MIAN ORG 0030H MIAN:

      GW equ 60h;個位數(shù)據(jù)緩沖 SW equ 61h;十位數(shù)據(jù)緩沖 BW equ 62h;百位數(shù)據(jù)緩沖

      J equ 63h;角數(shù)據(jù)緩沖 Y equ 64h;元數(shù)據(jù)緩沖 SY equ 65H;十元數(shù)據(jù)緩沖 Mov GW,#0;初始化全為0 Mov SW,#0 Mov BW,#0 MOV J,#0 MOV Y ,#5 MOV SY,#0 MOV R1 ,#00H MOV R2 ,#00H MOV R0 ,#00H MOV R5 ,#00H MOV R6 ,#00H MOV TMOD ,#51H Mov TH1,#0 Mov TL1,#0

      SETB C Setb TR1

      ;計數(shù)開始

      START:

      JNC LOOP

      MOV A,GW

      MOV DPTR ,#TAB

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#00H;//打開第一位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,SW

      MOV DPTR ,#TAB

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#01H;//打開第二位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,BW

      MOV DPTR ,#TAB

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#02H;//打開第三位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,J

      MOV DPTR ,#TAB

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#03H;//打開第四位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,Y

      MOV DPTR ,#TAB1

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#04H;//打開第五位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,SY

      MOV DPTR ,#TAB

      MOVC A ,@A+DPTR

      MOV P0 ,A

      MOV P2 ,#05H;//打開第六位數(shù)碼管的顯示電源

      ACALL D1MS

      MOV P2 ,#0FFH

      MOV A,TL1

      MOV B ,#64H

      DIV AB

      MOV BW ,A

      XCH A ,B

      MOV B ,#0AH

      DIV AB

      MOV SW,A

      MOV GW , B

      MOV R0 ,TL1 CJNE R0 ,#05H , START LOOP: MOV A ,R0 SUBB A,#04H MOV B ,#08H MUL AB ADD A ,#50 MOV R5 ,A MOV A, B ADDC A ,#0 MOV R6 ,A

      MOV R7,#08H H0:CLR C MOV A,R5 RLC A MOV R5,A MOV A,R6 RLC A MOV 07H,C CLR C SUBB A,#64H

      JB 07H,H1 JNC H1 ADD A,#64H SJMP H2 H1:INC R5 H2:MOV R6 ,A

      DJNZ R7 ,H0 MOV SY,R5 MOV A ,R6

      MOV B ,#0AH

      DIV AB

      MOV Y ,A

      MOV J,B

      SETB C AJMP START D1MS:

      MOV TMOD ,#51H

      MOV

      TL0 , #58H

      MOV

      TH0 , #0FFH

      SETB TR0 WAIT1:

      JNB

      TF0 , WAIT1

      CLR

      TF0

      CLR

      TR0

      RET

      TAB :DB 0C0H ,0F9H ,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H

      TAB1:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H

      課程設計心得

      課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經(jīng)成為當今計算機應用中空前活躍的領域,在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的。

      本次課程設計我的課題是做基與單片機的出租車計費系統(tǒng)和溫度報警系統(tǒng)。當我拿到課題時候,我真的很激動,因為我知道,這不僅僅是一次課程設計,而且它將見證我大學單片機學習的成果。所以 從一開始我就對該設計顯得十分重視。我深信好好做課程設計,能給我?guī)砭薮蟮氖斋@。

      通過努力,最終把這次課程設計的任務完成了。通過這次設計,得到了很多收獲和體會。提高了自己的動手能力。第一,鞏固和加深了對電子線路基本知識的理解,提高了編寫程序的能力。第二,增強了根據(jù)課程需要選學參考資料,查閱手冊,圖表和文獻資料的自學能力。通過獨立思考,深入研究有關問題,學會自己分析解決問題的方法。第三,初步掌握了簡單實用電路的分析方法和工程設計方法。第四,在這次課程設計過程中,光有理論知識是不夠的,還必須懂一些實踐中的知識。所以在課程設計的實踐中,我們應將實驗課與課堂教學結合起來,鍛煉自己的理論聯(lián)系實際的能力和實際動手能力。第五,掌握了比較常用的儀器的使用方法,科學態(tài)度。

      回顧起此次單片機課程設計,我仍感慨頗多,的確,從理論到實踐,在二個星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說 不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……通過這次課程設計之后,一定把以前所學過的知識重新溫故。

      在設計中我遇到了很多編程問題,最后在石偉老師的辛勤指導下,終于游逆而解。同時,在石偉老師那里我學得到很多實用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!

      第二篇:單片機課程設計

      設計題目: 單片機課程設計

      學生姓名:

      院: 電氣與信息工程學院

      級: 電子111班 指導教師:

      日 期: 2014年9月20日

      一、課程設計目的:

      了解電子元器件的功能與原理,掌握單片機的結構和原理,學會使用單片機應用開發(fā)技術的相關軟件如 keill、STC_ISP_V394等,能夠使用c語言的語言編程簡單的功能。

      二、設計的思想:

      利用所提供的單片機和開發(fā)板的原理圖用keill軟件編程程序以實現(xiàn)一些功能。然后用STC_ISP_V394.exe軟件將編譯完全正確的程序生成的hxe文件下載到開發(fā)板上,再調(diào)試編譯的程序能否實現(xiàn)其所設計的功能。

      1、對蜂鳴器的了解:

      蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,它由振蕩器、電磁線圈、磁鐵、振動膜片及外殼組成,接通電源后,振蕩器產(chǎn)生的音頻信號由電流通過電磁線圈,使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性的振動發(fā)聲。

      2、設計:

      我們所使用的開發(fā)板實物圖如圖一,單片機對右上角蜂鳴器的控制是加入三極管接入vcc,單片機的第22引腳和負極上,以此來控制蜂鳴器工作。單片機我們選擇STC89C52RC+1602液晶來實現(xiàn)對蜂鳴器的控制及顯示所需要的信息。

      圖一 調(diào)試說明:

      首先用Keil軟件創(chuàng)建一個工程,將程序源代碼輸入并編譯生成單片可執(zhí)行的.hex文件。其次,打開單片機實踐板的電源,接好串口線,用STC-ISP燒錄軟件,將.hex文件燒錄入單片機中。程序下載完畢后,單片機會自動執(zhí)行程序功能。最后,觀察程序功能的執(zhí)行情況,看是否達到了設計要求。

      如果單片機實踐板硬件電路的執(zhí)行結果與設計結果一致,則說明設計過程及流程沒有問題,完全符合設計要求。否則,先檢查單片機實踐板的硬件電路是否完好,是否有斷點、漏焊、虛焊以及元器件是否完好等情況,排除故障重新連接后重新進行調(diào)試。如果仍然無法正

      常實現(xiàn),則說明程序編寫有誤,需要認真檢查程序流程,然后經(jīng)過反復的修改與調(diào)試排除故障,實現(xiàn)設計要求的各項功能。編譯和燒寫該程序到單片機:

      (1)用Keil編譯上面的代碼,并設置產(chǎn)生16進制代碼文件*.hex.(2)用專用下載線,連接好實驗板和電腦串口(DB9)(2)運行hex文件燒寫軟件STC_ISP_V394.exe

      選單片機的型號,并打開編譯產(chǎn)生好的hex文件

      點擊下載,給開發(fā)板上電。

      3、實現(xiàn)的功能:使用單片機將歌曲《八月桂花》的調(diào)子通過蜂鳴器播放出來,用1602液晶將想要表達的信息有步驟地顯示在液晶顯示屏上,并且調(diào)子與顯示內(nèi)容可以任意通過修改的程序燒錄到單片機內(nèi),實現(xiàn)設計產(chǎn)品的使用性與靈活性。

      三、實驗程序:

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

      [主題] C51音樂程序《八月桂花》

      [功能]

      通過單片機演奏音樂,顯示一些內(nèi)容

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

      #include

      #include

      //本例采用89C52, 晶振為11.0592MHZ

      //關于如何編制音樂代碼, 其實十分簡單,各位可以看以下代碼.//頻率常數(shù)即音樂術語中的音調(diào),而節(jié)拍常數(shù)即音樂術語中的多少拍;

      //所以拿出譜子, 試探編吧!

      unsigned char i=0;sbit Beep = P2^7;

      unsigned char p,m;

      //m為頻率常數(shù)變量

      unsigned char n=0;//n為節(jié)拍常數(shù)變量

      unsigned char code music_tab[] ={

      0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數(shù), 節(jié)拍常數(shù), 頻率常數(shù), 節(jié)拍常數(shù),0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00

      };

      void int0()interrupt 1

      //采用中斷0 控制節(jié)拍

      { TH0=0xd8;

      TL0=0xef;

      n--;

      }

      void delay(unsigned char m)

      //控制頻率延時

      {

      unsigned i=3*m;

      while(--i);

      }

      void delayms(unsigned char a)//豪秒延時子程序

      {

      while(--a);

      //采用while(--a)不要采用while(a--);各位可編譯一下看看匯編結果就知道了!

      }

      typedef unsigned char BYTE;typedef bit BOOL;

      sbit LCD_RS = P2^0;

      sbit LCD_RW = P2^1;sbit LCD_EP = P2^2;

      BYTE code dis1[] = {“

      WLCOME TO

      ”};BYTE code dis2[] = {“

      DanPianJi ”};BYTE code dis3[] = {“

      111iZnaiD

      ”};BYTE code dis4[] = {“

      eiXeiX ”};

      delays(int ms){

      // 延時子程序 int i;while(ms--){

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

      {

      _nop_();

      _nop_();

      _nop_();

      _nop_();

      } } }

      BOOL lcd_bz(){

      // 測試LCD忙碌狀態(tài) BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result =(BOOL)(P0 & 0x80);LCD_EP = 0;return result;}

      lcd_wcmd(BYTE cmd){

      while(lcd_bz());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;

      }

      lcd_pos(BYTE pos){

      lcd_wcmd(pos | 0x80);

      // 寫入指令數(shù)據(jù)到LCD //設定顯示位置

      }

      lcd_wdat(BYTE dat)

      {

      //寫入字符顯示數(shù)據(jù)到LCD while(lcd_bz());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}

      lcd_init(){

      lcd_wcmd(0x38);

      delays(1);lcd_wcmd(0x0c);

      delays(1);lcd_wcmd(0x06);

      delays(1);lcd_wcmd(0x01);

      delays(1);}

      void main()

      {

      BYTE j;

      lcd_init();

      delays(10);

      //LCD初始化設定

      //16*2顯示,5*7點陣,8位數(shù)據(jù)//顯示開,關光標 //移動光標 //清除LCD的顯示內(nèi)容

      // 初始化LCD

      lcd_wcmd(0x06);

      //向右移動光標

      lcd_pos(0);

      //設置顯示位置為第一行的第1個字符

      j = 0;

      while(dis1[ j ]!= '