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

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

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

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

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

      北京交大單片機課程設(shè)計聲控燈

      時間:2019-05-14 21:32:04下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《北京交大單片機課程設(shè)計聲控燈》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《北京交大單片機課程設(shè)計聲控燈》。

      第一篇:北京交大單片機課程設(shè)計聲控燈

      單片機課程設(shè)計報告

      一. 設(shè)計說明

      聲控燈

      目前的照明燈調(diào)節(jié)一般都是單一亮度的,通過S51和聲音傳感器調(diào)節(jié)LED亮的個數(shù)實現(xiàn)亮度的調(diào)節(jié)。

      二. 總體設(shè)計

      系統(tǒng)總體設(shè)計

      三. 硬件電路設(shè)計

      整體電路如圖所示

      (聲音傳感器用按鈕開關(guān)代替)

      聲音傳感器

      燒寫電路: 由于AT89S51支持ISP,所以可以直接使用USBISP下載線下載,十分方便。

      四. 軟件設(shè)計

      單片機程序設(shè)計使用C語言,在Keil uVision3環(huán)境下調(diào)試完成;

      調(diào)試中使用的ISIS 7 Professional USBISP使用progisp1.68下載。

      主程序流程:該程序邏輯比較復雜,使用了5個變量作為標志,分別用作外部中斷計數(shù),定時器0、1計數(shù),所處模式標志。單片機復位后燈全滅,程序運行在模式0,當有聲音作為外部中斷進入程序后,開始計時2S,記錄2S內(nèi)聲音響起的次數(shù),同時有0.4S的消抖延時。2S后進入中斷服務程序中模式0的分支,之后再通過聲音次數(shù)重新選擇模式。這時按照不同的模式亮燈,同時再次有中斷后進入相應的模式分支中。

      五. 問題與解決

      管腳的預定義:設(shè)計中使用的頭文件為ATmel提供的AT89X51的標準頭文件,剛開始編程時沒有注意到該頭文件中是如何定義端口的,以為是P0^2,編譯后通過查找錯誤,并到頭文件中找相關(guān)定義才知道應該是P0_2.模式切換的問題:剛開始編程時把程序想的太簡單,有很多問題沒有考慮清楚,流程不完整,導致仿真時不出結(jié)果,經(jīng)過2天的思考,把各個模式都想清楚了,再用幾個標志變量,整個流程得以完整實現(xiàn)。

      芯片的選擇:由于燈用于照亮,選用的高亮LED,電流較大,不能用IO口直接驅(qū)動,經(jīng)過查找資料,最終選用8路達林頓管ULN2803作為驅(qū)動電路,效果比較理想。

      消抖:在編程前我用示波器觀察過聲音傳感器的輸出,有聲音時會有一個尖脈沖,波形比較穩(wěn)定,所以我以為這個程序不需要消抖,但是當最終板子出來后實驗發(fā)現(xiàn)還是會有抖動干擾。所以加了0.4S的消抖。

      六. 設(shè)計成果

      板子上電后進入待機狀態(tài),以拍手為例,2S內(nèi)拍1下,亮2個燈(亮度等級1),拍2下亮4個燈(亮度等級2),拍3下亮6個燈(亮度等級3),拍4下亮8個燈(亮度等級4)。之后再拍1下是降1個亮度等級,拍2下是升1個亮度等級。

      七. 設(shè)計感想

      這次單片機課程設(shè)計中,雖然使用到的器件非常簡單,程序涉及的知識也不多,但是整個程序在邏輯上要求比較高,在編程初期思考了很久。在整個設(shè)計過程中,硬件電路的焊接比較順利,在調(diào)試中也只遇到了消抖的問題。在整個實驗中熟悉了C語言在單片機編程中的應用,感覺高級語言有很大優(yōu)勢,如果邏輯比較復雜的程序用匯編來做的話無法想象。

      附件:程序代碼 #include #define LED1 P2_1 #define LED2 P2_2 #define LED3 P2_3 #define LED4 P2_4 /*子函數(shù)、變量定義*/ void sound_int(void);void t0(void);void t1(void);void t0_0(void);void t0_1(void);void t0_2(void);void t0_3(void);void t0_4(void);void bright0(void);void bright1(void);void bright2(void);void bright3(void);void bright4(void);unsigned int i;unsigned int j;unsigned int t;unsigned int k;/*主函數(shù)*/ void main(void){

      i=0;

      j=0;

      t=0;

      k=0;

      LED1 = 0;

      LED2 = 0;

      LED3 = 0;

      LED4 = 0;

      PX0=1;

      PT0=0;

      PT1=0;

      EX0=1;

      ET0=1;

      ET1=1;

      IT0=0;

      EA=1;

      while(1);}

      //變量初始化

      //IO口初始化

      //外部中斷優(yōu)先級高

      //定時器中斷優(yōu)先級低

      //外部中斷允許

      //定時器中斷允許

      //邊沿觸發(fā)

      //總中斷允許 4

      /****************************************/ /*函數(shù)名:外部中斷***********************/ /*功能:定時器初始化、外部中斷標志數(shù)累加*/ /****************************************/ void sound_int(void)interrupt 0 {

      EX0=0;

      //關(guān)外部中斷

      k=0;

      //定時器1中斷計數(shù)清0

      j=j+1;

      //外部中斷計數(shù)

      TMOD=0x22;

      //定時器0工作方式2 ,定時器1作方式2

      TH0=56;

      //定時中斷1次200us

      TL0=56;

      TF0=0;

      //定時器0清0

      TR0=1;

      //啟動T0

      TH1=56;

      TL1=56;

      TF1=0;

      TR1=1;

      } /**********************************************/ /*函數(shù)名:定時器中斷0**************************/ /*功能:從第一次外部中斷開始計時,2S后選擇分支*/ /**********************************************/ void t0(void)interrupt 1 { t=t+1;

      //進中斷次數(shù)累加,使定時時間為200us*10000=2S if(t==10000)

      //從第一次外部中斷開始計時,2S后選擇分支

      {

      switch(i)

      {

      case 0:t0_0();break;

      case 1:t0_1();break;

      case 2:t0_2();break;

      case 3:t0_3();break;

      case 4:t0_4();break;

      }

      } } /**********************************************/ /*函數(shù)名:定時器中斷1**************************/ /*功能:400ms消抖******************************/ /**********************************************/ void t1(void)interrupt 3 { k=k+1;if(k==2000)

      EX0=1;} /**********************************************/ /*功能:不同狀態(tài)下對外部中斷的不同響應*********/ /**********************************************/ //----------------void t0_0(void)

      { TR0=0;TR1=0;EA=0;switch(j){

      case 0:bright0();break;

      case 1:bright1();break;

      case 2:bright2();break;

      case 3:bright3();break;

      default:bright4();break;} } //----------------void t0_1(void){ TR0=0;TR1=0;EA=0;switch(j){

      case 0:bright1();break;

      case 1:bright0();break;

      default:bright2();break;} } //----------------void t0_2(void){ TR0=0;TR1=0;EA=0;switch(j){

      case 0:bright2();break;

      case 1:bright1();break;

      default:bright3();break;} } //----------------void t0_3(void){ TR0=0;TR1=0;EA=0;switch(j){

      case 0:bright3();break;

      case 1:bright2();break;

      default:bright4();break;} } //----------------void t0_4(void){ TR0=0;TR1=0;EA=0;switch(j){

      case 1:bright3();break;

      default:bright4();break;} } /**********************************************/ /*功能:燈的四個顯示狀態(tài)***********************/ /**********************************************/ void bright0(void){ LED1=0;LED2=0;LED3=0;LED4=0;i=0;j=0;t=0;k=0;EA=1;} //----------------

      void bright1(void){ LED1=0;LED2=0;LED3=0;LED4=0;i=1;j=0;t=0;k=0;LED1=1;EA=1;}

      //----------------void bright2(void){ TR0=0;LED1=0;LED2=0;LED3=0;LED4=0;i=2;j=0;t=0;k=0;LED1=1;LED2=1;EA=1;

      } //----------------void bright3(void){ LED1=0;LED2=0;LED3=0;LED4=0;i=3;j=0;t=0;k=0;LED1=1;LED2=1;LED3=1;EA=1;}

      //----------------void bright4(void){

      LED1=0;LED2=0;LED3=0;LED4=0;i=4;j=0;t=0;k=0;LED1=1;LED2=1;LED3=1;LED4=1;EA=1;}

      //----------------

      第二篇:數(shù)電課程設(shè)計 聲控燈設(shè)計

      聲光控延時照明燈的設(shè)計

      一、設(shè)計目的

      本次設(shè)計是以實踐性為課題,起到鞏固所學知識,加強綜合能力,培養(yǎng)電路設(shè)計能力,提高實驗技術(shù),啟發(fā)創(chuàng)新思想的效果。

      用聲光控延時開關(guān)代替住宅小區(qū)的樓道上的開關(guān),只有在天黑以后,當有人走過樓梯通道,發(fā)出腳步聲或其它聲音時,樓道燈會自動點亮,提供照明,當人們進入家門或走出公寓,樓道燈延時幾分鐘后會自動熄滅。在白天,即使有聲音,樓道燈也不會亮,可以達到節(jié)能的目的。聲光控延時開關(guān)不僅適用于住宅區(qū)的樓道,而且也適用于工廠、辦公樓、教學樓等公共場所,它具有體積小、外形美觀、制作容易、工作可靠等優(yōu)點。

      二、方案設(shè)計

      電路由直流供電電路、控制電路、延時電路三部分組成。控制電路采用基本數(shù)字邏輯單元進行設(shè)計。

      直流供電電路 由D1-D4組成橋式整流電路。交流220V電壓經(jīng)橋式整流橋后變成脈動的直流電,供后續(xù)電路工作。

      控制電路由四與非門CD4011、駐極體話筒BM、光敏電阻R5、三極管9014、單向可控硅SCR等元器件組成。由CD4011的選定的輸出端控制晶閘管的關(guān)閉,從而控制整個燈的關(guān)滅。光敏電阻在白天時,電阻值小,CD40011輸出永遠為低電平,晶閘管為低電壓,不導通,燈不亮。光敏電阻在夜晚時阻值大,光敏電阻與聲音信號的有無一起控制CD4011的輸出。夜晚當有聲音時,聲音信號經(jīng)過放大,與光敏電阻控制的CD40011輸出為高電平,晶閘管導通,燈亮。無聲音信號時,不亮。

      延時電路 有電容C和電阻R的沖放電里控制。

      三、電路設(shè)計及理論分析

      1、原理框圖

      圖1 聲控燈原理框圖

      圖2 聲控電路原理圖

      2.單元電路設(shè)計及分析

      電路由直流供電電路、控制電路、延時電路三部分組成。2.1 直流供電電路

      直流供電電路由D1-D4組成橋式整流電路。交流220V電壓經(jīng)橋式整流橋后變成脈動的直流電,供后續(xù)電路工作。

      2.2 控制電路

      控制電路由四與非門CD4011、駐極體話筒BM、光敏電阻R5、三極管9014、單向可控硅SCR等元器件組成。

      白天,由于光敏電阻R5阻值低,其兩端電壓低,CD4011的一腳為低電平,3腳即變成高電平,導致11腳為低電平,即單向可控硅控制極G為低電平,單向可控硅截止,燈泡不亮。

      夜晚,由于光敏電阻沒有受到陽光照射,其阻值很高,兩端電壓較高,即1腳變成高電平,此時3腳的狀態(tài)受2腳控制,若2腳為高電平,則3腳為低電平,若2腳為低電平,則3腳位高電平。

      當駐極體接收到聲音信號后,經(jīng)C1的濾波作用,被三極管Q1放大,當被放大的信號達到峰值時,此時2腳即便為高電平,3腳變?yōu)榈碗娖剑?1腳高電平,單向可控硅控制極變成高電平,單向可控硅導通,燈泡點亮。

      當駐極體沒有接收到聲音信號時,2腳為低電平,燈泡不亮,工作原理類同白天情況。

      2.3 延時電路

      由C3、R7組成,通過C3的充放電來維持燈泡的點亮狀態(tài),延時的時間由C3的容量及R7的阻值來決定。

      3、整個電路的工作原理分析

      圖5 電路的工作原理詳細框圖

      聲光控延時開關(guān)的電路原理圖見圖2所示。電路中的主要元器件是使用了數(shù)字集成電路CD4011,其內(nèi)部含有4個獨立的與非門VD1~CD4,使電路結(jié)構(gòu)簡單,工作可靠性高。顧名思義,聲光控延時開關(guān)就是用聲音來控制開關(guān)的“開啟“,若干分鐘后延時開關(guān)“自動關(guān)閉”。因此,整個電路的功能就是將聲音信號處理后,變?yōu)殡娮娱_關(guān)的開動作。明確了電路的信號流程方向后,即可依據(jù)主要元器件將電路劃分為若干個單元,由此可畫出圖5電路的工作原理詳細框圖來分析圖2。

      聲音信號(腳步聲、掌聲等)由駐極體話筒BM接收并轉(zhuǎn)換成電信號,經(jīng)C1耦合到9014的基極進行電壓放大,放大的信號送到與非門(VD1)的2腳,R3、R6是9014的偏置電阻,C2是電源濾波電容。為了使聲光控開關(guān)在白天開關(guān)斷開,即燈不亮,由光敏電阻R5等元件組成光控電路,R4和R5組成串聯(lián)分壓電路,白天光敏電阻兩端的電壓低,不管有沒有聲音信號傳來,CD4011的3號端口始終為低電平,整個CD4011輸出端11號端口為低電平,晶體閘始終處于斷開狀態(tài),燈不亮。夜晚環(huán)境無光時,光敏電阻的阻值很大,R5兩端的電壓高,即CD401,改變R7或C3的值,可改變延時時間,滿足不同目的。VD3和VD4構(gòu)成兩級整形電路,將方波信號進行整形。當C3充電到一定電平時,信號經(jīng)與非門VD3、VD4后輸出為高電平,使單向可控硅導通,電子開關(guān)閉合;C3充滿電后只向R7放電,當放電到一定電平時,經(jīng)與非門VD3、VD4輸出為低電平,使單向可控硅截止,電子開關(guān)斷開,完成一次完整的電子開關(guān)由開到關(guān)的過程。

      二極管D1~D4將交流220v進行橋式整流,變成脈動直流電,又經(jīng)R3降壓,C2濾波后即為電路的直流電源,為BM、9014、IC CD4011等供電。

      四、心得體會

      通過此次課程設(shè)計,學習到了如何應用理論知識驗證并解決實際生活中遇到的相關(guān)問題以及各種元器件的工作原理和實際應用,使之受益匪淺。

      第三篇:單片機課程設(shè)計

      單片機課程設(shè)計

      課題: 簡易電子琴設(shè)計

      院:

      電氣與信息工程學院 專

      業(yè):

      電子信息工程 姓

      名:

      李琳琳 學

      號:

      093411106

      指導老師:

      田巍

      河南城建學院

      2014年

      01 月

      01 日

      第四篇:單片機課程設(shè)計

      課 程 設(shè) 計

      設(shè)計題目: 基于單片機的8*8點陣顯示數(shù)字設(shè)計

      學生姓名: 指導教師: 二級學院: 專

      業(yè): 班

      級: 學

      號:

      目 錄

      摘要??????????????????????????Ⅱ 1 方案選擇及總體設(shè)計???????????????????1 1.1方案確定?????????????????????1 1.1.1功能要求????????????????????1 1.1.2方案確定????????????????????1 1.2器件選擇?????????????????????1 2 控制系統(tǒng)設(shè)計??????????????????????2 2.1 控制系統(tǒng)硬件設(shè)計?????????????????2 2.1.1整體模塊設(shè)計??????????????????2 2.1.2單片機AT89C51?????????????????2 2.1.3單片機最小系統(tǒng)設(shè)計???????????????5 2.1.3.1晶振電路設(shè)計?????????????????5 2.1.3.2復位電路設(shè)計?????????????????5 2.1.4驅(qū)動電路設(shè)計??????????????????6 2.1.5LED點陣顯示設(shè)計????????????????9 2.2控制系統(tǒng)軟件設(shè)計?????????????????11 2.2.1軟件設(shè)計思想??????????????????11 2.2.2主程序流程圖??????????????????11 2.2.3子程序流程圖??????????????????13 3 系統(tǒng)仿真及調(diào)試????????????????????14 3.1系統(tǒng)調(diào)試?????????????????????14 3.2系統(tǒng)仿真?????????????????????14 3.2.1protrus軟件仿真????????????????14 3.2.2程序??????????????????????14 總結(jié)?????????????????????????^?17 參考文獻????????????????????????18

      I

      摘 要

      現(xiàn)在市場上各類基于LED的顯示屏較多,但大部分產(chǎn)品為單一模式的LED顯示屏,其在顯示內(nèi)容的更換及顯示屏的重組等方面都存在不便之處。但隨著信息化社會的迅速發(fā)展,LED顯示屏正在向顯示內(nèi)容豐富、信息更改方便等方面發(fā)展。因此制作一款多功能的LED廣告顯示屏是非常有意義地。

      LED驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行的同名列共用一套列驅(qū)動器。以8×8點陣為例,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對應第1行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定的時間,然后熄滅;再送出第2行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;第8行之后,又重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動較多的LED,控制方式較靈活,而且節(jié)省單片機的資源。

      本次課程設(shè)計的題目為8×8點陣數(shù)字顯示,設(shè)計的任務為使用單片機控制8×8的點陣顯示0到9的數(shù)字,不僅顯示清晰,并且每經(jīng)過一定時間,顯示的數(shù)字加一,從0 到 9 循環(huán)。以AT89C51單片機為核心,采用串行傳輸、動態(tài)掃描技術(shù),制作一款模塊化LED多功能顯示屏。

      在資料收集方面,主要是參考了《51單片機原理及應用—基于Keil C與Proteus》一書,結(jié)合了一些網(wǎng)絡資料,以及一些集成塊的使用說明書。

      在整個工作過程中,根據(jù)收集來的資料繪制出大概的原理圖,然后通過Proteus仿真,與此同時運用Keil 編程,用Keil 與Proteus進行聯(lián)調(diào),調(diào)試成功后確定了原理圖和控制程序。

      II

      第一章 方案選擇及總體設(shè)計

      1.1 方案確定

      1.1.1 功能要求

      1、采用STC-51單片機作為微處理器。

      2、設(shè)計一個8×8點陣LED數(shù)碼字符顯示器。

      3、在目測條件下LED顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串擾。

      4、動態(tài)顯示“0——9”幾個字符。

      1.1.2 方案確定

      采用ST89C51單片機作為微處理器,將共陽極二極管用共陰型接法連接成8×8點陣LED數(shù)碼字符陣列,通過程序控制,采用動態(tài)顯示,建立字符庫“0——9”。

      1.2 器件選擇

      微處理器采用ST89C51系列單片機,ST89C51單片機是這幾年在我國非常流行的單片機,是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能單片機,可擦除只讀存儲器可以反復擦除100次,具有低功耗、高性能的特點。

      AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。

      第二章 控制系統(tǒng)設(shè)計

      2.1控制系統(tǒng)硬件設(shè)計

      2.1.1整體模塊設(shè)計

      本設(shè)計行、列驅(qū)動電路,顯示器電路,運用單片機的智能化,系統(tǒng)的將每個功能電路模塊連接在一起,總體結(jié)構(gòu)設(shè)計如圖2-1所示。

      點陣顯示器行驅(qū)動電路PC上位機單片機8×8點陣LED顯示器電路點陣顯示器列驅(qū)動電路

      圖2-1 硬件系統(tǒng)框圖

      此次需要實現(xiàn)的功能是利用一個ST89C51,一個8×8LED點陣,動態(tài)顯示“0——9”10個字,采用PC上位機驅(qū)動顯示電路。

      2.1.2 單片機AT89C51 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含4k bytes的可反復擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn), 兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C51單片機能提供許多高性價比的應用場合,可靈活應用于各種控制領(lǐng)域。

      AT89C51單片機引腳圖如圖2-2所示。

      圖2-2 AT89C51引腳圖

      AT89C51管腳說明: VCC:供電電壓。GND:接地。

      P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

      P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。

      P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行

      存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

      P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

      P3口也可作為AT89C51的一些特殊功能口,如下所示: P3口管腳

      備選功能: P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)

      P3口同時為閃爍編程和編程校驗接收一些控制信號。

      RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。

      ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

      /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。

      /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

      XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:

      來自反向振蕩器的輸出。

      2.1.3 單片機最小系統(tǒng)設(shè)計

      單片機的最小系統(tǒng)是能夠讓單片機工作的最小硬件電路。除了單片機外,最小系統(tǒng)還包括復位電路和時鐘電路。

      復位電路:單片機的復位電路接在復位信號RST上,復位電路用于將單片機內(nèi)部電路的狀態(tài)恢復到初始值。需要復位時按下按鈕即可。

      時鐘電路:時鐘電路為單片機工作提供基本時鐘。時鐘電路中包含一個晶體振蕩器,簡稱晶振,頻率范圍是1.2~12MHz。晶體振蕩頻率越高,系統(tǒng)的時鐘頻率也越高,單片機的運行速度也就越快

      ST89C51單片機最小系統(tǒng)電路由復位電路、晶振電路兩部分組成。2.1.3.1 晶振電路設(shè)計

      ST89C52單片機芯片內(nèi)部設(shè)有一個由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端,時鐘可有內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。系統(tǒng)采用的定時元件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率采用12MHZ,C1、C2的電容值取30pF,電容的大小起頻率微調(diào)的作用。晶振電路圖如圖2-3所示。

      C1XTAL130pFC2XTAL230pF圖2-3 晶振電路圖

      X112MHZ

      2.1.3.2 復位電路設(shè)計

      ST89C51單片機在啟動運行時或者出現(xiàn)死機時需要復位,使CPU以及其他功能部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機有多種復位方式,常用的復位操作有上電復位和手動復位方式。本設(shè)計采用最簡單的上電復位方式,電路如圖2-4所示。上電復位是通過外部復位電路的電容充電來實現(xiàn)的,復位電路產(chǎn)生的復位信號(高電平有效)由RST引腳送入到內(nèi)部的復位電路,對ST89C51單片機進行復位,復位信號要持續(xù)兩個機器周期(24個時鐘周期)以上,才能使ST89C51單片機可靠復位。當上電時,C1相當于短路,有時碰到干擾時會造成錯誤復位,可在復位端加個去耦電容,可以取得很好的效果。

      ST89C51單片機復位電路如下圖所示:

      VCCAT89C51VCCC510MF/25VRSTR94.7KVSSR24.7KVSSRSTR1C10MF/25VS5 RSTVCCAT89C51VCC

      圖2-4 上電復位電路圖

      圖2-5 按鍵電平復位電路圖

      復位電路工作原理:

      上電瞬間RST引腳的電位與VCC等電位,RST引腳為高電平,隨著電容C5充電電流的減少,RST引腳的電位不斷下降,可以保持RST引腳在為高電平的時間內(nèi)完成復位操作。

      當單片機已在運行當中時,按下復位鍵S5后再松開,也能使RST引腳為一段時間的高電平,從而實現(xiàn)ST89C51單片機復位。

      2.1.4 驅(qū)動電路設(shè)計

      驅(qū)動電路圖如圖2-6所示。

      圖2-6 驅(qū)動電路圖

      74LS245引腳圖如圖2-7所示。

      圖2-7 74LS245引腳圖

      引出端符號: A A總線端

      B B總線端

      /G 三態(tài)允許端(低電平有效)DIR 方向控制端

      74LS245是用來驅(qū)動LED或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。

      如果用89C51的P0口輸出到數(shù)碼管,那就要考慮到數(shù)碼管的亮度以及P0口帶負載的能力,當89C51單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅(qū)動器。選用74LS245提高驅(qū)動能力。P0口的輸出經(jīng)過74LS245提高驅(qū)動后,輸出到數(shù)碼管顯示電路。

      工作原理:

      當片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)DIR=“1”,信號由A向B傳輸;(發(fā)送)當CE為高電平時,A、B均為高阻態(tài)。

      正向點亮一顆LED,至少也要10~20mA,若電流不夠大,則LED不夠大。而不管是ST89C51的I/O口,還是TTL、CMOS的輸出端,其高態(tài)輸出電流都不是很高,不過1~2mA而已。因此很難直接高態(tài)驅(qū)動LED,這時候就需要額外的驅(qū)動電路,通常有共陽型與共陰型LED陣列驅(qū)動電路,本設(shè)計才用共陰型高態(tài)掃描信號驅(qū)動電路。

      共陰型LED陣列驅(qū)動電路采用高態(tài)掃描,也就是任何時間只有一個高態(tài)信號,其它則為低態(tài)。一行掃描完成后,再把高態(tài)信號轉(zhuǎn)化到近鄰的其他行,掃描信號接用一個反向驅(qū)動器,ST89C51本身內(nèi)置一個反向驅(qū)動器,本設(shè)計將ST89C51作為點矩陣顯示控制系統(tǒng)的控制核心,通過點矩陣實時顯示并移動字符。

      單片機的串口與行驅(qū)動器相連,用來發(fā)送顯示數(shù)據(jù)信息。P3口與LED陣列的行引腳相連,送出數(shù)據(jù)、地址以及系統(tǒng)控制信號。輸出低態(tài)時,最大可吸取0.5A,即500mA,若每個LED取30mA,7個LED同時點亮,需要210mA,完全滿足LED點亮的基本條件。

      所要顯示的信號送入74LS245芯片,然后連接到LED陣列的列陣腳。對于高態(tài)的顯示信號,將可提供其所連接LED的驅(qū)動電流,而這個驅(qū)動電流經(jīng)過LED到輸出端,形成正向回路,即可點亮該LED。其中每個晶體管任何時間只需負

      責驅(qū)動一個LED,所以選擇30mA射極電流的晶體管。驅(qū)動電路如圖2-6所示。

      2.1.5 LED點陣顯示設(shè)計

      本設(shè)計采用ATMEL公司的AT89C51作矩陣顯示控制系統(tǒng)控制核心,12MHZ晶振,8?8點陣共陽LED顯示器。其中,P0口作為字符數(shù)據(jù)輸出口,P3口為字符顯示掃描輸出口,第31腳(EA)接電源,改變電阻(270×8)的大小可改變顯示字符的亮度,驅(qū)動用74LS245芯片。

      本設(shè)計LED矩陣顯示器電路選用8×8點陣模塊,系統(tǒng)由單片機控制。LED顯示屏是將發(fā)光二極管按行按列布置的,在掃描驅(qū)動方式下可以按行掃描按列控制,也可以按列掃描按行控制。本文就是使用1塊8×8點陣,采用按列掃描按行控制控制方式,掃描順序自左向右,以滿足數(shù)字顯示的要求。8×8點陣LED結(jié)構(gòu)如圖2-8所示。

      8×8點陣LEDabcdefgh12345678

      圖2-8 LED數(shù)碼顯示管

      8×8 點陣LED的工作原理:LED點陣的顯示方式是按顯示編碼的順序,一行一行地顯示。對于共陽型的點陣來說,當某一點所在的行對應高電平“1”并且其所在的列對應低電平“0”的時候,這一點就會被點亮。將每一行的顯示時間進行一定的延時,由于人的視覺暫留現(xiàn)象,就會感覺到8行LED是在同時顯示的。若顯示的時間太短,則亮度不夠,若顯示的時間太長,將會感覺到閃爍。圖2-9為8×8點陣LED外觀及引腳圖,其等效電路如圖2-10所示,只要其對應的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點亮,則Y0=1,X0=0即可。應用時限流電阻可以放在X軸或Y軸。一個8×8點陣是由64個發(fā)光二極管按規(guī)律組成的,如圖2-10所示。圖中,行接高電平,列接低電平,發(fā)光二極管導通發(fā)光。

      圖2-9 8×8點陣LED外觀及引腳圖

      圖2-10 8×8點陣LED等效電路

      8×8點陣數(shù)字顯示的編碼原理: 8×8點陣數(shù)字顯示主要應用行掃描動態(tài)顯示的方法實現(xiàn),如圖2-11所示,將行線依次置零,一次對列線編碼,有紅色填充部分為1,無填充部分為0。

      圖2-11 8×8點陣數(shù)字顯示的編碼原理

      如此可得到“0”的編碼為{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00},同理可得到:

      {0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}

      //1 {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}

      //2 {0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}

      //3 {0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}

      //4 {0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}

      //5 {0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}

      //6 {0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}

      //7 {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}

      //8 {0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}

      //9 2.2控制系統(tǒng)軟件設(shè)計

      2.2.1 軟件設(shè)計思想

      主程序先進行設(shè)置中斷,并啟動,再進行鍵盤掃描載入“0——9”字型,然后判斷一組字型是否掃描完,按不同情況進行循環(huán)調(diào)用子程序。進入子程序后,首先設(shè)置相應的程序,反復調(diào)用顯示子程序,并在顯示過程中反復調(diào)用鍵盤掃描子程序進行延時,判斷是否退出相應的方式顯示子程序。設(shè)計過程中,能很好得提高按鍵響應速度。

      2.2.2 主程序流程圖

      主程序首先設(shè)置并啟動T0中斷,然后調(diào)用初始化程序,為后面程序要用到的數(shù)據(jù)調(diào)入,并清零一些用到的數(shù)據(jù)單元,然后載入“0——9”字型,進行掃描。圖2-12為主程序流程圖。

      圖2-12 主程序流程圖

      2.2.3 子程序流程圖(定時中斷服務程序)

      圖11 子程序流程圖(定時中斷服務程序)

      第三章 系統(tǒng)仿真及調(diào)試

      3.1系統(tǒng)調(diào)試

      根據(jù)硬件電路圖核對了元器件的型號、極性,安裝是否正確,檢查硬件電路連線是否與電路原理圖一致,檢查電路元器件是否都已經(jīng)連接好。

      通電后,用示波器檢測單片機的復位和晶振電路是否有復位信號和振蕩信號。

      3.2 系統(tǒng)仿真

      3.2.1 proteus軟件仿真

      使用proteus原理及仿真如圖3-1所示。

      如圖3-1 proteus原理及仿真圖

      3.2.2 程序

      #include #include #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]=

      { 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//0 //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00

      };uchar i=0,t=0,Num_Index;//主程序 void main(){ P3=0x80;

      Num_Index=0;

      //從0開始顯示

      TMOD=0x00;

      //T0方式0 TH0=(8192-2000)/32;//2ms定時

      TL0=(8192-2000)%32;IE=0x82;

      //允許T0中斷

      TR0=1;

      //啟動T0 while(1);}

      //T0中斷函數(shù)

      void LED_Screen_Display()interrupt 1 { TH0=(8192-2000)/32;

      //恢復初值

      TL0=(8192-2000)%32;P0=0xff;

      //輸出位碼和段碼

      P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);

      //P3循環(huán)向左一位 //5 //6 //7

      //8 //9

      }

      if(++i==8)i=0;if(++t==250){

      } t=0;

      //每屏一個數(shù)字由8個字節(jié)構(gòu)成 //每個數(shù)字刷新顯示一段時間

      if(++Num_Index==10)Num_Index=0;//顯示下一個數(shù)字

      總結(jié)

      經(jīng)過單片機的課程設(shè)計,我有了很大的收獲。

      首先,就是讓我加深了對單片機的掌握和理解與應用,知道單片機到底是怎樣控制點陣,怎樣應用在生活中的。并且讓我懂得了要善于思考,追求嚴謹,認真解決問題,才會有更多的收獲。

      然后,提高了通過查閱資料解決問題的能力。通過查閱大量的相關(guān)資料,詳細了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點,明確了研究目標。并且通過對單片機資料的查閱和應用,更進一步增加了對單片機知識的理解和運用能力。并證實了自己的思路:“查資料→思考總結(jié)→運用→找出差錯,再查資料和向別人詢問→再次運用”的正確性。

      最后,本系統(tǒng)能夠完成設(shè)計任務,能夠顯示數(shù)字0-9,并且顯示也較為穩(wěn)定清晰。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點。在本次課程設(shè)計中,主要使用了Proteus和Keil等軟件進行硬件電路和控制程序的設(shè)計,加深了對這些軟件的了解。感到Proteus對電子專業(yè)的同學來說是一個很有用的軟件??傮w來說這次的課程設(shè)計很成功,達到了預想的目的:學到了知識,提高了能力,完成了任務。

      參考文獻

      [1] 張靖武,周靈彬 《單片機系統(tǒng)的PROTEUS設(shè)計與仿真》北京 電子工業(yè)出版社 [2] 吳金戌,沈慶陽,郭庭吉 《8051單片機實踐與應用》北京 清華大學出版社 [3] 李群芳,肖看 《單片機原理、接口及應用》北京 清華大學出版社

      [4] 張毅剛,彭喜元等 《新編MCS-51單片機應用設(shè)計 》黑龍江 哈爾濱工業(yè)大學出版社 [5] 李朝青,劉艷玲編著 《單片機原理及接口技術(shù)》北京 航空航天大學出版社

      第五篇:單片機課程設(shè)計

      基于單片機的火災智能報警控制系統(tǒng)的設(shè)計

      前言

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

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

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

      下載北京交大單片機課程設(shè)計聲控燈word格式文檔
      下載北京交大單片機課程設(shè)計聲控燈.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        單片機課程設(shè)計

        《單片機技術(shù)》課程設(shè)計說明書 音樂盒 院、部:電氣與信息工程學院 學生姓名:劉亮 指導教師:凌云職稱講師 專業(yè):電子信息工程 班級:電子1302班 學號:1330340220 完成時間: 2016年1......

        單片機課程設(shè)計

        單片機課程設(shè)計_報警器 報警器 ORG 0010H START:MOV DPTR,#TAB CLR P3.1 SETB P1 MOV A,P1 CPL A ANL A,#0F0H SWAP A MOV R0,A LCALL DISP1 MOV A,P1 CPL A ANL A,#0FH MOV......

        單片機課程設(shè)計

        單片機課程設(shè)計 --------- 機電汽車工程學院 同組成員:(機091-1) 姓名(學號):......

        單片機課程設(shè)計大全

        基于單片機的計算器設(shè)計、基于單片機的密碼鎖設(shè)計、基于單片機的電機控制、基于單片機的交通燈設(shè)計、基于單片機的八路搶答器設(shè)計、基于單片機的溫度檢測設(shè)計、基于單片機的......

        單片機課程設(shè)計

        目錄 第 1 章概述.....................................................................................6 第 2 章單片機.................................................

        單片機課程設(shè)計

        單片機課程設(shè)計 跑馬燈的控制 摘要:本設(shè)計選擇對跑馬燈的控制,先構(gòu)思跑馬燈實現(xiàn)預想效果,然后進行分 析,根據(jù)要求編寫程序,選擇硬件端口,并進行調(diào)試致預想效果,最后淺談課程設(shè)計的......

        單片機課程設(shè)計

        鎮(zhèn)江高等專科學校課程設(shè)計1 項目要求 基于AT89S51單片機的密碼鎖設(shè)計,具體功能如下: (1)總共可以設(shè)置8位密碼,每位密碼值范圍為1~8。 (2)用戶可自行設(shè)定和修改密碼。 (3)按每個......

        單片機課程設(shè)計

        中北大學單片機原理及接口技術(shù)課程設(shè)計說明書 1 緒論 電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚奈锲罚瑥V泛用于個人、家庭以及車站、影院、辦公室等公共場所,給人們的生活、學習、......