基于MCU的鎖相環(huán)鎖定時(shí)間測(cè)量系統(tǒng)設(shè)計(jì)
3.2 下位機(jī)設(shè)計(jì)
單片機(jī)中的下位機(jī)負(fù)責(zé)控制鎖相環(huán)并測(cè)量鎖定時(shí)間。流程圖如圖5所示。本文引用地址:http://m.butianyuan.cn/article/171566.htm
下位機(jī)也是基于一個(gè)前后臺(tái)系統(tǒng),在一個(gè)死循環(huán)內(nèi)等待各中斷響應(yīng)。在單片機(jī)向鎖相環(huán)發(fā)送完控制數(shù)據(jù)后開啟外部中斷,若有外部中斷響應(yīng)則在中斷服務(wù)程序中讀取定時(shí)器的值,即為鎖定時(shí)間,中斷結(jié)束后將定時(shí)器清零,以便再次測(cè)量;若當(dāng)定時(shí)器溢出時(shí)仍未收到外部中斷,表明鎖相環(huán)未能鎖定,則發(fā)送未鎖定信息給上位機(jī)。這里設(shè)置了3個(gè)中斷向量分別為外部中斷、定時(shí)器T0中斷、串口中斷。在默認(rèn)情況下它們的中斷優(yōu)先級(jí)依次從高到低,為防止不必要的中斷嵌套,在響應(yīng)其中一個(gè)中斷服務(wù)時(shí)應(yīng)將另兩個(gè)中斷關(guān)掉,中斷服務(wù)結(jié)束后再開啟。
AT89C51有兩路定時(shí)/計(jì)數(shù)器T0,T1。本系統(tǒng)中T1用來設(shè)置串口的波特率,串口有4種工作方式,本文使用方式1,即8位異步通信接口,一幀數(shù)據(jù)有10位,1位起始位,一位停止位。T0用來測(cè)量鎖定時(shí)間,T0定時(shí)器使用系統(tǒng)時(shí)鐘的12分頻作為時(shí)鐘源,將T0配置為16位定時(shí)器模式,所以環(huán)路鎖定時(shí)間可由下式確定,單位為μs。
T=(TH0×256+TL0)×Tosc×12 (1)
式中:TH0,TL0分別是在外部中斷服務(wù)程序中讀到的定時(shí)器T0的數(shù)據(jù)寄存器高8和低8位;Tosc是單片機(jī)外接晶振的振蕩周期,本文外接晶振為12 MHz,即為1/12μs,因此本系統(tǒng)可實(shí)現(xiàn)精度為1μs的時(shí)間測(cè)量。根據(jù)圖2所示的時(shí)序圖,單片機(jī)向鎖相環(huán)發(fā)送控制數(shù)據(jù)的子程序如下:
4 結(jié)語
本文采用MFC、串口、AT89C51所設(shè)計(jì)的測(cè)量系統(tǒng)能準(zhǔn)確測(cè)量鎖相環(huán)的鎖定時(shí)間,精度達(dá)到1μs;并且有很強(qiáng)的通用性,能兼容常見的各類鎖相環(huán)芯片。系統(tǒng)上位機(jī)的人機(jī)操作界友好,硬件電路結(jié)構(gòu)簡(jiǎn)單。
接地電阻相關(guān)文章:接地電阻測(cè)試方法
評(píng)論