单片机脉宽测量程序

上传人:正** 文档编号:42047036 上传时间:2018-05-31 格式:DOC 页数:4 大小:33KB
返回 下载 相关 举报
单片机脉宽测量程序_第1页
第1页 / 共4页
单片机脉宽测量程序_第2页
第2页 / 共4页
单片机脉宽测量程序_第3页
第3页 / 共4页
单片机脉宽测量程序_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机脉宽测量程序》由会员分享,可在线阅读,更多相关《单片机脉宽测量程序(4页珍藏版)》请在金锄头文库上搜索。

1、DATL EQU 30H ;计数低位 DATH EQU 31H ;计数高位 DATC EQU 32H ;计数进位 LEDBuf EQU 33H ;显示缓存ORG 0000HJMP MAINORG 0003HAJMP INT_0ORG 0050H MAIN:AJMP START;* ;显示子程序 LEDMAP: ; 八段管显示码DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hDB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h LED:MOV R0 ,#LEDBufMOV R1 ,#6 ; 共 6 个八段管MOV R2 ,#0010

2、0000b ; 从左边开始显示 Loop:MOV DPTR ,#8002HMOV A ,#0MOVX DPTR,A ; 关所有八段管MOV A ,R0MOV DPTR ,#8004HMOVX DPTR,AMOV DPTR ,#8002HMOV A ,R2MOVX DPTR,A ; 显示一位八段管MOV R6 ,#1MOV R7 ,#0 L:DJNZ R7 ,LDJNZ R6 ,LMOV A ,R2 ; 显示下一位RR AMOV R2, AINC R0DJNZ R1 ,LoopRET ;* ;中断服务子程序 (启动定时功能) INT_0:CLR EX0 ;关中断MOV DATC ,#00HMOV

3、 TH1 ,#00HMOV TL1 ,#00HJB P3.3SETB TR1 ;启动定时器 1,但不计数JNB P3.3 ,$ ;等待脉冲由低电平变为高电平 ;等 待正脉冲 CH0: JNB TF1 ,CH1 ;计数没溢出,跳转INC DATCCLR TF1MOV TH1 ,#00H ;装入初值MOV TL1 ,#00HSETB TR1 ;启动定时器 CH1: JB P3.3 ,CH0 ;判断正脉冲是否结束CLR TR1 ;停止计数MOV A ,TL1MOV DATL ,AMOV A ,TH1MOV DATH ,A;* ; 计数值*机器周期(6MHz 为 2us)CLR C ;带进位左移等同乘

4、 2MOV A ,DATLRLC AMOV DATL ,AMOV A ,DATHRLC AMOV DATH ,AMOV A ,DATCRLC AMOV DATC ,A ;* ;数制转换CLR AMOV R3 ,AMOV R4 ,AMOV R5 ,AMOV R7 ,#24 HB0:MOV A ,DATL ;*RLC A ;依次移出高位MOV DATL ,A ;MOV A ,DATHRLC AMOV DATH ,AMOV A ,DATCRLC AMOV DATC ,AMOV A ,R3 ;将累加器自身带进位相加(与*2 等效)ADDC A ,R3 ;累加器依次从低位开始DA AMOV R3 ,AM

5、OV A ,R4ADDC A ,R4DA AMOV R4 ,AMOV A ,R5ADDC A ,R5DA AMOV R5 ,ADJNZ R7 ,HB0 ;判断 24 位是否处理完 ;* ;压缩 BCD 码转换成非压缩 BCD 码MOV DPTR ,#LEDMAPMOV A ,R5SWAP AANL A ,#0FH ;屏蔽高位MOVC A ,A+DPTRMOV LEDBuF,A ;分离出第 6 位MOV A ,R5ANL A ,#0FHMOVC A ,A+DPTRMOV LEDBuf+1,A ;分离出第 5 位MOV A ,R4SWAP AANL A ,#0FH ;屏蔽高位MOVC A ,A+D

6、PTRMOV LEDBuF+2,A ;分离出第 4 位MOV A ,R4ANL A ,#0FHMOVC A ,A+DPTRMOV LEDBuf+3,A ;分离出第 3 位MOV A ,R3SWAP AANL A ,#0FH ;屏蔽高位MOVC A ,A+DPTRMOV LEDBuF+4,A ;分离出第 2 位MOV A ,R3ANL A ,#0FHMOVC A ,A+DPTRMOV LEDBuf+5,A ;分离出第 1 位SETB EX0 ;开中断RETI ;* ;主程序开始 START:MOV SP ,#50HMOV TMOD ,#90H ;设置定时器 1 的工作方式为 1,GEAE 置 1MOV TH1 ,#00HMOV TL1 ,#00H ;定时器时间初值置零MOV IE ,#81H ;开外部中断 0CALL LED ; 调显示LJMP MAINEND

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号