单片机脉宽测量的源代码

单片机脉宽测量的源代码

ID:38268293

大小:33.58 KB

页数:5页

时间:2019-05-28

单片机脉宽测量的源代码_第1页
单片机脉宽测量的源代码_第2页
单片机脉宽测量的源代码_第3页
单片机脉宽测量的源代码_第4页
单片机脉宽测量的源代码_第5页
资源描述:

《单片机脉宽测量的源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、START:ORG0000H;主程序入口地址SJMPMAIN;转主程序ORG0003H;外中断0中断入口LJMPINTR0;转外部中断0服务子程序;**********************************************************;********************主程序*********************************ORG0030HMAIN:MOVSP,#60HMOVTMOD,#01H;计数器T0工作在方式1MOVTH0,#00HMOVTL0,#00H;计数器T0清零MOVIE,#81H;开总中断

2、外部中断0SETBTR0;开计数器0SETBIT0;T0允许计数且当外部中断输入为高时计数,外部中断0为边沿触发;******************************循环体*********************************LOOP:LCALLBCD;二进制转十进制LCALLDATA_PROCESS;压缩BCD码�转非压缩BCD码LCALLDISPLAY;控制数码管显示MOVR4,#8;循环扫描数次LOOP1:LCALLDELAYLCALLDISPLAYDJNZR4,LOOP1AJMPLOOP;循环处理;***************

3、************外部中断0服务子程序************************INTR0:MOV41H,TH0MOV40H,TL0;将计数器T0中的数转移到40H�41H中MOVTH0,#00HMOVTL0,#00H;重新将定时器T0清零RETI;*************************将数转换为BCD码***********************BCD:CLRA;分别按高低存储在34H35H36H中MOV38H,41HMOV37H,40HMOV36H,A;将34H,35H,36H清零MOV35H,AMOV34H,AMOVR7,#

4、16;两个字节十六位数BCD1:CLRCMOVA,37HRLCAMOV37H,AMOVA,38HRLCAMOV38H,AMOVA,36HADDCA,36HDAAMOV36H,AMOVA,35HADDCA,35HDAAMOV35H,AMOVA,34HADDCA,34HDAAMOV34H,ADJNZR7,BCD1RET;*****************************************数据处理******************************DATA_PROCESS:MOVA,34HCJNEA,#00H,D_P1;判断第五位数值是否为

5、0为零则按四位有效值处理不为零按5位有效值处理MOVR0,#36H;当有四位时MOVA,#00HXCHDA,@R0MOV33H,A;个位放在33HMOVA,@R0SWAPAMOV32H,A;十位放在32HMOVR1,#35HMOVA,#00HXCHDA,@R1MOV31H,A;百位放在31HMOVA,@R1SWAPAADDA,#0AH;加小数点显示�可以不加�MOV30H,A;千位放在30HRETD_P1:MOVR0,#34H;当有5位有效值时取前四位显示小数点加在第二位MOVA,#00HXCHDA,@R0;低四位交换MOV30H,A;第四位MOVR1,#

6、35HMOVA,#00HMOVA,@R1MOV32H,A;第二位MOVA,@R1SWAPAADDA,#0AH;小数点)MOV31H,A;第三位ANL36H,#0F0HMOVA,36HSWAPAMOV33H,A;第一位RET;******************************显示子程序************************************;*******************************单位(ms)*************************************DISPLAY:MOVA,30H;显示千位MO

7、VDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVA,#7FH;位选信号第一个数码管MOVP2,ALCALLDELAYMOVA,31H;显示百位MOVCA,@A+DPTRMOVP0,AMOVA,#0BFH;位选信号第二个数码管MOVP2,ALCALLDELAYMOVA,32H;显示十位MOVCA,@A+DPTRMOVP0,AMOVA,#0DFH;位选信号第三个数码管MOVP2,ALCALLDELAYMOVA,33H;显示个位MOVCA,@A+DPTRMOVP0,AMOVA,#0EFH;位选信号第四个数码管MOVP2,ALCALLDELAYR

8、ET;******************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。