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

正文內(nèi)容

基于stc89c52單片機(jī)畢業(yè)設(shè)計(jì)附原理圖pcb圖源程序仿真圖(編輯修改稿)

2024-12-29 00:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 序、鍵盤掃描程序、啟動(dòng)程序、關(guān)閉程序、建功能程序、密碼設(shè)置程序、 EEPROM 讀寫程序和延時(shí)程序等組成。 圖 41 組成原理 電源輸入電路 三端集成穩(wěn)壓器 LM7805 和 LM7905 是作為固定輸出電壓的典型應(yīng)用。正常復(fù)位電路 振蕩電路 鍵盤電路 開(kāi)鎖電路 STC89C52 單片機(jī) 顯示電路 報(bào)警電路 13 工 作時(shí),輸入、輸出電壓差為 23V。電容 C 為輸入穩(wěn)定電容,其作用是減小紋波,消振、抑制高頻和脈沖干擾,它一般為 。電容 C 為輸出穩(wěn)定電容,其作用是改善負(fù)載的瞬態(tài)響應(yīng),它一般為 1uF。使用三端穩(wěn)壓器時(shí)要根據(jù)輸出電流的大小選擇加散熱器,否則會(huì)由于過(guò)熱而無(wú)法工作到額定電流。 圖 42 電源輸入電路 矩陣鍵盤 由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú) 立式按鍵鍵盤相比,要節(jié)省很多 I/O口。本設(shè)計(jì)中使用的這個(gè) 4*4 鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比如清空顯示功能等。鍵盤的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置 。其大體功能(看鍵盤按鍵上的標(biāo)記)及與單片機(jī)引腳接法。 圖 43 矩陣鍵盤 14 復(fù)位電路 單片機(jī)復(fù)位是使 CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后 PC= 0000H,使單片機(jī)從第 — 個(gè)單元取指令。無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(即 RST 為高電平期間), P0 口為高組態(tài), P1- P3 口輸出高電平;外部程序存儲(chǔ)器讀選通信號(hào) PSEN 無(wú)效。地址鎖存信號(hào) ALE 也為高電平。根據(jù)實(shí)際情況選擇如圖 28 所示的復(fù)位電路。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容 C1 上的電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即 RST 為高電平,在電容充電的過(guò)程中 RST 端電壓逐漸下降,當(dāng) RST 端的電壓小于某一數(shù)值后, CPU 脫離復(fù)位狀態(tài),由于電容 C1 足夠大,可以保證 RST高電平有效時(shí)間大于 24 個(gè)振蕩周期, CPU 能夠可靠復(fù)位。增加手動(dòng)復(fù)位按鍵是為了避免死機(jī)時(shí)無(wú)法可靠復(fù)位。 當(dāng)復(fù)位按鍵按下后電容 C1 通過(guò) R5 放電。當(dāng)電容C1 放電結(jié)束后, RST 端的電位由 R11 與 R15 分壓比決定。由于 R11R15 因此 RST為高電平, CPU 處于復(fù)位狀態(tài),松手后,電容 C1 充電, RST 端電位下降, CPU 脫離復(fù)位狀態(tài)。 R11 的作用在于限制按鍵按下瞬間電容 C1 的放電電流,避免產(chǎn)生火花,以保護(hù)按鍵觸電 。 圖 44 復(fù)位電路 晶振電路 STC89C52 引腳 XTAL1 和 XTAL2 與晶體振蕩器及電容 C C1 按下圖所示方式連接。晶振、電容 C2/ C3 及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn) 式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容 C C2 的容量有關(guān),但主要由晶振頻率決定,范圍在 0~ 33MHz 之間,電容 C C3 取值范圍在 30pF 左右。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用 做系統(tǒng)的外部晶振。電容取值為 33pF。 15 圖 45 晶振電路 報(bào)警電路 報(bào)警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當(dāng)有鍵按下時(shí),“?!甭?,每按一下,發(fā)聲一次,密碼正確時(shí),不發(fā)聲直接開(kāi)鎖,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的 引腳為低電平,三極管 T3 導(dǎo)喇叭發(fā)出噪鳴聲報(bào)警。 圖 46 報(bào)警電路 顯示電路 LCD1602 液晶顯示屏顯示。 圖 47 顯示電路 16 開(kāi)鎖電路 通過(guò)單片機(jī)開(kāi)鎖執(zhí)行機(jī)構(gòu),發(fā)光二極管 D1 發(fā)光以替代達(dá)到開(kāi)鎖的目的。 圖 48 開(kāi)鎖電路 開(kāi)鎖原理: 圖 49 開(kāi)鎖原理 電路總體構(gòu)成 在確定了選用什么型號(hào)的單片機(jī)后,就要確定在外圍電路,其外圍電路包括電源輸入部分、鍵盤輸入部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分、開(kāi)鎖部分組成,根據(jù)實(shí)際情況鍵盤輸入部分選擇 4*4 矩陣鍵盤,顯示部 分選擇LCD1602 液晶顯示屏來(lái)完成。本次設(shè)計(jì)的各大模塊在上述章節(jié)中已仔細(xì)介紹了,將各大模塊融合在一起后組成電子密碼鎖硬件電路,鍵盤輸入模塊和 LCD1602 液晶顯示屏 顯示模塊是最主要的兩大模塊,鍵盤主要是完成密碼的輸入、修改密碼、消除密碼等等任務(wù)。而顯示模塊則是主要完成輸入密碼的顯示以及密碼輸入正確或者錯(cuò)誤的提示。而剩余的就是報(bào)警模塊、開(kāi)鎖模塊以及單片機(jī)的最小系統(tǒng)。開(kāi)鎖顧名思義就是密碼輸入正確后打開(kāi)大門,而報(bào)警主要是為安全著想,當(dāng)有人非法入侵時(shí)便于抓住犯人。單片機(jī)最小系統(tǒng)則是單片機(jī)正常運(yùn)行的保障??偟挠布?路如圖 410。 LED發(fā)光 單片機(jī) 微控制器 STC89C52 低電平 返回 N Y 密碼正確? 17 圖 410 總電路圖 18 5 軟件程序設(shè)計(jì) 電子密碼鎖的軟件設(shè)計(jì)是整個(gè)電子密碼鎖可靠安全運(yùn)行的關(guān)鍵,密碼鎖軟件程序分為 主程序、延時(shí)程序、 LCD1602 液晶顯示屏顯示程序 、修改密碼程序、掃描鍵盤輸入程序、報(bào)警程序 。密碼通過(guò)矩陣鍵盤輸入,并且在 LCD1602 液晶顯示屏上顯示, 如果輸入密碼正確,則可以直接開(kāi)鎖。如果不正確,并且 3 次以上輸入不正確,則 啟動(dòng)報(bào)警系統(tǒng),觸發(fā)蜂鳴器發(fā)聲 。如果要修改密碼,則需要在輸入基礎(chǔ)密碼判別正確后,輸入 修改后的密碼 ,通過(guò)系統(tǒng)確認(rèn)后方可 修改密碼。 為了完成上述任務(wù),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過(guò)程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。而本次設(shè)計(jì)分為四大模塊,分別是鍵盤輸入模塊、 LCD1602 液晶顯示屏顯示模塊、開(kāi)鎖和報(bào)警模塊以及修改密碼模塊,通過(guò)主程序來(lái)實(shí)現(xiàn)控制。 主程序主要內(nèi)容是各程序模塊的調(diào)用,并利用各模塊進(jìn)行電子密碼鎖功能的實(shí)現(xiàn),即是鍵盤輸入密碼并在 LCD1602 液晶顯示屏顯示密碼,當(dāng)密碼輸入完成后,單片機(jī)會(huì)將輸入進(jìn)的密碼與原單片機(jī)內(nèi)部所儲(chǔ)存的密碼進(jìn)行對(duì)比,如若密碼正確,則代表電磁吸合器的發(fā)光二極管會(huì)發(fā) 光,同時(shí) LCD1602 液晶顯示屏?xí)@示出正確的密碼;如若密碼錯(cuò)誤,會(huì)啟動(dòng)計(jì)數(shù)器計(jì)數(shù),當(dāng)錯(cuò)誤次數(shù)超過(guò)三次時(shí),報(bào)警系統(tǒng)會(huì)啟動(dòng)即是蜂鳴器會(huì)發(fā)出報(bào)警聲,以提醒保安。流程圖如圖 51 所示。 19 圖 51 主程序流程 鍵盤模塊流程圖 鍵盤輸入模塊主要包含鍵盤的掃描、延時(shí)去抖、找到鍵值以及返回鍵值。鍵盤掃描時(shí)循環(huán)的,程序編寫是會(huì)使其進(jìn)入是循環(huán),這樣可以檢驗(yàn)出是否有按鍵按下,如果無(wú)按鍵按下就會(huì)進(jìn)入等待有按鍵按下的狀態(tài),如果有按鍵按下的話就進(jìn)入延時(shí)去 抖的步驟,這樣可以肯定的確定掃描到的按鍵是否被按下。經(jīng)過(guò)去抖之后就是確定按鍵的位置即是第幾行和第幾列,找到按鍵后,就是確定鍵值并返回按鍵值,每一次掃描到有鍵按下后,最后都要有釋放閉合按鍵的步驟,這是為了避免影響下一次鍵盤的掃描和按鍵值的讀取。流程圖如圖 52 所示 開(kāi)始 初始化 次數(shù)加 1 輸入密碼 密碼正確? 返回 N Y Y 開(kāi)鎖程序 開(kāi)鎖? N 修改密碼碼? 次數(shù) 3? 報(bào)警程序 修改程序 Y N N Y 20 圖 52 鍵盤模塊流程 按鍵的消抖子程序所示: if(press_on!=0XF0)//按鍵消抖 (時(shí)間自定) { delay(50)。 press_on=KEY_IO。 } 確定鍵值的子程序如下所示: switch(row) { case 0xe0:row=0。break。 case 0xd0:row=1。break。 case 0xb0:row=2。break。 case 0x70:row=3。break。 } switch(col) { case 0x07:col=0。break。 case 0x0b:col=1。break。 case 0x0d:col=2。break。 case 0x0e:col=3。break。 } recieve=key_value[row][col]。 } 鍵盤掃描 返回鍵值 閉合鍵釋放 計(jì)算鍵值 找到閉合鍵 延時(shí)去抖 有鍵閉合 ? Y N 21 LCD 顯示模塊的軟件設(shè)計(jì)主要包含開(kāi)始、初始化 LCD、清除 LCD、寫 LCD 四個(gè)過(guò)程。其中寫包含寫數(shù)據(jù)和寫字符。 寫數(shù)據(jù)的部分程序: //寫數(shù) (5 位數(shù)據(jù) ) void printf_data(uchar row,uchar col,uchar count,uint dat) { uchar sh1,sh2,sh3,sh4,sh5。 sh5=dat/10000。 sh4=dat%10000/1000。 sh3=dat%1000/100。 sh2=dat%100/10。 sh1=dat%10。 write_adr(0x0c)。 switch(row) { case 1:row=0x80。break。 case 2:row=0xc0。break。 default:break。 } write_adr(row+col1)。 delay(500)。 if(count=5) write_data(sh5+48)。 if(count=4) write_data(sh4+48)。 if(count=3) write_data(sh3+48)。 if(count=2) write_data(sh2+48)。 if(count=1) write_data(sh1+48)。 寫字符的小程序?yàn)椋? //寫一段字符 void printf_char(uchar row,uchar col,uchar Inbuffer[31]) { uchar i。 write_adr(0x0c)。 switch(row) { 22 case 1:row=0x80。break。 } 流程圖 53 如下: 圖 53 顯示模塊流程圖 修改密碼模塊主要是在輸入密碼正確之后,按下 14 鍵即是修改密碼鍵就能進(jìn)入修改密碼界面,其流程分為四個(gè)步驟,分別為按下 14 鍵并啟動(dòng)定時(shí)、輸入修改的密碼、按下確認(rèn)鍵 11 鍵、 LCD 的顯示。修改密碼的部分程序如下: //改密碼 void ch_word(void) { unsigned char recieve=0xff,b[10],j=0。 LCD_CLR()。 printf_char(1,1,new_password
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1