编辑: ZCYTheFirst | 2014-06-10 |
出口信息:转换后的BCD码整数(十位和个位)仍在累加器A中,百位在R3中. ;
影响资源:PSW、A、B、R3 堆栈需求: 2字节 HBCD: MOV B,#100;
;
分离出百位,存放在R3中DIV AB MOV R3,A MOV A,#10;
;
余数继续分离十位和个位 XCH A,B DIV AB SWAP A ORL A,B;
;
将十位和个位拼装成BCD码RET ;
(1) 标号: BCDA 功能:多字节BCD码加法 ;
入口条件:字节数在R7中,被加数在[R0]中,加数在[R1]中. ;
出口信息:和在[R0]中,最高位进位在CY中. ;
影响资源:PSW、A、R2 堆栈需求: 2字节 BCDA: MOV A,R7;
;
取字节数至R2中MOV R2,A ADD A,R0;
;
初始化数据指针 MOV R0,A MOV A,R2 ADD A,R1 MOV R1,A CLR C BCD1: DEC R0;
;
调整数据指针 DEC R1 MOV A,@R0 ADDC A,@R1;
;
按字节相加 DA A;
;
十进制调整 MOV @R0,A;
;
和存回[R0]中DJNZ R2,BCD1;
;
处理完所有字节 RET 五. 结束语 ???? AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好.即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统. 本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化.另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义.目前此设计已成功应用于钻井模拟器实验室室温控制. ???? 本文作者观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广. 六.参考文献 [1]李朝青.单片机原理及接口技术(第三版) 北京:北京航空航天大学出版社 [2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005