软件工程程序清单.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;===========================================================

;这是一个频率计的主控程序,单片机晶振频率11.0592MHz。

;被测信号为TTL电平的矩形波,信号频率小于500kHz,从T0输入。

;显示采用8个LED数码管,动态驱动方式。

;闸门时间为1秒,测量间隔为5秒。闸门LED灯用P1.0驱动,低电平点亮。

;-----------------------------------------------------------

COM8255 EQU 8003H

PA_8255 EQU 8000H

PB_8255 EQU 8001H

PC_8255 EQU 8002H

OVER EQU 21H ;T0计数溢出次数计次单元

BUFFER EQU 22H ;显示缓冲区占用4个字节,22H-25H

BIN EQU 26H ;二进制数的字节数存放单元

BCD EQU 27H ;BCD数的个位地址

BINL EQU 28H ;二进制数最低字节存放地址

TEST BIT 00H ;测量标志

TESTEND BIT 01H ;测量结束标志

SEC_5 BIT 02H ;5秒到标志

ORG 0

LJMP START

ORG 0BH

INC OVER ;T0溢出次数加1

RETI

ORG 1BH

LJMP T1S

ORG 30H

START: MOV SP,#60H

MOV DPTR,#COM8255 ;指向8255命令口

MOV A,#80H ;PA、PB、PC设为基本输出模式

MOVX @DPTR,A

MOV TMOD,#15H ;设T1为定时器,T0为计数器

MOV TH0,#0

MOV TL0,#0

MOV TH1,#4CH ;T1定时50m,晶振频率11.0592MHz

MOV TL1,#00H

SETB PT1 ;T1为高级中断

SETB ET0 ;允许T0中断

SETB ET1 ;允许T1中断

SETB TR1 ;启动T1计数

SETB EA ;开中断

MOV OVER,#0 ;溢出计次单元清零

MOV BUFFER,#0 ;显缓区清零

MOV BUFFER+1,#0

MOV BUFFER+2,#0

MOV BUFFER+3,#0

MOV 0AH,#20 ;1区R2,1秒中断计次

MOV 0BH,#100 ;1区R3,5秒中断计次

CLR TEST

CLR TESTEND

CLR SEC_5

MAIN: JB SEC_5,LOOP1 ;5秒到则开始测量

LCALL DISP ;显示

SJMP MAIN

L00P1: CLR SEC_5

SETB TEST

CLR P1.0 ;点亮闸门灯

L00P2: JB TESTEND,LOOP3 ;测量结束则去计算

LCALL DISP

SJMP LOOP2

LOOP3: MOV R4,#0 ;取溢出次数乘以10000H的结果

MOV R5,OVER

MOV R6,#0

MOV R7,#0

MOV R3,TH0 ;取T0的计数值

MOV A,TL0

LCALL MADD ;4字节+2字节

MOV 36H,R7 ;4字节结果转换成6字节BCD码

MOV 37H,R6

MOV 38H,R5

MOV 39H,R4

MOV BINL,#36H ;指向待转换数据低位

MOV BIN,#4 ;待转换数据为4字节

MOV BCD,#30H ;指向转换结果的低位地址

LCALL HTOB ;将4字节16进制数转成6字节BCD码

MOV BUFFER,33H ;转换的BCD码送显

MOV BUFFER+1,32H ;实际只有4个字节有效

MOV BUFFER+2,31H

MOV BUFFER+3,30H

MOV OVER,#0 ;测量数据相关单元清零,为下次测量做初始化

MOV TH0,#0

MOV TL0,#0

CLR TESTEND

SJMP MAIN

;-------主程序结束------------------------------------

;

;====================================================

;T1中断服务程序

;---------------------------------------------------

T1S: MOV TL1,#00H ;送50ms初值

MOV TH1,#4CH

PUSH PSW

SETB RS0 ;选择1区工作寄存器

JB TEST,TT1

文档评论(0)

万能知识库 + 关注
实名认证
服务提供商

教师资格证持证人

专注本科毕业文章分享,着重关注锂离子电池、钠离子电池发展,参与指导大学生创新创业竞赛,研究高中化学、数学教与学。

领域认证该用户于2024年05月05日上传了教师资格证

1亿VIP精品文档

相关文档