2542|0

59

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

15075018luerdu(程序一) [复制链接]

这个程序的作用是
;把V/F转换得到的脉冲送到单片机的T0口计数,


;
计数的结果放到R2,R3


;
求出计数值的万,千,百,十,个位,然后分别放在74H,73H,72H,71H,70H


;
最后把结果通过4094串行移位寄存器显示出来





ORG 0000H


LJMP SETUP


ORG 001BH
;
定时50ms

LJMP INET1P


ORG 0030H


SETUP:



MOV 70H,#0


MOV 71H,#0


MOV 72H,#0


MOV 73H,#0


MOV 74H,#0


MOV TMOD,#15H
;t0
方式1计数,t1方式1定时


MOV TH1,#4CH



MOV TL1,#0
;
定时50ms初值,晶振11.0592MHZ

MOV TH0,#0



MOV TL0,#0



SETB TR1



SETB TR0



SETB ET1



SETB EA


MAIN:


LCALL DISPlay



LJMP MAIN


;
显示程序

DISPlay:


MOV
R3,#6


clr
p3.7


;
先求万位数

MOV 7DH,#27H;
传除数高8


MOV 7CH,#10H;
传除数低8

LOOP_W:


LCALL COM_SUB;
看看够不够减

JC BU_GOUJIANW;
不够减

INC 74H;
+1

LCALL SUBWORD;
做一次减法

SJMP LOOP_W;
万位数循环


;
再求千位数

BU_GOUJIANW:



MOV 7DH,#03H;
传除数高8

MOV 7CH,#0E8H;
传除数低8

LOOP_Q:


LCALL COM_SUB;
看看够不够减

JC BU_GOUJIANQ;
不够减

INC 73H;
+1

LCALL SUBWORD;
做一次减法

SJMP LOOP_Q;
千位数循环



;
又求百位数

BU_GOUJIANQ:


MOV 7DH,#00H;
传除数高8

MOV 7CH,#64H;
传除数低8

LOOP_B:


LCALL COM_SUB;
看看够不够减

JC BU_GOUJIANB;
不够减

INC 72H;
+1

LCALL SUBWORD;
做一次减法


SJMP LOOP_B;
百位数循环


;
还求十位数

BU_GOUJIANB:


MOV 7DH,#00H;
传除数高8

MOV 7CH,#0AH;
传除数低8

LOOP_S:


LCALL COM_SUB;
看看够不够减

JC BU_GOUJIANS;
不够减

INC 71H;
+1


LCALL SUBWORD;
做一次减法

SJMP LOOP_S;
十位数循环



;
最后,个位数不用求了,最终余数就是!

BU_GOUJIANS:


MOV 70H,7EH


(下面的程序用来显示70h到74h中的数值)
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表