基于單片機的數(shù)字萬用表設(shè)計_第1頁
基于單片機的數(shù)字萬用表設(shè)計_第2頁
基于單片機的數(shù)字萬用表設(shè)計_第3頁
基于單片機的數(shù)字萬用表設(shè)計_第4頁
基于單片機的數(shù)字萬用表設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1 基于單片機的數(shù)字萬用表設(shè)計基于單片機的數(shù)字萬用表設(shè)計 摘 要 本次設(shè)計用單片機芯片 AT89C52 設(shè)計一個數(shù)字萬用表 能夠測量直流電壓 值 直流電流 直流電阻 四位數(shù)碼顯示 此系統(tǒng)由分流電阻 分壓電阻 基 準電阻 電容測試芯片電路 51 單片機最小系統(tǒng) 顯示部分 報警部分 AD 轉(zhuǎn)換和控制部分組成 為使系統(tǒng)更加穩(wěn)定 使系統(tǒng)整體精度得以保障 本電路 使用了 AD0809 數(shù)據(jù)轉(zhuǎn)換芯片 單片機系統(tǒng)設(shè)計采用 AT89C52 單片機作為主控 芯片 驅(qū)動液晶顯示管顯示 程序每執(zhí)行周期耗時縮到最短 這樣保證了系統(tǒng) 的實時性 關(guān)鍵詞關(guān)鍵詞 數(shù)字萬用表 AT89C52 單片機 AD 轉(zhuǎn)換與控制 AbstractAbstract This design is design a digital universal meter with chip AT89C52 of one chip computer can measure and hand in direct current pressing value direct current flow the direct current is hindered four numbers show This system is shunted resistance resistance of partial pressure basic resistance minimum system of 51 one chip computers shown that some warning part AD change and control making up partly In order to make the system more steady make the whole precision of the system be ensured this circuit has used AD0809 data to change the chip the one chip computer system is designed to adopt AT89C52 one chip computer as the top management chip urge 4 numbers to be in charge of showing The every execution cycle consuming time of procedure contracts to get shortest in this way the real time character of the security system Keyword Digital universal meter AT89S52 one chip computer AD changes and controls 2 1 設(shè)計背景設(shè)計背景 數(shù)字萬用表亦稱數(shù)字多用表 簡稱 DMM Digtial Multimeter 它是采用 數(shù)字化測量技術(shù) 把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)的 離散的數(shù)字形式并加以顯 示的儀表 傳統(tǒng)的指針式萬用表功能單精度低 不能滿足數(shù)字化時代的需求 采用單片的數(shù)字萬用表 精度高 抗干擾能力強 可擴展尾強 集成方便 目 前 由各種單片機芯片構(gòu)成的數(shù)字電萬用表 已被廣泛用于電子及電工測量 工業(yè)自動化儀表 自動測試系統(tǒng)等智能化測量領(lǐng)域 顯示出強大的生命力 二 數(shù)字萬用表的設(shè)計依據(jù)二 數(shù)字萬用表的設(shè)計依據(jù) 根據(jù)數(shù)字萬用表的原理 結(jié)合以下的設(shè)計要求 設(shè)計一個數(shù)字萬用表 能夠測量直流電壓值 直流電流 直流電阻 四位數(shù)碼顯示 實現(xiàn)多級量程的 直流電壓測量 其量程范圍是 5V 20V 實現(xiàn)多級量程的直流電流測量 其量 程范圍是 2mA 20mA 200mA 實現(xiàn)多級量程的電阻測量 其量程范圍是 200 1k 10k 由此設(shè)想出以下的解決方法 即數(shù)字萬用表的系統(tǒng)由分流電阻 分壓電阻 基準電阻 電容測試芯片電路 51 單片機最小系統(tǒng) 顯示部分 報 警部分 AD 轉(zhuǎn)換和控制部分組成 為使系統(tǒng)更加穩(wěn)定 使系統(tǒng)整體精度得以 保障 三 設(shè)計任務(wù)三 設(shè)計任務(wù) 3 1 設(shè)計目的 采用 8 位 8 路 A D 轉(zhuǎn)換器 ADC0809 和 AT89S52 單片機 設(shè)計一臺數(shù)字多 用表 能進行電壓 電流和電阻的測量 測量結(jié)果通過液晶顯示管顯示 通過 按鍵進行測量功能轉(zhuǎn)換 3 2 設(shè)計指標及要求 電壓測量范圍 0 5 0 20V 電流測量范圍 1 2 1 20 1 200mA 電阻測 量范圍 0 200 0 1K 0 10K 四 設(shè)計思路與總體框圖四 設(shè)計思路與總體框圖 4 1 設(shè)計思路 首先利用 P0 口數(shù)據(jù)地址復(fù)用 將地址通過 P0 口輸入到單片機中 再利用 模數(shù)轉(zhuǎn)換將模擬信號轉(zhuǎn)換成數(shù)字信號 再次利用 P0 口將其輸入到單片機 最后 充分利用單片機強大的運算轉(zhuǎn)化功能將其轉(zhuǎn)成適當?shù)亩M制信號控制數(shù)顯以確 保正確的顯示被測量的讀數(shù) 4 2 總體框圖 3 89S52 振蕩電路 復(fù)位電路 ADC0809 液晶顯示管 顯示 待測電阻電路 阻 待測電流電路 待測電壓電路 圖 1 1 五 五 MCUMCU 主控制器的選擇與論證主控制器的選擇與論證 方案一 此方案采用凌陽公司的 16 位單片機 SPCE061A 作為主控制器 它具有體積小 驅(qū)動能力高 集成度高 易擴展 可靠性高 功耗低 結(jié)構(gòu)簡 單 中斷處理能力強 處理速度高等特點 尤其適用于語音處理和識別等領(lǐng)域 但是其軟件設(shè)計相對復(fù)雜 故我們放棄此方案 方案二 此方案采用 STC 公司的 8 位單片機 STC89C52 作為主控制器 具 有與 MCS 51 指令集完全兼容的 CIP 51 內(nèi)核 但其同樣時鐘下運行速度和抗干 擾能力軍比普通 8051 8 位單片機要高 而且開發(fā)環(huán)境是我們很熟悉的 Keil C51 編 譯效率高 非常適合 C 語言開發(fā)人員 因此我們采用該方案 六 六 A DA D 轉(zhuǎn)換器的選擇與論證轉(zhuǎn)換器的選擇與論證 方案一 此方案選用 12 位串行 A D 轉(zhuǎn)換集成 AD 只需要 根線就 能夠很好的與 相通信組成測量系統(tǒng) 但其輸入電壓不能為負值 故使用 范圍受到了限制 不適合用作負壓測量電路中而且價格較高 因此 我們放棄 此方案 方案二 此方案選用雙積 A D 轉(zhuǎn)換器 AD0809 它的性能比較穩(wěn)定 轉(zhuǎn)換 精度高 具有很高的抗干擾能力 電路結(jié)構(gòu)簡單 其缺點是工作速度較低 它 的特點是在每次 A D 轉(zhuǎn)換前 內(nèi)部電路都自動進行調(diào)零操作 可保證零點在常 溫下的長期穩(wěn)定 4 ST ST EOC O1 O2 O3 O4 O5 O6 O7 O0 OE clock OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF 12 VREF 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U3 ADC0808 5V GND av 圖 2 1 AD 轉(zhuǎn)換電路 七 七 測量電路的選擇與論證測量電路的選擇與論證 7 1 電阻測量 圖 1 所示為數(shù)字多用表的電阻測量輸入電路 運算放大器的反饋電阻 R 作 x 為待測量電阻 通過 R14 R2 R15 及多路開關(guān)接到電源 5V 假定運算放大器 理想 那么放大器的輸出電壓 RV 將 RV 送給 ADC0809 轉(zhuǎn)換后得到 R Rx 5 數(shù)字量為 DV 單片機讀取 A D 轉(zhuǎn)換數(shù)據(jù) 再經(jīng)過逆向運算可得 5 255 RV R 注意此時得到的 R 為二進制數(shù) 需要轉(zhuǎn)化為十進制數(shù)后才能 x255 19 RDV x 送給液晶顯示管顯示 程序中采用 4 字節(jié)專利號除法 連續(xù)進行 4 次除以 10 的 除法 為使電路所求電阻更加精確 故采用了一個單刀三擲開關(guān) 當所測電阻 處于千歐級別時 閉合開關(guān)一 由所得電壓得出待測電阻 當待測電阻處于 200 至一千歐時 如果再次以 10 千歐作為比例電阻 則所測待測電阻準確度大 大下降 顧此時應(yīng)閉合開關(guān)二 以一千歐電阻作為比例電阻 可大大擴大所測 電阻精度 同理當所測電阻為 0 至 200 歐時 閉合開關(guān)三 此時所測電阻才能 更加精確 5 5V R2 1k 2 待測電阻 10k 12V 12V 88 8 Volts 3 2 1 411 U1 A LM324 R15 200 R14 10k 圖 1 電阻測量原理圖 7 2 電壓測量輸入電路 圖 3 所示為數(shù)字多用表的電壓測量輸入電路 待測電壓經(jīng)過低通濾波器濾 除高頻干擾 再送給 ADC0809 電壓測量范圍為 0 5 0 20V ADC0809 的分辨 率為 8 位 當待測電壓為為 0 5V 關(guān)閉開關(guān)一 經(jīng)過濾波電路后此時輸出的電壓 VV Vx 將 VV 送給 ADC0809 轉(zhuǎn)換后得到數(shù)字量為 DV 單片機讀 5 255 VV 取 A D 轉(zhuǎn)換數(shù)據(jù) 再經(jīng)過逆向運算可得 Vx 注意此時得到的 Vx 為二進制 255 VV 數(shù) 需要轉(zhuǎn)化為十進制數(shù)后才能送給液晶管顯示 當電壓為 5 20V 時 因為 AD0809 的工作電壓為 5V 所以需降壓 閉合開關(guān)二 輸出的電壓為待測電壓 的五分之一 6 VV R3 4k R4 1k R5 10k R6 10k R7 10k R3 1 C6 0 1uF C7 0 1uF 12V 12V 88 8 Volts 3 2 1 411 U1 A LM324 圖二 直流電壓的測量 7 3 直流電流的測量 測量電流的原理是 根據(jù)歐姆定律 用合適的取樣電阻把待測電流轉(zhuǎn)換為 相應(yīng)的電壓 再進行測量 如下圖為直流電流的測量原理圖 當輸入一個電流 時 先判斷待測電流大概在哪個范圍內(nèi) 然后根據(jù)下圖中的開關(guān) 來控制待測 電流的精確度和準確度 如輸入一個待測電流時 集成運放正相端電壓即為 V R Ix 同時此電流也經(jīng)過一個交流濾波電路 濾除交流成分 由于 V 最大 值為 0 2V 比較小 若直接輸出 則誤差較大 因此進行同相放大 4 倍 使輸 出的電壓大大提高 從而使輸出的電流更加準確 從運放端輸出的電壓 IV V 4 將 IV 送給 ADC0809 轉(zhuǎn)換后得到數(shù)字量為 DV 單片機讀取 5 255 IV A D 轉(zhuǎn)換數(shù)據(jù) 再經(jīng)過逆向運算可得 Ix 注意此時得到的 Vx 為二進制數(shù) 255 VV 需要轉(zhuǎn)化為十進制數(shù)后才能送給液晶顯示管顯示 根據(jù)不同的開關(guān)可得到在不 同范圍內(nèi)待測電流值 7 20mA200mA2mA AV R8 90 R9 9 R10 1 OFFON 1 2 3 4 5 DSW2 DIPSWC 4 10 9 8 411 U1 C LM324 12V 12V 88 8 Volts DSW2 NO C8 22 3pF R11 470K R12 4k R13 20k 7 4 蜂鳴器的設(shè)置 如下圖所示 為報警部分 當萬用表的外接部分短接時 則電路出現(xiàn)高電 平 此時蜂鳴器發(fā)出聲音 P1 7 GND Q1 2N3053 LS1 SPEAKER 圖四 蜂鳴器的設(shè)計 8 八 結(jié)論和體會八 結(jié)論和體會 8 1 設(shè)計結(jié)果綜述 1 數(shù)字萬用表完成的功能主要是對電壓 電流 電阻的測量 它主要 由分流電阻 分壓電阻 基準電阻 51 單片機最小系統(tǒng) 顯示部分 報警部分 AD 轉(zhuǎn)換和控制部分組成 2 數(shù)字萬用表屬于一種測量工具 其本身的好壞直接影響到測量結(jié)果 3 單片機部分跟 AD 轉(zhuǎn)換部分是整個設(shè)計的核心 ADC0809 的參考電壓 VREF VCC 所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理 在數(shù)碼管上顯示出電壓值 實際顯示的電壓值 D 256 VREF AT89S52 單片機作為主控芯片 配以 RC 上電 復(fù)位電路和 11 0592MHZ 震蕩電路 使系統(tǒng)穩(wěn)定運行 4 在本次軟件設(shè)計過程中 采用的是 c 語言 5 對于硬件的制作 由于布線麻煩等原因 做起來復(fù)雜 對 Proteus 仿真軟件使用不熟練 使畫仿真圖時遇到不少問題 51 單片機基礎(chǔ)知識不扎實 電路分析遇到比較多的問題 捍接也很難 以致未能完全實現(xiàn)設(shè)計報告要求 8 2 體會 這次課程設(shè)計暴露出了很多問題 但在做課程設(shè)計的過程中也學到了很多 東西 比如查閱資料 動手焊接萬用板等等 這些都是平時很少做的 此次課 程設(shè)計讓我對基于單片機的 c 語言有了新的認識 另外對于電子設(shè)計也有基本 的了解 這會讓我在以后更能有效地去學習這方面的知識 對單片機學習有很 大的助益 也在激勵我們多動手 從實踐中去獲取新知識 附錄一附錄一 電路圖仿真圖 圖電路圖仿真圖 圖 2 1 9 ST ST EOC O1 O2 O3 O4 O5 O6 O7 O0 OE OE EOC ST P1 7 K1 K2 K3 K1 K2 K3 O0 O1 O2 O3 O4 O5 O6 O7 VCC ale clock ale clock XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 U1 80C52 C1 33pF C2 33pF X1 CRYSTAL GND C3 10u R1 10k OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF 12 VREF 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U3 ADC0808 5V C4 0 1uF C5 10u VCC Q1 2N3053 LS1 SPEAKER 電壓 電阻 電流 2 3 4 5 6 7 8 9 1 RP1 RESPACK 8 GND GND R3 4k R4 1k R5 10k R6 10k R7 10k R3 1 C6 0 1uF C7 0 1uF 12V 12V Volts 1 44 GND 5 6 7 411 U1 B LM324 D 2 Q 5 CLK 3 Q 6 S 4 R 1 U4 A 74LS74 D 12 Q 9 CLK 11 Q 8 S 10 R 13 U4 B 74LS74 GND GND GND av av 5V D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L A1 A2 A8 A7 A6 A5 A4 A3 A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B2 B1 B3 20mA200mA GND SPEAKER 5V R2 1k 2 待測電阻 10k 12V 12V Volts 0 00 3 2 1 411 U1 A LM324 R15 200 R14 10k R8 90 R9 9 R10 1 10 9 8 411 U1 C LM324 12V 12V Volts 0 01 1 C8 22 3pF R11 470K R12 4k R13 20k 圖 2 1 程序程序 include include include include define define uintuint unsignedunsigned intint define define ucharuchar unsignedunsigned charchar 10 ucharuchar codecode table vAmA table vAmA uintuint i j i j sbitsbit ST P2 0 ST P2 0 sbitsbit EOC P2 1 EOC P2 1 sbitsbit OE P2 2 OE P2 2 sbitsbit k1 P1 0 k1 P1 0 sbitsbit k2 P1 1 k2 P1 1 sbitsbit k3 P1 2 k3 P1 2 sbitsbit x1 P2 4 x1 P2 4 sbitsbit x2 P2 5 x2 P2 5 sbitsbit x3 P2 6 x3 P2 6 sbitsbit E P1 5 E P1 5 sbitsbit RS P1 4 RS P1 4 sbitsbit RW P1 3 RW P1 3 voidvoid delay delay nop nop nop nop nop nop nop nop nop nop voidvoid Delay uintDelay uint i i uintuint x j x j for j 0 j i j for j 0 j i j for x 0 x 148 x for x 0 x 148 x bitbit Busy void Busy void 11 bitbit busy flagbusy flag 0 0 RSRS 0 0 RWRW 1 1 E E 1 1 Delay 5 Delay 5 busy flagbusy flag bit P3 bit P3 0 x80 E E 0 0 returnreturn busy flag busy flag voidvoid wcmd ucharwcmd uchar del del while Busy while Busy RSRS 0 0 RWRW 0 0 E E 0 0 Delay 5 Delay 5 P3P3 del del Delay 5 Delay 5 E E 1 1 Delay 5 Delay 5 E E 0 0 voidvoid wdata ucharwdata uchar del del while Busy while Busy RSRS 1 1 RWRW 0 0 E E 0 0 Delay 5 Delay 5 P3P3 del del Delay 5 Delay 5 E E 1 1 Delay 5 Delay 5 E E 0 0 voidvoid L1602 init void L1602 init void wcmd 0 x38 wcmd 0 x38 12 Delay 5 Delay 5 wcmd 0 x38 wcmd 0 x38 Delay 5 Delay 5 wcmd 0 x38 wcmd 0 x38 Delay 5 Delay 5 wcmd 0 x38 wcmd 0 x38 wcmd 0 x08 wcmd 0 x08 wcmd 0 x0c wcmd 0 x0c wcmd 0 x04 wcmd 0 x04 wcmd 0 x01 wcmd 0 x01 voidvoid L1602 char ucharL1602 char uchar hang ucharhang uchar lie charlie char sign sign ucharuchar a a if hangif hang 1 1 a a 0 x80 0 x80 if hangif hang 2 2 a a 0 xc0 0 xc0 a a a a lielie 1 1 wcmd a wcmd a wdata sign wdata sign voidvoid main main uintuint a1 a2 a3 a4 a1 a2 a3 a4 ucharuchar add add while 1 while 1 ST 0 ST 0 OE 0 OE 0 P0 0 xff P0 0 xff ST 1 ST 1 nop nop nop nop nop nop ST 0 ST 0 nop nop nop nop nop nop nop nop while EOC 0 while EOC 0 OE 1 add P0 OE 1 add P0 nop nop OE 0 OE 0 Delay 30 Delay 30 L1602 init L1602 init if k2 0 if k2 0 13 Delay 10 Delay 10 if k2 0 if k2 0 if x1 0 if x1 0 Delay 10 Delay 10 if x1 0 if x1 0 a1 add 20 1000 a1 add 20 1000 a2 add 20 1000 100 a2 add 20 1000 100 a3 add 20 100 10 a3 add 20 100 10 a4 add 20 10 a4 add 20 10 L1602 char 2 7 table 10 L1602 char 2 7 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 8 table a2 L1602 char 2 8 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 if x2 0 if x2 0 a1 add 10 1000 a1 add 10 1000 a2 add 10 1000 100 a2 add 10 1000 100 a3 add 10 100 10 a3 add 10 100 10 a4 add 10 10 a4 add 10 10 L1602 char 2 8 table 10 L1602 char 2 8 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 7 table a2 L1602 char 2 7 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 if k3 0 if k3 0 if x1 0 if x1 0 a1 add 2 1000 a1 add 2 1000 a2 add 2 1000 100 a2 add 2 1000 100 a3 add 2 100 10 a3 add 2 100 10 a4 add 2 10 a4 add 2 10 L1602 char 2 7 table 10 L1602 char 2 7 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 14 L1602 char 2 8 table a2 L1602 char 2 8 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 L1602 char 2 10 table a4 L1602 char 2 10 table a4 if x2 0 if x2 0 a1 add 5 1000 a1 add 5 1000 a2 add 5 1000 100 a2 add 5 1000 100 a3 add 5 100 10 a3 add 5 100 10 a4 add 5 10 a4 add 5 10 L1602 char 2 7 table 10 L1602 char 2 7 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 8 table a2 L1602 char 2 8 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 if x3 0 if x3 0 a1 add 50 1000 a1 add 50 1000 a2 add 50 1000 100 a2 add 50 1000 100 a3 add 50 100 10 a3 add 50 100 10 a4 add 50 10 a4 add 50 10 L1602 char 2 7 table 10 L1602 char 2 7 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 8 table a2 L1602 char 2 8 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 L1602 char 2 10 table a4 L1602 char 2 10 table a4 if k1 0 if k1 0 if x1 0 if x1 0 a1 add 2 5 1000 a1 add 2 5 1000 a2 add 2 5 1000 100 a2 add 2 5 1000 100 a3 add 2 5 100 10 a3 add 2 5 100 10 a4 add 2 5 10 a4 add 2 5 10 L1602 char 2 8 table 10 L1602 char 2 8 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 7 table a2 L1602 char 2 7 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 if x2 0 if x2 0 15 a1 add 4 1000 a1 add 4 1000 a2 add 4 1000 100 a2 add 4 1000 100 a3 add 4 100 10 a3 add 4 100 10 a4 add 4 10 a4 add 4 10 L1602 char 2 7 table 10 L1602 char 2 7 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 8 table a2 L1602 char 2 8 table a2 L1602 char 2 9 table a3 L1602 char 2 9 table a3 if x3 0 if x3 0 a1 add 80 1000 a1 add 80 1000 a2 add 80 1000 100 a2 add 80 1000 100 a3 add 80 100 10 a3 add 80 100 10 a4 add 80 10 a4 add 80 10 L1602 char 2 9 table 10 L1602 char 2 9 table 10 L1602 char 2 6 table a1 L1602 char 2 6 table a1 L1602 char 2 7 table a2 L1602 char 2 7 table a2 L1602 char 2 8 table a3 L1602 char 2 8 table a3 L1602 char 2 10 table a4 L1602 char 2 10 table a4 附錄二 主要元器件功能介紹附錄二 主要元器件功能介紹 1 AT89S52 芯片功能特性描述芯片功能特性描述 AT89S52 引腳框圖 16 圖 2 12 AT89S52 芯片引腳圖 AT89S52 主要性能 1 與 MCS 51 單片機產(chǎn)品兼容 2 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器 3 1000 次擦寫周期 4 全靜態(tài)操作 0Hz 33Hz 5 三級加密程序存儲器 6 32 個可編程 I O 口線 7 三個 16 位定時器 計數(shù)器 8 八個中斷源 9 全雙工 UART 串行通道 10 低功耗空閑和掉電模式 l 1 掉電后中斷可喚醒 l2 看門狗定時器 13 雙數(shù)據(jù)指針 l 4 掉電標識符 功能特性描述 AT89S52 是一種低功耗 高性能 CMOS8 位微控制器 具有 8K 在系統(tǒng)可 編程 Flash 存儲器 使用 Atmel 公司高密度非易失性存儲器技術(shù)制造 與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容 片上 Flash 允許程序存儲器在系統(tǒng)可編程 亦適于常規(guī)程器 在單芯片上 擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash 使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活 超有效的解決方案 AT89S52 具有以下標準功能 8k 字節(jié) Flash 256 字節(jié) RAM 32 位 I O 口線 看門狗定時器 2 個數(shù)據(jù)指針 三個 16 位定時器 計數(shù)器 一個 6 向量 17 2 級中斷結(jié)構(gòu) 全雙工串行口 片內(nèi)晶振及時鐘電路 另外 AT89S52 可降至 0Hz 靜態(tài)邏輯操作 支持 2 種軟件可選擇節(jié)電模式 空閑模式下 CPU 停止工 作 允許 RAM 定時器 計數(shù)器 串口 中斷繼續(xù)工作 掉電保護方式下 RAM 內(nèi)容被保存 振蕩器被凍結(jié) 單片機一切工作停止 直到下一個中斷或硬 件復(fù)位為止 P1 口 P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I O 口 p1 輸出緩沖 器能驅(qū)動 4 個 TTL 邏輯電平 對 P1 端口寫 1 時 內(nèi)部上拉電阻把端口拉 高 此時可以作為輸入口使用 作為輸入使用時 被外部拉低的引腳由于內(nèi)部 電阻的原因 將輸出電流 IIL 此外 P1 0 和 P1 2 分別作定時器 計數(shù)器 2 的 外部計數(shù)輸 P1 0 T2 和時器 計數(shù)器 2 的觸發(fā)輸入 P1 1 T2EX 具體如下表 所示 在 flash 編程和校驗時 P1 口接收低 8 位地址字節(jié) 表 2 1 P1 口的第二功能 P2 口 P2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I O 口 P2 輸出緩沖 器能驅(qū)動 4 個 TTL 邏輯電平 對 P2 端口寫 1 時 內(nèi)部上拉電阻把端口拉 高 此時可以作為輸入口使用 作為輸入使用時 被外部拉低的引腳由于內(nèi)部 電阻的原因 將輸出電流 IIL 在訪問外部程序存儲器或用 16 位地址讀取外 部數(shù)據(jù)存儲器 例如執(zhí)行 MOVX DPTR 時 P2 口送出高八位地址 在這種 應(yīng)用中 P2 口使用很強的內(nèi)部上拉發(fā)送 1 在使用 8 位地址 如 MOVX RI 訪問外部數(shù)據(jù)存儲器時 P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論