欧美色欧美亚洲高清在线观看,国产特黄特色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è)計(jì)

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

      第一篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)

      基于單片機(jī)的火災(zāi)智能報(bào)警控制系統(tǒng)的設(shè)計(jì)

      前言

      在各種災(zāi)害中,火災(zāi)是最經(jīng)常、最普通地威脅公眾安全和社會(huì)發(fā)展的災(zāi)害之一。人類能夠?qū)疬M(jìn)行利用和控制,是文明進(jìn)步的一個(gè)重要標(biāo)志?;?,給人類帶文明進(jìn)步、光明和溫暖。但是,失去控制的火,就給人類造成災(zāi)害。據(jù)統(tǒng)計(jì),我國(guó) 70 年代火災(zāi)年平均損失不到 2.5 億元,80 年代火災(zāi)年平均損失不到

      3.2 億元。進(jìn)入 90 年代,特別是 1993 年以來(lái),火災(zāi)造成的直接財(cái)產(chǎn)損失上升到年均十幾億元,年均死亡 2000 多人。2010年上海靜安區(qū)高層住宅著火,導(dǎo)致58人死亡,70余人受傷。2014年1月云南香格里拉大火,燒毀房屋100多棟,直接經(jīng)濟(jì)損失1億多元人民幣。火災(zāi)事件經(jīng)常發(fā)生,防止火災(zāi)事故關(guān)系到人民群眾的生命財(cái)產(chǎn)安全和社會(huì)和諧穩(wěn)定?,F(xiàn)在各種電子產(chǎn)品的普及,再加上人們防火意識(shí)的不強(qiáng),這些都給火災(zāi)的發(fā)生帶來(lái)了巨大的安全隱患。

      對(duì)于火災(zāi)最關(guān)鍵的問題在于預(yù)防,目前防火報(bào)警系統(tǒng)趨于智能化、自動(dòng)化,靈敏程度也越來(lái)越高。在這種背景下,基于單片機(jī)的火災(zāi)智能報(bào)警控制系統(tǒng)能突顯出其巨大的優(yōu)越性。目前,國(guó)內(nèi)大多數(shù)偏重于商場(chǎng)、賓館、高級(jí)寫字樓、大型倉(cāng)庫(kù)等大型火災(zāi)報(bào)警系統(tǒng)的研發(fā)和設(shè)計(jì)。本系統(tǒng)側(cè)重于小型火災(zāi)智能報(bào)警系統(tǒng)的設(shè)計(jì),可在火災(zāi)發(fā)生初期檢測(cè)到并且報(bào)警,還能夠?qū)崟r(shí)顯示溫度和煙霧濃度。

      第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)

      設(shè)計(jì)題目: 單片機(jī)課程設(shè)計(jì)

      學(xué)生姓名:

      學(xué)

      院: 電氣與信息工程學(xué)院

      級(jí): 電子111班 指導(dǎo)教師:

      日 期: 2014年9月20日

      一、課程設(shè)計(jì)目的:

      了解電子元器件的功能與原理,掌握單片機(jī)的結(jié)構(gòu)和原理,學(xué)會(huì)使用單片機(jī)應(yīng)用開發(fā)技術(shù)的相關(guān)軟件如 keill、STC_ISP_V394等,能夠使用c語(yǔ)言的語(yǔ)言編程簡(jiǎn)單的功能。

      二、設(shè)計(jì)的思想:

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

      1、對(duì)蜂鳴器的了解:

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

      2、設(shè)計(jì):

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

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

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

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

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

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

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

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

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

      三、實(shí)驗(yàn)程序:

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

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

      [功能]

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

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

      #include

      #include

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

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

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

      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)

      //控制頻率延時(shí)

      {

      unsigned i=3*m;

      while(--i);

      }

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

      {

      while(--a);

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

      }

      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){

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

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

      {

      _nop_();

      _nop_();

      _nop_();

      _nop_();

      } } }

      BOOL lcd_bz(){

      // 測(cè)試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 //設(shè)定顯示位置

      }

      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初始化設(shè)定

      //16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)//顯示開,關(guān)光標(biāo) //移動(dòng)光標(biāo) //清除LCD的顯示內(nèi)容

      // 初始化LCD

      lcd_wcmd(0x06);

      //向右移動(dòng)光標(biāo)

      lcd_pos(0);

      //設(shè)置顯示位置為第一行的第1個(gè)字符

      j = 0;

      while(dis1[ j ]!= '