freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機課程作息時間控制設(shè)計報告-在線瀏覽

2024-09-13 01:55本頁面
  

【正文】 LED顯示、揚聲器等模塊的工作。設(shè)計中使用單個按鍵實現(xiàn)單個功能,屬于較為簡單的控制方式. 、按鍵1控制蜂鳴器發(fā)聲、按鍵2控制LED流水燈、按鍵3控制數(shù)碼管顯示,按鍵4控制作息時間。 DS1302實時時鐘模塊 DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,~。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302與CPU的連接 :實際上,在調(diào)試程序時可以不加電容器, 的晶振即可。 圖4. Ds1302引腳圖 其中Vcc1為后備電源,VCC2為主電源。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。上電運行時,在Vcc≥,RST必須保持低電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK始終是輸入端。位5至位1指示操作單元的地址。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。 數(shù)碼管顯示模塊設(shè)計中采用六位共陽極數(shù)碼管,共陽極是指其公共端接正極,通過單片機AT89C52的P0口控制其位選和段選,以達到動態(tài)顯示相應(yīng)數(shù)值的效果。 硬件電路中,數(shù)碼管顯示的小時、分、秒,通過鍵1選擇,鍵鍵3調(diào)整。 ① 靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要58=40根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個呢:),實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。 LED顯示模塊 LED(Light Emitting Diode),發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。半導(dǎo)體晶片由兩部分組成,一部分是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N型半導(dǎo)體,在這邊主要是電子。當(dāng)電流通過導(dǎo)線作用于這個晶片的時候,電子就會被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會以光子的形式發(fā)出能量,這就是LED發(fā)光的原理。 圖6. LED顯示電路 本次設(shè)計中通過按鍵2來控制其流水顯示,打開電源后按下按鍵2流水燈模塊有效。從原理圖中可以看出,;相反,;同理,~。我們首先把要顯示流水花樣的數(shù)據(jù)建在一個以TAB為標號的數(shù)據(jù)表中,然后通過查表指令“MOVC A,A+DPTR”把數(shù)據(jù)取到累加器A中,然后再送到P1口進行顯示。 揚聲器模塊揚聲器模塊通過按鍵1來實現(xiàn)。 圖7. 揚聲器電路 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。下面我們以電磁式蜂鳴器為例來說明它的工作原理:電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲,當(dāng)輸出高電平時,三極管截止,蜂鳴器的兩引腳間的直流電壓接近于0V,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)輸出低電平時,三極管導(dǎo)通,使蜂鳴器的兩個引腳間獲得將接近+5V的直流電壓,這樣蜂鳴器的電流形成回路,發(fā)出聲音。 硬件原理圖 軟件流程框圖及源程序 、流程框圖 主程序流程圖YYYYP1口置初值0F0H調(diào)用蜂鳴器發(fā)聲程序調(diào)用LED顯示子程序調(diào)用作息時間控制程序KEY1按下?KEY2按下?KEY3按下?KEY4按下?調(diào)用數(shù)碼管顯示程序開始N 蜂鳴器流程圖NY開始循環(huán)時間的初值設(shè)置 循環(huán)結(jié)束?返回主程序 流水燈程序流程圖YY開 始循環(huán)初始化表頭首指送地址指針將寄存器A清零NN返回主程序表中花樣送A顯示并延時花樣是否結(jié)束?到花樣結(jié)束標志? 時間顯示流程圖 作息時間控制流程圖Y開始揚聲器預(yù)響時間設(shè)置DS1302實時時間讀取兩時間是否相同?揚聲器發(fā)聲N延時關(guān)閉揚聲器 作息時間控制的設(shè)計是比較簡單的,其基本思路是我們設(shè)置揚聲器的預(yù)響時間,然后通過DS1302實時時間的讀取與預(yù)響時間做比較,如果兩者相同那么揚聲器發(fā)聲,如果兩者不相同那么返回DS1302實時時間繼續(xù)讀取,直到與揚聲器預(yù)響時間相同揚聲器發(fā)聲,然后通過延時關(guān)閉揚聲器。 //宏定義位,也即IO口定義sbit key2=P3^5。 sbit key4=P3^7。sbit dula=P2^6。sbit bear=P2^3。 //定義各符號uchar aa,bb,numdu,numwe。 //主功能符號定義uchar code tablew[]={0x71,0x6d,0x5b,0x3f, 0x6d,0x5b,0x06, }。uchar code table[]={0x3f,0x06,0x5b,0x4f, //主功能數(shù)組定義 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e, 0x79,0x71}。 //子函數(shù)聲明void w2()。void w4()。 void timer0()。 //主功能子函數(shù)聲明 void init()。void keyscan()。void time1()。 key2=1。 key4=1。 while(!key2)w2()。 while(!key4)w4()。 //延時防抖,松手檢測 if(key1) { fm=!fm。 if(!key2) { delayms(300)。 //賦初值11111110 while(1) //大循環(huán) { P1=aa。 //延時500毫秒 aa=_crol_(aa,1)。 if(key2) goto loop1。 P0=0xff。 if(key3) { numdu=0。 while(1) { numdu++。 dula=1。 //送段碼 dula=0。 //開位鎖存器 P0=tablewe[numwe]。 //鎖存位碼 numwe++。 delayms(5)。 if(key3) goto loop2。 if(key4) { init()。 alarm()。 for(i=xms。i) //i=xms即延時約xms毫秒 for(j=110。j)。 for(x=0。x++) for(y=0。y++)。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1