【文章內容簡介】
FLASH存儲器 壽命: 1000 寫 /擦循環(huán) 數據保留時間: 10 年 全靜態(tài)工作: 0Hz24MHz 三級程序存儲器鎖定 1288 位內部 RAM 32 可編程 I/O 線 某某某某 7 兩個 16 位 定時器 /計數器 5 個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內振蕩器和時鐘電路 管腳說明 圖 3— 11 引腳圖 VCC:供電電壓。 GND:接地。 P0 口: P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當P0口的管腳第一次寫 1 時,被定義為 高阻 輸入。 P0能夠用于外部程序數據存儲器,它可以被定義為數據 /地址的第八位。在 FIASH 編程時, P0 口作為原碼輸入口,當 FIASH 進行校驗時, P0 輸出原碼,此時 P0 外部必須被拉高。 P1 口: P1 口是一個內部提供上拉電阻的 8位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL 門電流。 P1 口管腳寫入 1 后,被內部上拉為高,可用作輸入, P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在 FLASH編程和校驗時, P1 口作為第八位地址接收。 P2 口: P2 口為一個內部上拉電阻的 8位雙向 I/O 口, P2 口緩沖器可接收,輸出 4個 TTL 門電流,當 P2 口被寫 “1” 時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。 P2 口當用于外部程序存儲器 或 16 位地址外部數據存儲器進行存取時, P2 口輸出地址的高八位。在給出地址 “1” 時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時, P2 口輸出其特殊功能寄存器的內容。 8 P2口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P3 口: P3 口管腳是 8 個帶內部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當 P3口寫入 “1” 后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。 P3 口也可作為 AT89C51 的一些特殊功能口, 如下表所示: 口管腳 備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時器 0外部輸入) T1(記時器 1外部輸入) /WR(外部數據存儲器寫選通) /RD(外部數據存儲器讀選通) P3 口同時為閃爍編程和編程校驗接收一些 控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平 時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時, ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE只有在執(zhí)行 MOVX, MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次 /PSEN 有效。但在訪問外部數據存儲器時,這兩次有效的 /PSEN 信號將不出現。 /EA/VPP:當 /EA 保持低電平時,則在此期間外部程序存儲器( 0000HFFFFH),不管是否有內部程序存儲器。注意加密方式 1 時, /EA 將內部鎖定為 RESET;當/EA 端保持高電平時,此間內部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入 。 XTAL2:來自反向振蕩器的輸出。 某某某某 9 振蕩器特性 XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。 石晶 振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件, XTAL2應不接。有余輸入至內部 時鐘信號 要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 編輯本段 芯片擦除: 整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫 “1” 且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外, AT89C51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條 件下靜態(tài)邏輯,支持兩種 軟件 可選的掉電模式。在閑置模式下, CPU 停止工作。但 RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存 RAM 的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 電路總體構成 在確定了選用什么型號的單片機后,就要確定在外圍電路,其外圍電路包括電源輸入部分、鍵盤輸入部分、復位部分、晶振部分、顯示部分、報警部分、開 鎖( LED 提示燈)部分組成,規(guī)矩實際情況鍵盤輸入部分選擇 4*4 矩陣鍵盤,顯示部分選擇 LED 數碼管來顯示,密碼儲存用程序燒入來完成。 本設計是以單片機 AT89c51 為核心,運用豐富的 I/O 口,外接矩陣按鍵 電路 ,實現其數字輸入功能,當每一數字鍵按下,將會顯示在共陽的數碼管上,三極管驅動的蜂蜜器將 相應 發(fā)出按鍵音,如果密碼正確, LED 二極管將 發(fā) 亮,開鎖成功 ,LED 二極管不亮,開鎖不成功 。 其原理圖如圖 32所示: 10 E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 10 / T1P 11 / T2P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U18 0C 5 2S1S W P BS2S W P BS3S W P BS4S W P BS5S W P BS6S W P BS7S W P BS8S W P BS9S W P BS 10S W P BS 11S W P BS 12S W P BS 13S W P BS 14S W P BS 15S W P BS 16S W P BR12 20 RD1L E DL S 1S P E A K E RR3R E S 2V C CY1C R Y S T A LC1C A PC2C A PS 17S W P BR2R E S 2+ C3C A P A C I T O R P O LV C C V C CV C C12J1C O N 2V C CQ1P N PQ2P N PR4R E S 2R5R E S 2V C CabfcgdeD P Y1234567abcdefg8dpdpi9j10D S 1D P Y _7 S E G _D P 圖 3—— 2原理圖 電源部分 密碼鎖主控制部分電源需要用 5V 直流電源供電,本設計直接留出電源端 提供外置電源輸入接口,可以使用外置 5V 穩(wěn)壓直流電源供電,即由外部變壓器所得 。其原理圖如圖 33 所示: 12J1CON2VCC 圖 3—— 3電源 鍵盤輸入部分 由于本設計所用到的鍵盤數量較多而不適合用獨立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵盤相比,要節(jié)省很多 I/O 口。本設計使用的這個 4*4 鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,設置功能等。鍵盤的每個按鍵功能在程序設計中設置。其大體功能(看鍵盤上的標記)及與單片機引腳 接法如下圖 34所示: 某某某某 11 S1S W P BS2S W P BS3S W P BS4S W P BS5S W P BS6S W P BS7S W P BS8S W P BS9S W P BS 1 0S W P BS 1 1S W P BS 1 2S W P BS 1 3S W P BS 1 4S W P BS 1 5S W P BS 1 6S W P B 圖 34矩陣開關 復位部分 單片機復位是使 CPU 和系統中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復位后 PC=0000H,是單片機從第一個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復位。在復位接通電源瞬間,電容 C1 上的電壓很小,復位下拉電阻上的期間, P0口為高阻態(tài), P1P3 口輸出高電平;外部程序存儲器讀選通信號 PSEN 無效。地址鎖存信號 ALE 也為高電平。根據實際情況選擇如圖 3— 5 所示的復位電路。該電路在最簡單的復位電路 下增加了手動復位按鍵,在電壓接近電源電壓,即 RST 為高電平,在電容充電的過程中 RST 端電壓逐漸下降,當 RST 端的電壓小于某一數值后, CPU脫離復位狀態(tài),由于電容 C1 足夠大,可以保證 RST 高電平有效時間大于 24 個振蕩周期, CPU 能夠可靠復位。增加手動復位按鍵是為了避免死機時無法可靠復位。當復位按鍵按下后電容 C1 通過 R 放電。當電容 c1 放電結束后, RST 端的電位為高電平。由于 RST 為高電平, CPU 處于復位狀態(tài),松手后,電容 C1 充電, RST端電位下降, CPU 脫離復位狀態(tài)。 S 1 7S W P BR2R ES 2+C3C A P A C I T O R P O LV C C 12 圖 35 復位 晶振部分 AT89C51 引腳 XTAL1 和 XTAL2 與晶體振蕩器及電容 C 按下圖所示方式連接。晶振、電容 C1/C2 及片內與非門構成了電容三點式振蕩器,振蕩信號頻率與晶振頻率及 C C2 的容量有關,但主要由晶振頻率決定,范圍在 0~33MHz 之間,電容 C C2取值范圍在 5~30pF 之間。根據實際情況,本設計中采用 12MHZ 作為系統的外部晶振。電容取值為 30pF。如圖 36所示: 圖 36 晶振 數碼管顯示電路 由于液晶顯示器價格昂貴,而且顯示部分不是本系統的重要部分,因此采用LED 數碼管來顯示器件。由于單片機直接驅動 的直流不夠,數碼管亮度顯得不足,所以加上三極管用以放大電流。在本設計中,采用的共陽數碼管,如圖 37所示: Q1P N PR5R E S 2V C CabfcgdeD P Y1234567abcdefg8dpdpi9j10D S 1D P Y _7 S E G _D P 圖 37數碼管顯示 報警部分 報警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當按鍵下時,“叮 ” 聲,每按一下,發(fā)一聲,密碼正確時,不發(fā)聲直接開鎖,當密碼輸入某某某某 13 錯誤時,單片機的 因較為低電平,三極管 T3 導通蜂鳴器發(fā)出嗓鳴報警。如圖 38所示: L S 1S P E A K E RR3R E S 2V C CQ2P N PR4R E S 2 圖 38報警 開鎖部分 在本次設計中,基于節(jié)省材料的原則,