




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要11芯片介紹11.1 lm324111.2 at89s52211.2.1 at89s52的主要性能11.2.2 at89s52的功能特性描述21.2.3 at89s52的引腳功能描述31.2.4 特殊功能寄存器41.2.5存儲器結構71.2.6 定時器0和定時器171.2.7 定時器271.2.8 中斷81.2.9晶振特性91.2.10 flash編程并行模式102總體方案設計112.1設計要點112.2 系統方案113模塊設計與實現123.1 顯示模塊123.2單片機總控制單元:123.3放大整形電路4134 軟件設計3145 測試結果186 總結與體會19參考文獻20附錄1:總體電路原
2、理圖21附錄2:元件清單22摘要本次設計的簡易頻率計,是以at89s52單片機為控制核心,輔以放大整形電路,顯示電路構成的。簡易頻率計能夠根據題目要求能夠用4位7段數碼管顯示待測頻率,格式為0000hz。測量頻率09999hz信號類型:正弦波、方波和三角波。測量信號幅值:0.19v。另外,采用在線編程校準大大提高了頻率計的測量精度,在9999hz的頻率范圍內,可以把誤差控制在0.022%以下。而且具有靈活的現場可更改性。在不更改硬件電路的基礎上,對系統進行各種改進還可以進一步提高系統的性能。該數字頻率計具有高速、精確、可靠、抗干擾性強和現場可編程等優點。 對所設計的頻率計的各項指標進行了測量和
3、記錄,滿足要求,且在局部某些地方有自己的創新之處,相比用中規模集成器件構成的頻率計優點有成本低、原理簡單、功能齊全,實現價值高,各項性能較好。關鍵字:數字頻率計 at89s52 可編程 高精度1芯片介紹本次課程設計主要用到的芯片有用于整形電路的集成運放lm324和主控芯片at89s52,下面對這兩塊芯片作一下詳細的介紹。1.1 lm3241圖1 lm324的外形lm324 是四運放集成電路,它采用14 腳雙列直插塑料封裝,外形如圖1所示。它的內部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。每一組運算放大器可用圖2所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信
4、號輸入端,“v+”、“v-”為正、負電源端,“vo”為輸出端。兩個信號輸入端中,vi-(-)為反相輸入端,表示運放輸出端vo 的信號與該輸入端的相位相反;vi+(+)為同相輸入端,表示運放輸出端vo 的信號與該輸入端的相位相同。lm324 的引腳排列見圖3。 圖2 運算放大器的符號 圖3 lm324的引腳排圖由于lm324 四運放電路具有電源電壓范圍寬,靜態功耗小,可單電源使用,價格低廉等優點,因此被廣泛應用在各種電路中。1.2 at89s5221.2.1 at89s52的主要性能l 與mcs-51單片機產品兼容l 8k字節在系統可編程flash存儲器l 1000次擦寫周期l 全靜態操作:0h
5、z33hzl 三級加密程序存儲器l 32個可編程i/o口線l 三個16位定時器/計數器l 八個中斷源l 全雙工uart串行通道l 低功耗空閑和掉電模式l 掉電后中斷可喚醒l 看門狗定時器l 雙數據指針l 掉電標識符1.2.2 at89s52的功能特性描述at89s52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術制造,與工業80c51 產品指令和引腳完全兼容。片上flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統可編程flash,使得at89s52為眾多嵌入式控制
6、應用系統提供高靈活、超有效的解決方案。at89s52具有以下標準功能: 8k字節flash,256字節ram,32 位i/o 口線,看門狗定時器,2個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,at89s52 可降至0hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,cpu停止工作,允許ram、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,ram內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。其引腳結構圖如圖4所示。圖4 at89s52的引腳結構1.2.3 at89s52的引腳功能描述vcc
7、: 電源gnd: 地p0: p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,p0口也被作為低8位地址/數據復用。在這種模式下,p0具有內部上拉電阻。在flash編程時,p0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。p1:p1 口是一個具有內部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅動4個ttl 邏輯電平。對p1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(i
8、il)。此外,p1.0和p1.2分別作定時器/計數器2的外部計數輸(p1.0/t2)和時器/計數器2的觸發輸入(p1.1/t2ex),具體如下表1所示。在flash編程和校驗時,p1口接收低8位地址字節。表1 p1 口部分引腳的第二功能p2:p2 口是一個具有內部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅動4個ttl 邏輯電平。對p2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行movx dptr)時,p2 口送出高八位地址。在這
9、種應用中,p2 口使用很強的內部上拉發送1。在使用8位地址(如movx ri)訪問外部數據存儲器時,p2口輸出p2鎖存器的內容。在flash編程和校驗時,p2口也接收高8位地址字節和一些控制信號。p3:p3 口是一個具有內部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅動4個ttl 邏輯電平。對p3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,如表2所示。在flash編程和校驗時,p3口也接收一些控制信號。表2 p3 口引腳的第二功能rst:
10、復位輸入。晶振工作時,rst腳持續2個機器周期高電平將使單片機復位。看門狗計時完成后,rst 腳輸出96個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認狀態下,復位高電平有效。ale/prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ale脈沖將會跳過。如果需要,通過將地址為8eh的sfr的第0位置 “1”,ale
11、操作將無效。這一位置 “1”,ale 僅在執行movx 或movc指令時有效。否則,ale 將被微弱拉高。這個ale 使能標志位(地址為8eh的sfr的第0位)的設置對微控制器處于外部執行模式下無效。psen:外部程序存儲器選通信號(psen)是外部程序存儲器選通信號。當at89s52從外部程序存儲器執行外部代碼時,psen在每個機器周期被激活兩次,而在訪問外部數據存儲器時,psen將不被激活。ea/vpp:訪問外部程序存儲器控制信號。為使能從0000h 到ffffh的外部程序存儲器讀取指令,ea必須接gnd。為了執行內部程序指令,ea應該接vcc。在flash編程期間,ea也接收12伏vpp
12、電壓。xtal1:振蕩器反相放大器和內部時鐘發生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。1.2.4 特殊功能寄存器特殊功能寄存器(sfr)的地址空間映象如表3所示。并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個隨機數寫入的數據將會無效。用戶不應該給這些未定義的地址寫入數據“1”。由于這些寄存器在將來可能被賦予新的功能,復位后,這些位都為“0”。表3 at89s52 特殊寄存器映象及復位值定時器2 寄存器:寄存器t2con 和t2mod 包含定時器2 的控制位和狀態位(如表4和表5所示),寄存器對rcap2h和rcap2l是定時器2的捕捉/自動重
13、載寄存器。中斷寄存器:各中斷允許位在ie寄存器中,六個中斷源的兩個優先級也可在ie中設置。雙數據指針寄存器:為了更有利于訪問內部和外部數據存儲器,系統提供了兩路16位數據指針寄存器:位于sfr中82h83h的dp0和位于84h85。特殊寄存器auxr1中dps0 選擇dp0;dps=1 選擇dp1。用戶應該在訪問數據指針寄存器前先初始化dps至合理的值。表4 t2con:定時器/計數器2控制寄存器表5 auxr:輔助寄存器1.2.5存儲器結構mcs-51器件有單獨的程序存儲器和數據存儲器。外部程序存儲器和數據存儲器都可以64k尋址。程序存儲器:如果ea引腳接地,程序讀取只從外部存儲器開始。對于
14、89s52,如果ea 接vcc,程序讀寫先從內部存儲器(地址為0000h1fffh)開始,接著從外部尋址,尋址地址為:2000hffffh。數據存儲器:at89s52 有256 字節片內數據存儲器。高128 字節與特殊功能寄存器重疊。也就是說高128字節與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7fh 的地址時,尋址方式決定cpu 訪問高128 字節ram 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)。例如,下面的直接尋址指令訪問0a0h(p2口)存儲單元mov 0a0h , #data使用間接尋址方式訪問高128 字節ram。例如,下面的間接尋址方
15、式中,r0 內容為0a0h,訪問的是地址0a0h的寄存器,而不是p2口(它的地址也是0a0h)。mov r0 , #data堆棧操作也是簡介尋址方式。因此,高128字節數據ram也可用于堆棧空間。1.2.6 定時器0和定時器1在at89s52 中,定時器0 和定時器1 的操作與at89c51 和at89c52 一樣。為了獲得更深入的關于uart 的信息,可參考atmel網()。從這個主頁,選擇“products”,然后選擇“8051-architech flash microcontroller”,再選擇“productoverview”即可。1.2.7 定時器2定時器2是一個16位定時/計數
16、器,它既可以做定時器,又可以做事件計數器。其工作方式由特殊寄存器t2con中的c/t2位選擇(如表2所示)。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數)和波特率發生器。如表4 所示,工作模式由t2con中的相關位選擇。定時器2有2個8位寄存器:th2和tl2。在定時工作方式中,每個機器周期,tl2 寄存器都會加1。由于一個機器周期由12個晶振周期構成,因此,計數頻率就是晶振頻率的1/12。在計數工作方式下,寄存器在相關外部輸入角t2發生1至0的下降沿時增加1。表6 定時器2工作模式在這11種方式下,每個機器周期的s5p2期間采樣外部輸入。一個機器周期采樣到高電平,而下一個周期采
17、樣到低電平,計數器將加1。在檢測到跳變的這個周期的s3p1 期間,新的計數值出現在寄存器中。因為識別10的跳變需要2個機器周期(24個晶振周期),所以,最大的計數頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應該至少在一個完整的機器周期內保持不變。1.2.8 中斷at89s52 有6個中斷源:兩個外部中斷(int0 和int1),三個定時中斷(定時器0、1、2)和一個串行中斷。這些中斷如圖5所示每個中斷源都可以通過置位或清除特殊寄存器ie 中的相關中斷允許控制位分別使得中斷源有效或無效。ie還包括一個中斷允許總控制位ea,它能一次禁止所有中斷。如表7所示,ie.6位是
18、不可用的。對于at89s52,ie.5位也是不能用的。用戶軟件不應給這些位寫1。它們為at89系列新產品預留。定時器2可以被寄存器t2con中的tf2和exf2的或邏輯觸發。程序進入中斷服務后,這些標志位都可以由硬件清0。實際上,中斷服務程序必須判定是否是tf2 或exf2激活中斷,標志位也必須由軟件清0。定時器0和定時器1標志位tf0 和tf1在計數溢出的那個周期的s5p2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2 的標志位tf2 在計數溢出的那個周期的s2p2被置位,在同一個周期被電路捕捉下來。圖5 中斷源表7 中斷允許控制寄存器(ie)1.2.9晶振特性如圖10所示,
19、at89s52 單片機有一個用于構成內部振蕩器的反相放大器,xtal1 和xtal2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振蕩器。從外部時鐘源驅動器件的話,xtal2 可以不接,而從xtal1 接入,如圖7 所示。由于外部時鐘信號經過二分頻觸發后作為外部時鐘電路輸入的,所以對外部時鐘信號的占空比沒有其它要求,最長低電平持續時間和最少高電平持續時間等還是要符合要求的。 圖6 內部振蕩電路連接圖石英晶振 圖7 外部振蕩電路連接圖c1,c2=30pf10pf陶瓷諧振器 c1,c2=40pf10pf1.2.10 flash編程并行模式at89s52 帶有用作編程的片上
20、flash 存儲器陣列。編程接口需要一個高電壓(12v)編程使能信號,并且兼容常規的第三方*(原文:third-party,不知道對不對)flash或eprom編程器。at89s52程序存儲陣列采用字節式編程。編程方法:對at89s52編程之前,需根據flash編程模式表和圖13、圖14對地址、數據和控制信號設置。可采用下列步驟對at89s52編程:1)在地址線上輸入編程單元地址信號2)在數據線上輸入正確的數據3)激活相應的控制信號4)把ea/vpp升至12v5)每給flash寫入一個字節或程序加密位時,都要給ale/prog一次脈沖。字節寫周期時自身定制的,典型值僅僅50us。改變地址、數據
21、重復第1步到第5步,知道全部文件結束。2總體方案設計2.1 設計要點本次課程設計有以下要點: 設計一個頻率計。要求用4位7段數碼管顯示待測頻率,格式為0000hz。測量頻率范圍:109999hz。測量信號類型:正弦波、方波和三角波。測量信號幅值:0.55v。設計的脈沖信號發生器,以此產生閘門信號,閘門信號寬度為1s。確定設計方案,按功能模塊的劃分選擇元、器件和中小規模集成電路,設計分電路,畫出總體電路原理圖,闡述基本原理。2.2 系統方案簡易數字頻率計可以用中規模集成芯片構建而成,但與用51單片機實現相比,其電路復雜程度要大得多,而且遠遠不及用單片機實現靈活,其精度也不及用單片機實現的高。所以
22、我采用用at89s52單片機去實現。我采用單片機89s52作為控制核心,用數碼管顯示所輸入信號的頻率,具體的系統框圖如圖8所示:圖8 簡易頻率計的系統總體框圖其中,信號通過整形放大后,輸入單片機中的計數器,運用單片機中的定時器設置每隔一秒鐘將計數器中死亡數據輸出,通過數碼管顯示。單片機作為控制中心,隨時檢測和計錄輸入信號的頻率,并控制輸出顯示和輸入是否超載。而顯示電路用一個四位一體的數碼管實現。為簡化硬件電路,用動態顯示的方式,依次點亮個數碼管,這樣不僅僅是簡化了電路,而且每一時刻四位數碼管只相當于一位數碼管的功耗,大大減少了功耗。 3模塊設計與實現3.1 顯示模塊本次課程設計采用一個四位一體
23、數碼管,替顯輸入信號的平率。因為頻率是一個實時變化量,我用一個的數碼管來顯示,每隔一秒更換一次數據。電路原理圖如圖9所示。各數碼管的顯示采用動態掃描的方式,這樣,兩個數碼管共八位的功耗只相當于一位數碼管顯示的功耗。與液晶顯示相比,既可以實現所要求的功能節省了硬件成本,又大大減小了功耗。 圖9顯示模塊3.2單片機總控制單元:圖10 單片機系統原理圖我們用at89s52作為整個電路的控制中心和數據計算處理中心,其中p0口對應兩個數碼管的數據位,p1口為led動態點亮位。p3.4腳用于信號輸入。具體系統原理圖如圖10所示3.3放大整形電路4考慮到所輸入的信號有正弦波和三角波,而單片機所能讀入的信號只
24、能是數字信號的方波,所以正弦波和三角波在輸入單片機之前必須通過整形電路整成方波。我設計的整形電路是用集成運放搭建而成,運用集成運放的增益非常大,而又受限于運放的電源電壓的特點,可以實現將一定幅值的電壓信號整成標準的數字信號。有因為所設計的頻率計測量的頻率信號的幅值能夠達到越小越好,信號在進入整形電路之前設計了一個放大電路將信號放大。放大電路也用集成運放構建而成,因集成運放的穩定性較好。所設計的放大整形電路如圖11所示: 圖11 放大整形電路4 軟件設計3本系統以at89s52單片機為核心,用c語言編程6,可實現題目要求的各種功能,其程序流程圖如圖12所示。圖12 程序流程圖簡易頻率計的c語言程
25、序:#pragma db code#include #define uchar unsigned char#define uint unsigned intsbit led_0=p10;sbit led_1=p11;sbit led_2=p12;sbit led_3=p13;/*=0-9=a-g=*/uchar a16=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0x86,0x8e,0x82;uchar b4=0x8e,0xc1,0xc7,0xc7;uchar one,two,three,four;uint
26、t=8000,j;/時間tuint m=0,n=0,k=0;/次數uint s3=0,s4;/dt前后次數time1()interrupt 3 /delay(20); t=t+0.05*100;/每到0.05s,定時器1產生中斷 th1=0x3e; tl1=0xff; if(t%100=0) m=th0*256+tl0;th0=0x00;tl0=0x00;/*s3=n;m=(s3-s4);s4=s3;*/ void delay(uint x);void display(void);void led_analyze(uint l);void led_add();void main()uint a
27、; it1=1; /外部中斷0下跳沿 ex1=1; tmod=0x15;/t1定時方式1,t0計數1 th1=0x3e; tl1=0xff;/定時50ms tr1=1;/t1 et1=1; th0=0x00; tl0=0x00;/定時50ms tr0=1;/t0 et1=1; ea=1; while(1) if(m=9999) led_analyze(m); for(a=0;a100;a+) display(); else p0=b0; led_0=0; delay(300); led_0=1; p0=b1; led_1=0; delay(300); led_1=1;p0=b2; led_2=
28、0; delay(3); led_2=1;p0=b3; led_3=0; delay(300); led_3=1; void delay(uint x)uint i;for(i=0;ix;i+); void display(void)p0=aone; led_0=0; delay(3); led_0=1; p0=atwo; led_1=0; delay(3); led_1=1; p0=athree; led_2=0; delay(3); led_2=1; p0=afour; led_3=0; delay(3); led_3=1; void led_analyze(uint l) l=l%100
29、00; one=l/1000; two=(l/100)%10; three=(l%100)/10; four=(l%100)%10;本程序是結合理論聯系實際設計而成,因為晶振的頻率不是百分百的準確,根據單片機的機器周期設計一秒鐘的時間也有差異,所以在線編程,一標準的頻率對頻率計進行校準,這樣大大提高了頻率計的精確度。5 測試結果 在硬件和軟件都做好好,為檢測頻率計的可行性,用各種波形的標準頻率信號對頻率計進行了測試,測試結果如表8所示。表8頻率計的測試結果正弦波幅值(v)實際值(hz)顯示值(hz)誤差(%)5.01000100005.0500050010.025.0900090020.022方波0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸藥合理用藥在獸醫實踐中的案例分析考核試卷
- 環保材料在化妝品配方中的生物降解性分析考核試卷
- 藥品注冊與審批流程風險管理考核試卷
- 印刷機械壓力監控技術考核試卷
- 部編人教版小學四年級語文下冊《小英雄雨來》教學課件
- 2025年中國PET彩色鍍鋁膜數據監測研究報告
- 2025年中國IC卡手持機數據監測報告
- 2025年中國DG-鈀觸媒數據監測報告
- 2025年中國11度啤酒數據監測報告
- 2025至2030年中國高性能實時錄像機市場分析及競爭策略研究報告
- 職業行為習慣課件
- 高校智能化教學評價體系變革的技術創新路徑研究
- 高中復讀協議書
- 2025年四川省自貢市中考物理試卷及答案
- 2025年度衛生招聘考試(財務)新版真題卷(附詳細解析)
- 2025-2030中國戊烷發泡劑市場深度解析及前景運行動態研究報告
- 2024年深圳市中考生物試卷真題(含答案解析)
- 新疆維吾爾自治區2024年普通高校招生單列類(選考外語)本科二批次投檔情況 (理工)
- 綠化養護服務投標方案(技術標)
- 溝通與演講2023學習通超星課后章節答案期末考試題庫2023年
- 從《國際博物館》看世界博物館發展解析
評論
0/150
提交評論