数字温度计汇编驱动程序

数字温度计汇编驱动程序

ID:19533962

大小:32.50 KB

页数:9页

时间:2018-10-03

数字温度计汇编驱动程序_第1页
数字温度计汇编驱动程序_第2页
数字温度计汇编驱动程序_第3页
数字温度计汇编驱动程序_第4页
数字温度计汇编驱动程序_第5页
资源描述:

《数字温度计汇编驱动程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数字温度计汇编驱动程序;**************************端口的定义*************************************;*************************************************************************CONFIG12EQU7FH;DS18B20的转换精度选择(0、R1、R2、1、1、1、1、1);009位测量;0110位测量;1011位测量;1112位测量TEMPHEQU71H;高位温度原始数据的读入地址TEMPLEQU

2、70H;低位温度原始数据的读入地址ZHENGEQU73H;温度中的整数部分数据暂存空间XIAOEQU72H;温度中的小数部分数据暂存空间BAIWEIEQU77H;温度的百位数据SHIWEIEQU76H;温度的十位数据GEWEIEQU75H;温度的个位数据DIANWEIEQU74H;温度的小数点后一位数据DATEQUP1.0;DS18B20与单片机通信的口线;**********************初始化子程序和主程序******************************;***********************

3、*************************************************ORG0000HLJMPSTARTORG0030HSTART:MOVTEMPL,#0MOVTEMPH,#0LCALLINIT;调用初始化子程序MAIN:LCALLRDTEMP;调用读子程序,从DS18B20中读取出温度值LCALLDIVV;调用运算子程序LCALLDISPLAY;调用显示子程序显示当前温度值LJMPMAIN;************************数据处理子程序***********************

4、**********;***********************************************************************DIVV:;数据处理子程序,负责将温度数据转换为BCD码MOVA,TEMPLMOVB,#16DIVAB;分离温度数据低8位中的整数部分和小数部分(因为低字节第4位代表1度,但实际数值却是2的4次方=16,所以需要缩小16倍)MOVZHENG,A;将从温度数据低8位中分离出来的整数存放在整数存储空间中MOVXIAO,B;将从温度数据低8位中分离出来的小数存放在小数存储

5、空间中MOVA,XIAOMOVB,#10MULAB;将分离出的小数部分乘以10,即扩大10倍MOVB,#16DIVAB;将已经扩大了10倍的小数再除以16,以求出小数点后一位的数据(例如90/13=6余12,12*10/13=9余3,那么9就是小数点后一位)MOVDIANWEI,A;将小数点后一位数据存入小数点位MOVA,BMOVB,#10MULABMOVB,#16DIVAB;用同样的方法求出小数点后第二位CLRCSUBBA,#4;判断小数点后的第二位是否大于或等于5JCBUJIN;如果有借位说明小数点后第二位小于5,则不向小

6、数点后第一位产生进位INCDIANWEI;如果小数点后第二位大于等于5,则有借位产生,根据四舍五入原则,给小数点后第一位加1进位BUJIN:MOVA,TEMPHMOVB,#16MULAB;将温度数据高8位乘以16(因为高字节第0位代表2的4次方=16,但实际数值却是2的0次方=1,所以需要扩大16倍)ADDA,ZHENG;将温度数据高8位和低8位中代表整数的数据相加MOVZHENG,A;将最终求得的整数存放在整数存储空间中MOVA,ZHENGMOVB,#100DIVABMOVBAIWEI,A;求出整数中百位的BCD码,并存入百

7、位存储空间中MOVA,BMOVB,#10DIVABMOVSHIWEI,A;求出整数中十位的BCD码,并存入十位存储空间中MOVGEWEI,B;剩下的余数就是个位的BCD码,并存入个位存储空间中RET;***************************数据显示子程序*****************************;**********************************************************************DISPLAY:MOVDPTR,#TAB;通过查表来显示数据MO

8、VA,BAIWEI;显示百位MOVCA,@A+DPTRMOVP0,AMOVP2,#11110111BMOVR7,#0FFH;延时一下DJNZR7,$MOVA,SHIWEI;显示十位MOVCA,@A+DPTRMOVP0,AMOVP2,#11111011BMOVR7,#0FFHD

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

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

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