注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
超声波测距
文章长度[3256] 加入时间[2006/9/9] 更新时间[2024/10/25 10:39:58] 级别[3] [评论] [收藏]

waveout bit p3.7
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0IN
ORG 0013H
AJMP SAVE
ORG 0100H

MAIN: MOV SP,#7FH

START: CLR EA
ACALL BUFF
ACALL DISP
ACALL SETT
ACALL SETINT
SETB EA
ACALL waveSEND
ACALL D10MS
ACALL D10MS
AJMP START

BUFF: MOV 30H,#00H
mov 31h,#00h
mov 32h,#00h
mov 33h,#00h
mov 34h,#00h
mov 35h,#00h
RET

setT: MOV TMOD,#01H ;T0 方式1定时 T1方式1定时
MOV TL0,#00H
MOV TH0,#00H
SETB ET0
SETB TR0
RET
setint: SETB EX1
RET

T0IN: NOP
CLR EA
ACALL BUFF
ACALL DISP
RETI

wavesend:MOV R0,#10h
WAV10: setb waveout
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
NOP
clr waveout
nop
nop
nop
nop
nop
nop
nop
nop
NOP
djnz r0,wav10
RET

SAVE: NOP
CLR TR0
CLR EA
MOV R2,TH0
MOV R3,TL0
ACALL BCD
acall disp
ACDLL D10MS
RETI

 

BCD: mov r6,#0 ;求出距离
mov r7,#15 ;声速
acall qmul
mov a,r6
mov r2,a
mov a,r7
mov r3,a ;结果存入r2r3
acall ibtd2
mov a,r6
anl a,#0fh
mov 35h,a
mov a,r6
anl a,#0f0h
swap a
mov 34h,a
mov a,r5
anl a,#0fh
mov 33h,a
mov a,r5
anl a,#0f0h
swap a
mov 32h,a
mov a,r4
anl a,#0fh
mov 31h,a
ret
sub1: mov 31h,#00h
mov 32h,#00h
mov 33h,#00h
mov 34h,#00h
mov 35h,#00h
ret

;*********************************
;* 双字节HEX->BCD *
;* 入口:R2R3为双字节16位二进制数 *
;* 出口:R4R5R6为转换完的压缩BCD *
;*********************************
IBTD2: CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV R7,#16
LM_BCD: CLR C
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
MOV A,R6
ADDC A,R6
DA A
MOV R6,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
DJNZ R7,LM_BCD
RET
;--------------------------------
;无符号双字节快速乘法
;--------------------------------
;功能:(R2R3)*(R6R7)->(R4R5R6R7)
;入口:R2R3中存放被乘数,R6R7中存放乘数
;出口:积存放在R4R5R6R7中
QMUL: MOV A,R3
MOV B,R7
MUL AB ;(R3)*(R7)
XCH A,R7 ;(R7)=(R3*R7)L
MOV R5,B ;(R7)=(R3*R7)H
MOV B,R2
MUL AB ;(R2)*(R7)
ADD A,R5
MOV R4,A
CLR A
ADDC A,B
MOV R5,A ;(R5)=(R2*R7)H
MOV A,R6
MOV B,R3
MUL AB ;(R3)*(R6)
ADD A,R4
XCH A,R6
XCH A,B
ADDC A,R5
MOV R5,A
MOV F0,C ;暂存Cy
MOV A,R2
MUL AB ;(R2)*(R6)
ADD A,R5
MOV R5,A
CLR A
MOV ACC.0,C
MOV C,F0 ;加以前加法的进位
ADDC A,B
MOV R4,A
RET
d10ms: mov r5,#20
lp_dl2: mov r7,#200
lp_dl1: mov r6,#203
djnz r6,$
djnz r7,lp_dl1
djnz r5,lp_dl2
ret

DISP: CLR RS1 ;第2组工作区
SETB RS0
MOV SCON,#00H
MOV R0,#35h
MOV R1,#6
LP_D: MOV DPTR,#TAB
MOV A,@R0
MOVC A,@A+DPTR
CJNE R1,#3,DN
ANL A,#7FH ;7F显示小数点
DN: MOV SBUF,A
JNB TI,$
CLR TI
DEC R0
DJNZ R1,LP_D
CLR RS1
CLR RS0
RET
TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H ;01234
DB 92H,82H,0F8H,80H,90H ;56789
;DB 88H,83H,0C6H,0A1H,86H,8EH ;ABCDEF
DB 0C7H,8CH,0C1H,89H,0FFH ;LPUH灭码

END

1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389