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

正文內(nèi)容

基于at89c51單片機(jī)的聲光控制開(kāi)關(guān)設(shè)計(jì)(編輯修改稿)

2024-11-29 18:39 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 與聲音信號(hào)對(duì)應(yīng) 的電壓 值 .若有聲音時(shí)則會(huì)輸出一電壓值 ,由于傳聲器轉(zhuǎn)換的電壓值非常小 ,所以必須將該電壓經(jīng)過(guò) LM324 運(yùn)算放大器進(jìn)行放大 ,放大倍數(shù)為 RV1/R9,RV1 為可變電阻 ,通過(guò)調(diào)節(jié)其阻值使其放大倍數(shù)產(chǎn)生變化 ,起到了調(diào)節(jié)聲音靈敏度的作用 . 放大后的電壓必須經(jīng)過(guò) AD0832 進(jìn)行模數(shù)轉(zhuǎn)換 ,由單片機(jī)內(nèi)部程序?qū)D(zhuǎn)換值進(jìn)行對(duì)比 .當(dāng)值高于預(yù)設(shè)值時(shí)單片機(jī)啟動(dòng) T0 計(jì)時(shí)中斷和照明燈控制電路 ,使照明燈點(diǎn)亮 ,并通過(guò)數(shù)碼管顯示倒計(jì)時(shí)時(shí)間 .當(dāng)沒(méi)有聲音或聲音微弱時(shí) ,系統(tǒng)不進(jìn)行下一步的工作 . 單片機(jī)最小系統(tǒng)、時(shí)鐘電路與復(fù)位電路 單片機(jī)最小應(yīng)用系統(tǒng) [6],是指用最少的原件組成的單片機(jī)可以工作的系統(tǒng) .對(duì)于 51 系列單片機(jī)來(lái)說(shuō) ,最小系統(tǒng)應(yīng)包括單片機(jī)、復(fù)位電路、晶振電路 . 最小系統(tǒng)電路圖如圖 6所示 : 圖 6 單片機(jī)最小系統(tǒng) AT89C51 單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種 .內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式 .本 9 設(shè)計(jì)采用內(nèi)部時(shí)鐘方式 ,利用芯片內(nèi)部的振蕩電路 ,在 XTAL XTAL2 引腳上外接定時(shí)元件 ,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩 . 內(nèi)部方式時(shí) ,時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻 .系統(tǒng)對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求 ,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性 .因此本系統(tǒng)的晶體振蕩器的值為 12MHZ,電容取 30pF. 當(dāng)操作或程序運(yùn)行出錯(cuò)使系統(tǒng)處于死鎖狀態(tài)時(shí) ,為了擺脫困境可以通過(guò)復(fù)位鍵重新啟動(dòng) .當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí) ,且振蕩器穩(wěn)定后 ,如果 RST 引腳上有一個(gè)高電平并維持 2 個(gè)機(jī)器周期 (24 個(gè)振蕩周期 )以上 ,則 CPU 就可以響應(yīng)并將系統(tǒng)復(fù)位 .單片機(jī)系統(tǒng)的復(fù)位方式有 :手動(dòng)按鈕復(fù)位和上電復(fù)位 . 本設(shè)計(jì)使用的是按鍵手動(dòng)復(fù)位 .手動(dòng)按 鈕復(fù)位需要人為在復(fù)位輸入端 RST 上加入高電平 .一般采用的辦法是在 RST端和正電源 VCC之間接一個(gè)按鈕 .在按鍵復(fù)位的使用過(guò)程中 ,按鍵抖動(dòng)現(xiàn)象是不容忽視的 ,所以為了確保按鍵的一次閉合單片機(jī)只處理一次 ,就必須在設(shè)計(jì)時(shí)考慮到抖動(dòng)的消除 . 延時(shí)顯示電路 數(shù)碼管 [7]是此系統(tǒng)將用到的必要元器件 .數(shù)碼管是一種半導(dǎo)體發(fā)光器件 ,其基本單元是發(fā)光二極管 .數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管 ,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元 (多一個(gè)小數(shù)點(diǎn)顯示 )。按能顯示多少個(gè)“8” 可分為 1 位、 2位、 4位、 5 位、 6位、 7位等數(shù)碼管 。按 發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管 .共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極 (COM)的數(shù)碼管 ,共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM 接到 +5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí) ,相應(yīng)字段就點(diǎn)亮 ,當(dāng)某一字段的陰極為高電平時(shí) ,相應(yīng)字段就不亮 .共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極 (COM)的數(shù)碼管 ,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線 GND上 ,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí) ,相應(yīng)字段就點(diǎn)亮 ,當(dāng)某一字段的陽(yáng)極為低電平時(shí) ,相應(yīng)字段就不亮 . led 數(shù)碼 管 (LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8” 字型的器件 ,引線已在內(nèi)部連接完成 ,只需引出它們的各個(gè)筆劃 ,公共電極 .led 數(shù)碼管常用段數(shù)一般為 7段有的另加一個(gè)小數(shù)點(diǎn) ,還有一種是類似于 3位“+1” 型 .位數(shù)有半位 ,1,2,3,4,5,6,8,10 位等等 ,led 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽(yáng)兩類 ,了解 LED 的這些特性 ,對(duì)編程是很重要的 ,因?yàn)椴煌愋偷臄?shù)碼管 ,除了它們的硬件電路有差異外 ,編程方法也是不同的 .圖 7 這是一個(gè) 7段兩位帶小數(shù)點(diǎn) 10 引腳的 LED 數(shù)碼管 ,引腳定義每 一筆劃都是對(duì)應(yīng)一個(gè)字母表 10 示 ,DP是小數(shù)點(diǎn) ,圖 8 這是 10 引腳的 LED 數(shù)碼管 . 圖 7 LED 數(shù)碼管引腳定義 圖 8 10 引腳的 LED 數(shù)碼管 數(shù)碼管要正常顯示 ,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼 ,從而顯示出我們要的數(shù)字 ,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同 ,可以分為靜態(tài)式和動(dòng)態(tài)式兩類 . 靜 態(tài)顯示驅(qū)動(dòng) 靜態(tài) 驅(qū)動(dòng)也稱直流驅(qū)動(dòng) .靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè) 單片機(jī) 的 I/O端口進(jìn)行驅(qū)動(dòng) ,或者使用如 BCD碼二 十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng) .靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單 ,顯示亮度高 ,缺點(diǎn)是占用 I/O 端口多 ,如驅(qū)動(dòng) 5個(gè)數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 端口來(lái)驅(qū)動(dòng) ,實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng) ,增加了硬件電路的復(fù)雜性 . 動(dòng)態(tài)顯示驅(qū)動(dòng) 數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一 ,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 “ a,b,c,d,e,f,g,dp” 的同名端連在一起 ,另外為每 個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路 ,位選通由各自獨(dú)立的 I/O 線控制 ,當(dāng)單片機(jī)輸出字形碼時(shí) ,所有數(shù)碼管都接收到相同的字形碼 ,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出字形 ,取決于單片機(jī)對(duì)位選通 COM 端電路的控制 ,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi) ,該位就顯示出字形 ,沒(méi)有選通的數(shù)碼管就不會(huì)亮 .通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的 COM 端 ,就使各個(gè)數(shù)碼管輪流受控顯示 ,這就是動(dòng)態(tài)驅(qū)動(dòng) .在輪流顯示過(guò)程中 ,每位數(shù)碼管的點(diǎn)亮?xí)r間為 1~ 2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng) ,盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮 ,但只要掃描的速度足夠快 ,給人的 印象就是一組穩(wěn)定的顯示數(shù)據(jù) ,不會(huì)有閃爍感 ,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的 ,能夠節(jié)省大量的 I/O端口 ,而且功耗更低 . AT89C51芯片內(nèi)有兩個(gè) 16位的定時(shí) /計(jì)數(shù)器 ,都可以由軟件來(lái)設(shè)定 .在此設(shè)計(jì)中用到的是 T0 作為定時(shí)器 .由于在系統(tǒng)中需要設(shè)置延時(shí)時(shí)間電路 ,目的是在照明燈點(diǎn)亮后經(jīng)過(guò)一定延時(shí)能自動(dòng)熄滅 .電路中采用了單片機(jī)內(nèi)部定時(shí)器 . 定時(shí) /計(jì)數(shù)部分 AT89C51 芯片內(nèi)有兩個(gè) 16 位的定時(shí) /計(jì)數(shù)器 ,都可以由軟件 11 來(lái)設(shè)定 .在此設(shè)計(jì)中用到的是 T0 作為定時(shí)器 .由于在系統(tǒng)中需要設(shè)置延時(shí)時(shí)間電路 ,目的是在照明燈點(diǎn)亮后經(jīng)過(guò)一定延 時(shí)能自動(dòng)熄滅 .電路中采用了單片機(jī)內(nèi)部定時(shí)器 . 顯示電路分析 系統(tǒng)功能中有一點(diǎn)是可以根據(jù)場(chǎng)所及使用人群的不同設(shè)置不同的延時(shí)時(shí)間值 .雖然動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的 ,但動(dòng)態(tài)顯示能夠節(jié)省大量的 I/O端口 ,而且功耗更低 .所以設(shè)計(jì)中采用 LED動(dòng)態(tài)顯示方式顯示倒計(jì)時(shí)數(shù)據(jù) .電路如圖 9所示 : 圖 9 延時(shí)時(shí)間顯示電路 由圖可知采用了共陰極的 2位數(shù)碼顯示管做顯示電路 ,所以只要數(shù)碼管的 a、b、 c、 d、 e、 f、 g、 h 引腳為高電平 ,那么其對(duì)應(yīng)的二極管就會(huì)發(fā)光 ,使數(shù)碼顯示管顯示 0~ 9的編碼見(jiàn)表 2. 表 2 共陰極數(shù)碼顯示管字型代 碼 字型 共陰極代碼 字型 共陰極代碼 0 3FH 5 6DH 1 06H 6 7DH 2 5BH 7 07H 3 4FH 8 7FH 4 66H 9 6FH 為了實(shí)現(xiàn)不同場(chǎng)所及使用人群的不同而燈亮的時(shí)間不一 ,在單片機(jī)的 P1 口接入了三個(gè)按鍵 .電路如圖 9所示 .當(dāng)單片機(jī)進(jìn)行按鍵掃描時(shí) ,如果 燈亮?xí)r間為 10s,并且顯示器進(jìn)行 10s 倒計(jì)時(shí) 。如果 口按下則為 20s 倒計(jì)時(shí) 。 12 如果 口按下則為 30s. 數(shù)碼顯示管的八位段選端接入單片機(jī)的 P0口 ,而位選端由 P2口控制 ,分別為 口為十 位 , 口為個(gè)位 .設(shè)計(jì)中采用了 目前最常用的軟件消抖的方法 ,選擇 5ms 的延時(shí)來(lái)消除抖動(dòng) ,延時(shí)后在進(jìn)行一次按鍵是否閉合 . 圖 10 按鍵接口電路 圖 10 中的按鍵部分可以進(jìn)行擴(kuò)展 ,如果接入一個(gè)鍵盤則可以對(duì)延時(shí)時(shí)間自行進(jìn)行設(shè)置 .由于本設(shè)計(jì)中按鍵功能已經(jīng)可以滿足需要 ,所以沒(méi)有進(jìn)行擴(kuò)展 . 13 總原理圖 圖 11 總原理圖 3 系統(tǒng)軟件流程圖 本系統(tǒng)的軟件設(shè)計(jì)是通過(guò) C 語(yǔ)言進(jìn)行編程 ,主要有主程序、鍵盤掃描程序、初始化程序、 A/D 轉(zhuǎn)換程序、延時(shí)程序等部分組成 .主程序流程圖如圖 12 所示 : 14 圖 12 系統(tǒng)流程圖 延時(shí)程序 在整個(gè) 編寫程序中要用到許多的延時(shí) ,所以程序中包含一個(gè)大約為 1ms 的延時(shí)子程序 ,方便在程序中的調(diào)用 ,程序代碼如下 : //延時(shí)子程序 。 void delay(uint z) { uint x,y。 for(x=z。x0。x) for(y=125。y0。y)。 } 按鍵掃描子程序 由于在 P1 口接入了三個(gè)按鍵 ,通過(guò)按鍵掃描來(lái)確定定時(shí)的時(shí)間長(zhǎng)度 ,所以先 15 寫入一個(gè)按鍵掃描子程序 ,可在主程序中直接調(diào)用 .程序代碼如下 : //鍵盤掃描函數(shù) 。 void keyscan() { if(key1==0) { delay(5)。 //消抖 。 if(key1==0) //按下 key1 燈亮?xí)r間為 10s。 { temp=10。 //10s 延時(shí) 。 } } if(key2==0) { delay(5)。 //消抖 。 if(key2==0) //按下 key2 燈亮?xí)r間為 20s。 { temp=20。 } } if(key3==0) { delay(5)。 //消抖 。 if(key3==0) //按
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1