日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ;有人提問(wèn):;利用單片機(jī)的定時(shí)方式0,實(shí)現(xiàn)外部脈沖寬度(在5到250ms)的測(cè)量。要求畫出電路圖。在線等;問(wèn)題補(bǔ)充:寫出程序,測(cè)量結(jié)果存儲(chǔ)在R0中。;=================================================;做

;有人提問(wèn):
;利用單片機(jī)的定時(shí)方式0,實(shí)現(xiàn)外部脈沖寬度(在5到250ms)的測(cè)量。要求畫出電路圖。在線等
;問(wèn)題補(bǔ)充:寫出程序,測(cè)量結(jié)果存儲(chǔ)在R0中。
;=================================================
;做而論道對(duì)此題給出了答案:
;外部脈沖寬度(在5到250ms)之間,測(cè)量存放在R0。程序如下。

ORG 0000H
JMP START
ORG 000BH
JMP T0_INT
;------------;初始化
START:
MOV SP, #60H
MOV TMOD, #01H ;/*T0定時(shí)方式1*/
MOV TH0, #HIGH(65536 - 1000) ;1ms@12MHz
MOV TL0, #LOW (65536 - 1000)
SETB ET0
SETB EA
MOV R0, #0
;------------;電路:要把外部脈沖,接在P1.0
JB P1.0, $ ;等待高電平結(jié)束.
JNB P1.0, $ ;等待低電平結(jié)束.
SETB TR0 ;到了高電平,就啟動(dòng)T0開始計(jì)時(shí).
JB P1.0, $ ;等待高電平結(jié)束.
CLR TR0 ;到了低電平,結(jié)束T0計(jì)時(shí).

CALL DISPLAY ;顯示

SJMP $ ;程序到此結(jié)束, R0中就是脈寬的毫秒數(shù).
;-------------;1ms執(zhí)行一次
T0_INT:
MOV TL0, #LOW (65536 - 993) ;重新寫入初始值.
MOV TH0, #HIGH(65536 - 993) ;1ms@12MHz
INC R0 ;1ms加一次一.
RETI
;---------------------------------

;原題目,并沒(méi)有提出顯示測(cè)量結(jié)果的要求,這就不便觀察。
;為此,下面補(bǔ)充了顯示電路(以三個(gè)74HC595來(lái)驅(qū)動(dòng)數(shù)碼管)和程序。

SDAT_595 BIT P3.0
SCLK_595 BIT P3.1
S_UP_595 BIT P3.2
;**************************************************
;595發(fā)送程序
;**************************************************
OUT_595:MOV R2, #8
CPL A
O_1: RLC A
NOP
MOV SDAT_595, C
NOP
CLR SCLK_595
NOP
SETB SCLK_595
NOP
DJNZ R2, O_1
RET
;**************************************************
;顯示程序
;**************************************************
DISPLAY:
MOV A, R0 ;把脈寬數(shù)據(jù),分解成
MOV B, #100 ;BCD碼
DIV AB;
MOV 30H, A ;百位
MOV A, #10;
XCH A, B;
DIV AB;
MOV 31H, A ;十位
MOV 32H, B ;個(gè)位

MOV R0, #32H ;把30H 31H 32H
MOV R7, #3 ;送出去顯示
D_1:
MOV A, @R0
MOV DPTR, #TAB
MOVC A, @A+DPTR
CALL OUT_595
NOP
SETB S_UP_595
DEC R0
CLR S_UP_595
DJNZ R7, D_1
RET
;**************************************************
;七段碼表
;**************************************************
TAB:
DB 00111111B
DB 00000110B
DB 01011011B
DB 01001111B
DB 01100110B
DB 01101101B
DB 01111101B
DB 00000111B
DB 01111111B
DB 01101111B
DB 00000000B
END
;=================================================
;程序在PROTEUS中運(yùn)行的圖像如下:


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉