




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于at89c52的數(shù)字式壓力表設計及實現(xiàn)一 設計要求4位led顯示傳感器調(diào)理電路a/d電路數(shù)據(jù)處理0 4.883v10v15vmax197如1/2本數(shù)字式壓力表傳感器能夠辨識-10kn到+10kn壓力,需設計傳感器供電電路,即10v穩(wěn)壓電路。傳感器在量程范圍內(nèi)返回-17mv到+17mv電壓,以供ad采樣電路進行模擬到數(shù)字轉(zhuǎn)換,為使原始數(shù)據(jù)能夠達到足夠采樣精度,需設計調(diào)理電路及相應的供電電路。數(shù)據(jù)處理模塊需設計計算機代碼及相應的顯示模塊,如led,用以用戶查看當前的壓力信息。二 器件選型2.1 傳感器傳感器默認為老師指定型號,由于提供了供電管腳及信號管腳,則可對該類傳感器進行應用。2.2 調(diào)理
2、電路調(diào)理電路為實現(xiàn)放大及濾波功能,選用ad620及op07,按照典型電路進行連接。其中ad620為低成本,高精度的單片儀器放大器,為8引腳soic塑封外形,見圖1,其主要特點如表1。表1供電電源增益選擇增益范圍最大增益誤差%帶寬功耗-2.3至18v電阻編程1至10k0.7%1mhz最大650mv輸入失調(diào)電壓輸入失調(diào)漂移輸入偏置電流最小共模抑制比溫度范圍最大125uv最大1uv/攝氏度最大20na93db-40至85攝氏度圖1 ad620塑封外形 圖2 op07塑封外形ad620具有高精度(最大非線性度40 ppm)、低失調(diào)電壓(最大50 v)和低失調(diào)漂移(最大0.6 v/c)特性,是電子秤和傳
3、感器接口等精密數(shù)據(jù)采集系統(tǒng)的理想之選。它還具有低噪聲、低輸入偏置電流和低功耗特性,使之非常適合ecg和無創(chuàng)血壓監(jiān)測 儀等醫(yī)療應用。由于其輸入級采用supereta處理,因此可以實現(xiàn)最大1.0 na的低輸入偏置電流。ad620在1 khz時具有9 nv/hz的低輸入電壓噪聲,在0.1 hz至10 hz頻帶內(nèi)的噪聲為0.28 v峰峰值,輸入電流噪聲為0.1 pa/ hz,因而作為前置放大器使用效果很好。同時,ad620的0.01%建立時間為15 s,非常適合多路復用應用;而且成本很低,足以實現(xiàn)每通道一個儀表放大器的設計。op07芯片是一種低噪聲,塑封見圖2,非斬波穩(wěn)零的雙極性運算放大器集成電路。由
4、于op07具有非常低的輸入失調(diào)電壓(對于op07a最大為 25v),所以op07在很多應用場合不需要額外的調(diào)零措施。op07同時具有輸入偏置電流低(op07a為2na)和開環(huán)增益高(對于op07a為 300v/mv)的特點,這種低失調(diào)、高開環(huán)增益的特性使得op07特別適用于高增益的測量設備和放 大傳感器的微弱信號等方面,以下為其部分特性:超低偏移: 150v最大。 低輸入偏置電流: 1.8na 。低失調(diào)電壓漂移: 0.5v/ 。 超穩(wěn)定,時間: 2v/month最大高電源電壓范圍: 3v至22v。2.3 ad模塊模數(shù)轉(zhuǎn)換模塊選用max197進行模數(shù)轉(zhuǎn)換,塑封圖見圖3。max197無需外接元器件
5、就可獨立完成a/d轉(zhuǎn)換功能。它可分為內(nèi)部采樣模式和外部采樣模式,采樣模式由控制寄存器的d5位決定。在內(nèi)部采樣控制模式 (控制位置0)中,由寫脈沖啟動采樣間隔,經(jīng)過瞬間的采樣間隔(芯片時鐘為2mhz時,為3ms),即開始a/d轉(zhuǎn)換。在外部采樣模式(d5=1)中,由 兩個寫脈沖分別控制采樣和a/d轉(zhuǎn)換。在第一個寫脈沖出現(xiàn)時,寫入acqmod為1,開始采樣間隔。在第二個寫脈沖出現(xiàn)時,寫入控制字acqmod為 0,max197停止采樣,開始a/d轉(zhuǎn)換。這兩個寫脈沖之間的時間間隔為一次采樣時間。當一次轉(zhuǎn)換結(jié)束后,max197相應的int引腳置低電平,通知 處理器可以讀取轉(zhuǎn)換結(jié)果。內(nèi)部采樣模式的數(shù)據(jù)轉(zhuǎn)換時
6、序?qū)τ谀M到數(shù)字量的轉(zhuǎn)換,時序要求非常嚴格,由于max197的數(shù)字信號輸出引腳是復用的,要正確讀 出轉(zhuǎn)換結(jié)果,時序要求尤其重要。在一次采樣開始前,可以通過單片機的8位數(shù)據(jù)線把這些控制字寫入max197來初始化相應的參數(shù)。然后按照一定的時序進行 采樣和轉(zhuǎn)換。圖3 max197塑封圖對于模擬到數(shù)字量的轉(zhuǎn)換,時序要求非常嚴格,由于max197的數(shù)字信號輸出引腳是復用的,要正確讀出轉(zhuǎn)換結(jié)果,時序要求尤其重要。在一次采樣開始前,可 以通過單片機的8位數(shù)據(jù)線把這些控制字寫入max197來初始化相應的參數(shù)。然后按照一定的時序進行采樣和轉(zhuǎn)換。 圖3中hben為12位數(shù)據(jù)高4位或低8位有效控制位,當此位為高時,
7、高4位數(shù)據(jù)有效,為低時低8位數(shù)據(jù)有效??梢酝ㄟ^控制這個引腳來讀取12位的轉(zhuǎn)換結(jié)果。2.4 數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊選用at89c52內(nèi)核單片機,外圍電路選用max232實現(xiàn)串口通信,led用以顯示用戶期望數(shù)據(jù)。at89c52是51系列單片機的一個型號,它是atmel公司生產(chǎn)的。at89c52是一個低電壓,高性能cmos 8位單片機,片內(nèi)含8k bytes的可反復擦寫的flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術生產(chǎn),兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,功能強大的at89c52
8、單片機可為您提供許多較復雜系統(tǒng)控制應用場合。at89c52有40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,at89c52可以按照常規(guī)方法進行編程,但不可以在線編程(s系列的才支持在線編程)。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復擦寫的flash存儲器可有效地降低開發(fā)成本。兼容mcs51指令系統(tǒng) 8k可反復擦寫(1000次)flash rom 32個雙向i/o口 256x8bit內(nèi)部ram 3個16位可編程定時/計數(shù)器中斷 時鐘頻率0-24mhz 2個串行中斷 可編程uart串行通道
9、 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設置睡眠和喚醒功能 at89c52p為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。vc
10、c(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu 的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。p0 口p0 口是一組8 位漏極開路型雙向i/o 口, 也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式
11、驅(qū)動8 個ttl邏輯門電路,對端口p0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在flash 編程時,p0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。p1 口p1 是一個帶內(nèi)部上拉電阻的8 位雙向i/o 口, p1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。與at89c52 不同之處是,
12、p1.0 和p1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(p1.0/t2)和輸入(p1.1/t2ex),參見表1。flash 編程和程序校驗期間,p1 接收低8 位地址。表1.p1.0和p1.1的第二功能引腳號功能特性p1.0t2,時鐘輸出p1.1t2ex(定時/計數(shù)器2)p2 口p2 是一個帶有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口p2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。在訪問外部程序存儲器或16
13、位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr 指令)時,p2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movx ri 指令)時,p2 口輸出p2 鎖存器的內(nèi)容。flash 編程或校驗時,p2亦接收高位地址和一些控制信號。p3 口p3 口是一組帶有內(nèi)部上拉電阻的8 位雙向i/o 口。p3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對p3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的p3 口將用上拉電阻輸出電流(iil)。p3 口除了作為一般的i/o 口線外,更重要的用途是它的第二功能p3 口還接收一些用于flash
14、閃速存儲器編程和程序校驗的控制信號。rst復位輸入。當振蕩器工作時,rst引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。ale/prog當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ale 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ale 脈沖。對flash 存儲器編程期間,該引腳還用于輸入編程脈沖(prog)。如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh 單元的d0 位置位,可禁止ale 操作。該位置位后,只有一條movx 和movc指令
15、才能將ale 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ale 禁止位無效。psen程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當at89c52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次psen 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次psen信號。ea/vpp外部訪問允許。欲使cpu 僅訪問外部程序存儲器(地址為0000hffffh),ea 端必須保持低電平(接地)。需注意的是:如果加密位lb1 被編程,復位時內(nèi)部會鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu 則執(zhí)行內(nèi)部程序存儲器中的指令。flash 存儲器編程時
16、,該引腳加上+12v 的編程允許電源vpp,當然這必須是該器件是使用12v 編程電壓vpp。xtal1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。xtal2振蕩器反相放大器的輸出端。特殊功能寄存器在at89c52 片內(nèi)存儲器中,80h-ffh 共128 個單元為特殊功能寄存器(sfe),sfr 的地址空間映象如表2 所示。并非所有的地址都被定義,從80hffh 共128 個字節(jié)只有一部分被定義,還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。不應將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復位后這些單
17、元數(shù)值總是“0”。 at89c52除了與at89c52所有的定時/計數(shù)器0 和定時/計數(shù)器1 外,還增加了一個定時/計數(shù)器2。定時/計數(shù)器2 的控制和狀態(tài)位位于t2con、t2mod,寄存器對(rcao2h、rcap2l)是定時器2 在16 位捕獲方式或16 位自動重裝載方式下的捕獲/自動重裝載寄存器。數(shù)據(jù)存儲器at89c52 有256 個字節(jié)的內(nèi)部ram,80h-ffh 高128 個字節(jié)與特殊功能寄存器(sfr)地址是重疊的,也就是高128字節(jié)的ram 和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當一條指令訪問7fh 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式
18、決定是訪問高128 字節(jié)ram 還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器0a0h(即p2 口)地址單元。mov 0a0h,#data間接尋址指令訪問高128 字節(jié)ram,例如,下面的間接尋址指令中,r0 的內(nèi)容為0a0h,則訪問數(shù)據(jù)字節(jié)地址為0a0h,而不是p2 口(0a0h)。mov r0,#data堆棧操作也是間接尋址方式,所以,高128 位數(shù)據(jù)ram 亦可作為堆棧區(qū)使用。定時器0和定時器1:at89c52的定時器0和定時器1 的工作方式與at89c52 相同。定時器2定時器2 是一個16 位定時/計數(shù)器。它既可當定時
19、器使用,也可作為外部事件計數(shù)器使用,其工作方式由特殊功能寄存器t2con(如表3)的c/t2 位選擇。定時器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由t2con 的控制位來選擇。定時器2 由兩個8 位寄存器th2 和tl2 組成,在定時器工作方式中,每個機器周期tl2 寄存器的值加1,由于一個機器周期由12 個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/12。在計數(shù)工作方式時,當t2 引腳上外部輸入信號產(chǎn)生由1 至0 的下降沿時,寄存器的值加1,在這種工作方式下,每個機器周期的5sp2 期間,對外部輸入進行采樣。若在第一個機器周期中采到的值為1
20、,而在下一個機器周期中采到的值為0,則在緊跟著的下一個周期的s3p1 期間寄存器加1。由于識別1 至0 的跳變需要2 個機器周期(24 個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。捕獲方式在捕獲方式下,通過t2con 控制位exen2 來選擇兩種方式。如果exen2=0,定時器2 是一個16 位定時器或計數(shù)器,計數(shù)溢出時,對t2con 的溢出標志tf2 置位,同時激活中斷。如果exen2=1,定時器2 完成相同的操作,而當t2ex 引腳外部輸入信號發(fā)生1 至0 負跳變時,也出現(xiàn)th2
21、和tl2 中的值分別被捕獲到rcap2h 和rcap2l 中。另外,t2ex 引腳信號的跳變使得t2con 中的exf2 置位,與tf2 相仿,exf2 也會激活中斷。捕獲方式如圖4 所示。自動重裝載(向上或向下計數(shù)器)方式當定時器2工作于16位自動重裝載方式時,能對其編程為向上或向下計數(shù)方式,這個功能可通過特殊功能寄存器t2con的dcen 位(允許向下計數(shù))來選擇的。復位時,dcen 位置“0”,定時器2 默認設置為向上計數(shù)。當dcen置位時,定時器2 既可向上計數(shù)也可向下計數(shù),這取決于t2ex 引腳的值,參見圖5,當dcen=0 時,定時器2 自動設置為向上計數(shù),在這種方式下,t2con
22、 中的exen2 控制位有兩種選擇,若exen2=0,定時器2 為向上計數(shù)至0ffffh 溢出,置位tf2 激活中斷,同時把16 位計數(shù)寄存器rcap2h 和rcap2l重裝載,rcap2h 和rcap2l 的值可由軟件預置。若exen2=1,定時器2 的16 位重裝載由溢出或外部輸入端t2ex 從1 至0 的下降沿觸發(fā)。這個脈沖使exf2 置位,如果中斷允許,同樣產(chǎn)生中斷。定時器2 的中斷入口地址是:002bh 0032h 。當dcen=1 時,允許定時器2 向上或向下計數(shù),如圖6 所示。這種方式下,t2ex 引腳控制計數(shù)器方向。t2ex 引腳為邏輯“1”時,定時器向上計數(shù),當計數(shù)0ffff
23、h 向上溢出時,置位tf2,同時把16 位計數(shù)寄存器rcap2h 和rcap2l 重裝載到th2 和tl2 中。 t2ex 引腳為邏輯“0”時,定時器2 向下計數(shù),當th2 和tl2 中的數(shù)值等于rcap2h 和rcap2l中的值時,計數(shù)溢出,置位tf2,同時將0ffffh 數(shù)值重新裝入定時寄存器中。當定時/計數(shù)器2 向上溢出或向下溢出時,置位exf2 位。波特率發(fā)生器當t2con(表3)中的tclk 和rclk 置位時,定時/計數(shù)器2 作為波特率發(fā)生器使用。如果定時/計數(shù)器2 作為發(fā)送器或接收器,其發(fā)送和接收的波特率可以是不同的,定時器1 用于其它功能,如圖7 所示。若rclk 和tclk
24、置位,則定時器2工作于波特率發(fā)生器方式。波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,th2 翻轉(zhuǎn)使定時器2 的寄存器用rcap2h 和rcap2l 中的16位數(shù)值重新裝載,該數(shù)值由軟件設置。在方式1 和方式3 中,波特率由定時器2 的溢出速率根據(jù)下式確定:方式1和3的波特率=定時器的溢出率/16定時器既能工作于定時方式也能工作于計數(shù)方式,在大多數(shù)的應用中,是工作在定時方式(c/t2=0)。定時器2 作為波特率發(fā)生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機器周期(1/12 振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時,在每個狀態(tài)時間(1/2 振蕩頻率)寄存器的值加
25、1。波特率的計算公式如下:方式1和3的波特率=振蕩頻率/32*65536-(rcp2h,rcp2l)式中(rcap2h,rcap2l)是rcap2h 和rcap2l中的16 位無符號數(shù)。定時器2 作為波特率發(fā)生器使用的電路如圖7 所示。t2con 中的rclk 或tclk=1 時,波特率工作方式才有效。在波特率發(fā)生器工作方式中,th2 翻轉(zhuǎn)不能使tf2 置位,故而不產(chǎn)生中斷。但若exen2 置位,且t2ex 端產(chǎn)生由1 至0 的負跳變,則會使exf2 置位,此時并不能將(rcap2h,rcap2l)的內(nèi)容重新裝入th2 和tl2 中。所以,當定時器2 作為波特率發(fā)生器使用時,t2ex 可作為附
26、加的外部中斷源來使用。需要注意的是,當定時器2 工作于波特率器時,作為定時器運行(tr2=1)時,并不能訪問th2 和tl2。因為此時每個狀態(tài)時間定時器都會加1,對其讀寫將得到一個不確定的數(shù)值。然而,對rcap2 則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或rcap2 寄存器之前,應將定時器關閉(清除tr2)??删幊虝r鐘輸出定時器2 可通過編程從p1.0 輸出一個占空比為50%的時鐘信號,如圖8 所示。p1.0 引腳除了是一個標準的i/o 口外,還可以通過編程使其作為定時/計數(shù)器2 的外部時鐘輸入和輸出占空比50%的時鐘脈沖。當時鐘振蕩頻率為16
27、mhz 時,輸出時鐘頻率范圍為61hz4mhz。當設置定時/計數(shù)器2 為時鐘發(fā)生器時,c/t2(t2con .1)=0,t2oe (t2mod.1) =1,必須由tr2(t2con.2)啟動或停止定時器。時鐘輸出頻率取決于振蕩頻率和定時器2 捕獲寄存器(rcap2h,rcap2l)的重新裝載值,公式如下:輸出時鐘頻率=振蕩器頻率/4*65536-(rcp2h,rcp2l)在時鐘輸出方式下,定時器2 的翻轉(zhuǎn)不會產(chǎn)生中斷,這個特性與作為波特率發(fā)生器使用時相仿。定時器2 作為波特率發(fā)生器使用時,還可作為時鐘發(fā)生器使用,但需要注意的是波特率和時鐘輸出頻率不能分開確定,這是因為它們同使用rcap2l和r
28、cap2l。uart at89c52的uart 工作方式與at89c52 工作方式相同。中斷at89c52 共有6 個中斷向量:兩個外中斷(int0 和int1),3 個定時器中斷(定時器0、1、2)和串行口中斷。所有這些中斷源如圖9 所示。這些中斷源可通過分別設置專用寄存器ie 的置位或清0 來控制每一個中斷的允許或禁止。ie 也有一個總禁止位ea,它能控制所有中斷的允許或禁止。注意表5 中的ie.6 為保留位,在at89c52 中ie.5 也是保留位。程序員不應將“1”寫入這些位,它們是將來at89 系列產(chǎn)品作為擴展用的。定時器2 的中斷是由t2con 中的tf2 和exf2 邏輯或產(chǎn)生的
29、,當轉(zhuǎn)向中斷服務程序時,這些標志位不能被硬件清除,事實上,服務程序需確定是tf2 或exf2 產(chǎn)生中斷,而由軟件清除中斷標志位。定時器0 和定時器1 的標志位tf0 和tf1 在定時器溢出那個機器周期的s5p2 狀態(tài)置位,而會在下一個機器周期才查詢到該中斷標志。然而,定時器2 的標志位tf2 在定時器溢出的那個機器周期的s2p2 狀態(tài)置位,并在同一個機器周期內(nèi)查詢到該標志。時鐘振蕩器at89c52 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳xtal1 和xtal2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。
30、外接石英晶體(或陶瓷諧振器)及電容c1、c2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容c1、c2 雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pf10pf,而如使用陶瓷諧振器建議選擇40pf10f。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖10 右圖所示。這種情況下,外部時鐘脈沖接到xtal1 端,即內(nèi)部時鐘發(fā)生器的輸入端,xtal2 則懸空。由于外部時鐘信號是通過一個2 分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低
31、電平持續(xù)時間應符合產(chǎn)品技術條件的要求??臻e節(jié)電模式在空閑工作模式狀態(tài), cpu 自身處于睡眠狀態(tài)而所有片內(nèi)的外設仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時,同時將片內(nèi)ram 和所有特殊功能寄存器的內(nèi)容凍結(jié)??臻e模式可由任何允許的中斷請求或硬件復位終止。由硬件復位終止空閑狀態(tài)只需兩個機器周期有效復位信號,在此狀態(tài)下,片內(nèi)硬件禁止訪問內(nèi)部ram,但可以訪問端口引腳,當用復位終止空閑方式時,為避免可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應是一條對端口或外部存儲器的寫入指令。掉電模式在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)ram 和特殊功能寄存器的內(nèi)
32、容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復位,復位后將重新定義全部特殊功能寄存器,但不改變ram中的內(nèi)容,在vcc恢復到正常工作電平前,復位應無效,且必須保持一定時間以使振蕩器重啟動并穩(wěn)定工作。程序存儲器的加密at89c52 有3 個程序加密位,可對芯片上的3 個加密位lb1、lb2、lb3 進行編程(p)或不編程(u)來得到。當加密位lb1 被編程時,在復位期間,ea 端的邏輯電平被采樣并鎖存,如果單片機上電后一直沒有復位,則鎖存起的初始值是一個隨機數(shù),且這個隨機數(shù)會一直保存到真正復位為止。為使單片機能正常工作,被鎖存的ea 電平值必須與該引腳當前的邏輯電平一致。此外,加密位只
33、能通過整片擦除的方法清除。flash存儲器的編程at89c52單片機內(nèi)部有8k字節(jié)的flash perom,這個flash 存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為ffh),用戶隨時可對其進行編程。編程接口可接收高電壓(+12v)或低電壓(vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用eprom 編程器兼容。at89c52 單片機中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息。at89c52 的程序存儲器陣列是采用字節(jié)寫入方式編程的,每次寫入一個字節(jié),要對整個芯片內(nèi)的perom 程
34、序存儲器寫入一個非空字節(jié),必須使用片擦除的方式將整個存儲器的內(nèi)容清除。編程方法編程前,須按表9 和圖11 所示設置好地址、數(shù)據(jù)及控制信號, at89c52 編程方法如下:1 在地址線上加上要編程單元的地址信號。2 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3 激活相應的控制信號。4 在高電壓編程方式時,將ea/vpp 端加上+12v 編程電壓。5 每對flash 存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個ale/prog 編程脈沖。每個字節(jié)寫入周期是自身定時的,通常約為1.5ms。重復15 步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。數(shù)據(jù)查詢at89c52 單片機用data p
35、alling 表示一個寫周期結(jié)束為特征,在一個寫周期中,如需讀取最后寫入的一個字節(jié),則出的數(shù)據(jù)的最高位(p0.7)是原來寫入字節(jié)最高位的反碼。寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進入下一個字節(jié)的寫周期,寫周期開始后,data palling 可能隨時有效。ready/busy:字節(jié)編程的進度可通過“rdy/bsy 輸出信號監(jiān)測,編程期間,ale 變?yōu)楦唠娖健癶”后,p3.4(rdy/bsy)端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,p3.4 變?yōu)楦唠娖奖硎緶蕚渚途w狀態(tài)。程序校驗:如果加密位lb1、lb2 沒有進行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖1
36、2的電路。加密位不可直接校驗,加密位的校驗可通過對存儲器的校驗和寫入狀態(tài)來驗證。芯片擦除:利用控制信號的正確組合(表6)并保持ale/prog 引腳10ms 的低電平脈沖寬度即可將perom 陣列(4k字節(jié))和三個加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進行。讀片內(nèi)簽名字節(jié):at89c52 單片機內(nèi)有3 個簽名字節(jié),地址為030h、031h 和032h。用于聲明該器件的廠商、型號和編程電壓。讀at89c52 簽名字節(jié)需將p3.6 和p3.7 置邏輯低電平,讀簽名字節(jié)的過程和單元030h、031h 及032h 的正常校驗相仿,只返回值意義如下:(030h
37、)=1eh 聲明產(chǎn)品由atmel公司制造。(031h)=52h 聲明為at89c52 單片機。(032h)=ffh 聲明為12v 編程電壓。(032h)=05h 聲明為5v 編程電壓。三 硬件設計在原理圖設計中,使用網(wǎng)絡標號代替連接線,使得原理圖清晰美觀,容易辨識;將各個模塊進行了分割,利于針對各個模塊進行電源及網(wǎng)絡的調(diào)整;電路設計均采用供應商提供的經(jīng)典電路及網(wǎng)絡發(fā)燒友提供的改進電路,仿真狀態(tài)下運行良好,由于沒有進行印刷制版,所以在干擾及噪聲環(huán)境下的測試沒有進行。在pcb設計中,使用大片覆銅作為地,能夠提高地的穩(wěn)定性;電源線寬度為50mil,并且走線轉(zhuǎn)角均為45度,減少電流慣性對銅導線的影響;
38、對于走線比較稠密的地方,多采用過孔的方法防止導線交叉;部分元件封裝為自行設計(如0805);布局方式為手工布局,具體方法為按照各個模塊依次放置,使得布局美觀清晰;pcb板單面放置元器件,背面只有過孔線。根據(jù)設計需求設計硬件原理圖見附錄。四 軟件設計在代碼便攜方面,遵循大綱布局在細致微調(diào)的原則,首先根據(jù)設計的要求,對各個部件模塊進行初始化,然后對具體需要編程部分進行針對性設計;在led顯示設計方面,利用人眼余輝,可以進行掃描式顯示,在330ms間隔時間內(nèi)進行切換顯示,8路io控制顯示4路io進行片選達到控制4位8段數(shù)碼管的目的;ad模塊使用供應商提供的經(jīng)典程序歷程,仿真條件下運行良好;at89c
39、52頻率設定為12mhz,方便其中各個模塊時鐘的設計;整體軟件設計在仿真情況下運行良好。部分代碼實現(xiàn)見附錄。五 設計心得首先需要感謝王安老師給我提供這次機會能夠進行本儀器的設計,并對我進行了細致的指導,也感謝在進行設計時,對我提供無私幫助的劉三帥,張希銘和劉坤等同學。通過本次設計及實驗,了解了電路設計的基本知識和c語言編程在硬件系統(tǒng)上的實現(xiàn)與應用,豐富了工程實踐經(jīng)驗,由于時間及資金的限制沒能進行電路板的印刷是本次設計的一大遺憾,希望在以后的學習工作中能夠?qū)Υ诉M行彌補。附錄#include #include#define uchar unsigned char#define uint unsigned intsbit max197_cs=p27;sbit max197_wr=p26;sbit max197_rd=p25;sbit max197_hben=p24;sbit max197_int=p32;void delays(uint i);v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 研究課題的申報書
- 人才課題申報書格式要求
- 單位廚房員工合同范本
- 原料協(xié)議合同范本
- 廚房和衛(wèi)生間裝修合同范本
- 中醫(yī)課題立項申報書范文
- 廠房土地出租合同范例
- 研究現(xiàn)狀課題申報書范文
- 校級美術課題申報書范文
- 個人店鋪裝修合同范本
- 大樹移栽合同范本
- 柔性印刷技術探索-深度研究
- 2025屆新高考政治沖刺備考復習把握高考趨勢+科學高效命題
- 2024年春季學期低年級學雷鋒講奉獻主題班會
- 2025年度環(huán)保咨詢與評估服務合同范本模板
- 2025至2030年中國煙用接裝紙數(shù)據(jù)監(jiān)測研究報告
- 文化差異下的教育國外的小學音樂教育方式探討
- 2025年無錫科技職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024年黑龍江建筑職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 七年級語文上冊課后習題參考答案
- 第四單元《紙的前世今生》第一課時(說課稿)-2023-2024學年五年級下冊綜合實踐活動粵教版
評論
0/150
提交評論