音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于單片機(jī)AT89S51制作的測(cè)速表電路圖

出處:sillboy 發(fā)布于:2011-09-04 10:10:46 | 3632 次閱讀

基于單片機(jī)AT89S51制作的測(cè)速表電路圖 

 

  一。上圖所示是測(cè)速器的電路圖,由六位數(shù)碼管和測(cè)速接口組成。
  1.測(cè)速的方法決定了測(cè)速信號(hào)的硬件連接,測(cè)速實(shí)際上就是測(cè)頻,因此,頻率測(cè)量的一些原則同樣適用于測(cè)速。
  2.通常,可以用計(jì)數(shù)法、測(cè)脈寬法和等法來(lái)進(jìn)行測(cè)試。所謂計(jì)數(shù)法,就是給定一個(gè)閘門(mén)時(shí)間,在閘門(mén)時(shí)間內(nèi)計(jì)數(shù)輸入的脈沖個(gè)數(shù);測(cè)脈寬法是利用待測(cè)信號(hào)的脈寬來(lái)控制計(jì)數(shù)門(mén),對(duì)一個(gè)高的高頻計(jì)數(shù)信號(hào)進(jìn)行計(jì)數(shù)。由于閘門(mén)與被測(cè)信號(hào)不能同步,因此,這兩種方法都存在±1誤差的問(wèn)題,種方法適用于信號(hào)頻率高時(shí)使用,第二種方法則在信號(hào)頻率低時(shí)使用。等法則對(duì)高、低頻信號(hào)都有很好的適應(yīng)性。這里為簡(jiǎn)化討論,僅采用計(jì)數(shù)法來(lái)進(jìn)行測(cè)試。
  二。軟件編程
  測(cè)量轉(zhuǎn)速,使用霍爾傳感器,被測(cè)軸安裝有12只磁鋼,即轉(zhuǎn)軸每轉(zhuǎn)一周,產(chǎn)生12個(gè)脈沖,要求將轉(zhuǎn)速值(轉(zhuǎn)/分)顯示在數(shù)碼管上。
  程序如下:
  DISPBUF EQU 5AH  ;顯示緩沖區(qū)從5AH開(kāi)始[Page]
  SecCoun EQU 59H
  SpCoun EQU 57H ;速度計(jì)時(shí)器單元57H和58H,高位在前(57H單元中)
  Count EQU 56H ;顯示時(shí)的計(jì)數(shù)器
  SpCalc bit 00h ;要求計(jì)算速度的標(biāo)志
  Hidden EQU 16 ;消隱碼
  ORG 0000H
  AJMP START
  ORG 1BH
  JMP TIMER1 ;定時(shí)中斷1入口
  ORG 30H
  START: MOV SP,#5FH ;設(shè)置堆棧
  MOV P1,#0FFH
  MOV P0,#0FFH
  MOV P2,#0FFH ;初始化,所有顯示器、LED
  MOV TMOD,#00010101B ;定時(shí)器T1工作于方式1,定時(shí)器0工作方式1 MOV TH1,#HIGH(65536-4000)
  MOV TL1,#LOW(65536-4000)
  SETB TR1
  SETB ET1 ;開(kāi)定時(shí)器1中斷
  SETB EA
  LOOP: JNB SpCalc,LOOP ;如果未要求計(jì)算,轉(zhuǎn)本身循環(huán)
  標(biāo)號(hào): MULD功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法
  入口條件:被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。
  出口信息:乘積在R2、R3、R4、R5中。
  影響資源:PSW、A、B、R2~R7
  堆棧需求:  2字節(jié)
  MOV R2,SpCoun
  MOV R3,SpCoun+1
  MOV R6,#0
  MOV R7,#5 ;測(cè)得的數(shù)值是每秒計(jì)數(shù)值,轉(zhuǎn)為每分轉(zhuǎn)速(每一轉(zhuǎn)測(cè)12次,故乘5而非60)
  CALL MULD
  標(biāo)號(hào): HB2   功能:雙字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼整數(shù)
  入口條件:待轉(zhuǎn)換的雙字節(jié)十六進(jìn)制整數(shù)在R6、R7中。
  出口信息:轉(zhuǎn)換后的三字節(jié)BCD碼整數(shù)在R3、R4、R5中。
  影響資源:PSW、A、R2~R7    堆棧需求:  2字節(jié)
  MOV A,R4
  MOV R6,A
  MOV A,R5
  MOV R7,A ;將乘得的結(jié)果送R6R準(zhǔn)備轉(zhuǎn)換,這里結(jié)果不可能超過(guò)2字節(jié)
  CALL HB2
  CBCD:
  MOV DISPBUF,R3 ;位
  MOV A,R4 ;
  ANL A,#0F0H ;去掉低4位
  SWAP A ;將高4位切換到低4位
  MOV DISPBUF+1,A
  MOV A,R4
  ANL A,#0FH
  MOV DISPBUF+2,A
  MOV A,R5
  ANL A,#0F0H
  SWAP A
  MOV DISPBUF+3,A
  MOV A,R5
  ANL A,#0FH
  MOV DISPBUF+4,A
  CLR SpCalc ;清計(jì)算標(biāo)志
  JMP LOOP
  主程序到此結(jié)束
  TIMER1: PUSH ACC;ACC入棧
  PUSH PSW ;PSW入棧
  SETB RS0 ;工作區(qū)1
  JNB TR0,SETTR0 ;如果T0未運(yùn)行,則開(kāi)啟T0
  JMP GO1
  SETTR0:
  SETB TR0
  GO1:
  INC SecCoun ;秒計(jì)數(shù)器加1
  MOV A,SecCoun
  CJNE A,#251,Go2 ;如果未到1s則轉(zhuǎn)
  CLR TR0 ;1s到了,則停止T0的運(yùn)行
  MOV SpCoun,TH0
  MOV SpCoun+1,TL0 ;讀取計(jì)數(shù)值
  CLR A
  MOV TH0,A
  MOV TL0,A ;清計(jì)數(shù)器
  SETB SpCalc ;要求主程序計(jì)算速度
  MOV SecCoun,#0 ;清秒計(jì)數(shù)器
  Go2:
  INC COUNT       ;用于顯示的計(jì)數(shù)器
  MOV A,COUNT
  CLR C
  SUBB A,#6
  JZ N1
  JMP N2
  N1: MOV COUNT,#0
  N2: MOV A,#DISPBUF
  ADD A,COUNT
  MOV R0,A ;指向當(dāng)前要顯示的顯示緩沖區(qū)
  MOV A,@R0 ;取個(gè)待顯示數(shù)
  MOV DPTR,#DISPTAB ;字形表首地址
  MOVC A,@A+DPTR  ;取字形碼
  MOV P0,A ;將字形碼送P0位(段口)
  MOV A,COUNT
  MOV DPTR,#BitTab ;字位表首地址
  MOVC A,@A+DPTR
  ORL P2,#11111100B
  ANL P2,A
  MOV TH1,#HIGH(65536-4000)
  MOV TL1,#LOW(65536-4000)
  POP PSW
  POP ACC
  RETI
  BitTab: DB 7Fh,0BFH,0DFH,0EFH,0F7H,0FBH     DISPTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
  三。程序分析
  主程序在對(duì)定時(shí)器、計(jì)數(shù)器、堆棧等進(jìn)行初始化后即判斷標(biāo)志SpCalc是否為1,如果為1,說(shuō)明要求對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理,首先將SpCalc標(biāo)志清零,以保證下次能正常判斷,然后進(jìn)入數(shù)據(jù)處理程序,由于這里的閘門(mén)時(shí)間為1s,而顯示要求為轉(zhuǎn)/分,因此,要將測(cè)到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的方法是將測(cè)得的數(shù)據(jù)乘以60,但由于轉(zhuǎn)軸上安裝有12只磁鋼,每旋轉(zhuǎn)一周可以得到12個(gè)脈沖,因此,要將測(cè)得的數(shù)據(jù)除以12,所以綜合起來(lái),將測(cè)得的數(shù)據(jù)乘以5即可得到每分鐘的轉(zhuǎn)速。計(jì)算得到的結(jié)果是二進(jìn)制的整數(shù),要將數(shù)據(jù)送往顯示緩沖區(qū)需要將該數(shù)轉(zhuǎn)化為BCD碼。運(yùn)算得到的是壓縮BCD碼,需要將其轉(zhuǎn)換為非壓縮BCD碼,從標(biāo)號(hào)CBCD開(kāi)始的一段程序即作了這樣的處理。需要說(shuō)明的是,這里多位二進(jìn)制乘法和多位二進(jìn)制到BCD碼的轉(zhuǎn)換都是用了現(xiàn)成的成熟子程序,因此,首先將二進(jìn)制數(shù)轉(zhuǎn)換為壓結(jié)合實(shí)際BCD碼,然后再轉(zhuǎn)換成非壓縮BCD碼。定時(shí)器T1用作4ms定時(shí)發(fā)生器,在定時(shí)中斷程序中進(jìn)行數(shù)碼管的動(dòng)態(tài)掃描,同時(shí)產(chǎn)生1s的閘門(mén)信號(hào)。1s閘門(mén)信號(hào)的產(chǎn)生是通過(guò)一個(gè)計(jì)數(shù)器Count,每次中斷時(shí)間為4ms,每計(jì)250次即為1s,到了1s后,即清除計(jì)數(shù)器Count,然后關(guān)閉作為計(jì)數(shù)器用的T0,讀出TH0、TL0中的數(shù)值,分別送入SpCoun和SpCoun+1單元,將T0中的值清空,置SpCalc標(biāo)志為1,要求主程序進(jìn)行速度值的計(jì)算。這里還有一個(gè)細(xì)節(jié),用作1s閘門(mén)信號(hào)產(chǎn)生的Count每次中斷都會(huì)加1,而T0卻有一個(gè)周期是被關(guān)閉的,因此,計(jì)數(shù)值是251而不是250.



  
2次

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!