温度计代码(国外英文资料).doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温度计代码(国外英文资料)

温度计代码(国外英文资料) org 0 ljmp main org 0bh; p0入口 ljmp int count equ 60h main: mov count, # 60h setb tr0 setb ea setb et0 sjmp $ int: clr ea djnz count, quit; 不等于零的时候跳到quit lcall readwd; 读温度 mov r6, wdbufh mov r7, wdbufl mov r4, bufbh; 十六进制换算成十进制 mov r5, bufbh + 1 lcall hb2; 调用hb2子程序 mov bufbh, wdbufh mov bufbh + 1, wdbufl mov len, # 2; 字节 mov dot, # 20h; 小数点的位置 lcall display mov count, # 60h quit: setb ea; 总的中断 reti ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; 标号: display 功能: 8位led显示器模拟串口驱动程序 ; p1.0 - data, p1.1-clk, 30h - 33h显示缓冲区, ; 34h - 3ch笔型码缓冲区, 3dh显示缓冲区长度 ; 2fh小数点闪烁标志字节 (d7 - d0对应左到右的8位), 1亮 / 0暗 ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * bufsz equ 34h; 显示缓冲区首址 bufbh equ 30h; 笔型码缓冲区首址 len equ 3ch; 显示缓冲区长度 dot equ 2fh; 小数点闪烁标志字节 the dta equ p1.1; 串行数据线 clk... equ p1.0; 串行时钟线 ; --------------------------------------------------------- display: nop; 模拟串口驱动串口不需设置 查找笔形码; * * * * mov r7, len; 显示缓冲区长度 mov r0, # bufbh; 显示缓冲区首址 mov r1, # bufsz; 笔型码缓冲区首址 ds0: mov (a, @ r0 swap (a anl (a, # 0fh; 取出缓冲区一位的高4位数据 lcall dl inc r1; 移笔型码缓冲区指针 mov (a, @ r0 anl (a, # 0fh; 取出缓冲区一位的低4位数据 lcall dr inc r1; 移笔型码缓冲区指针 inc r0; 移数据缓冲区指针 djnz r7, ds0 显示4位数据; * * * * mov a, len rl a mov r7, a mov r1, # bufsz; 笔型码首地址 dis4: mov (a, @ r1; 读一位笔型码 lcall disp0; 调用显示一位子程序 inc r1; 移一位读指针 djnz r7, dis4; 4位显示完否 ret ; * * 显示1位数据子程序, 入口参数: a * * disp0: mov b, # 8h; 移位次数放入b中 disp1: rrc a; a中笔形码左移1位到cy mov dta, c; 移位数据送出1位 the clr clk...; p1.0口送出1个时钟脉冲 setb clk... djnz b, disp1; 8位笔型码送完否 right dr: push acc mov a, dot; 查右笔型码 clr c rlc a mov dot, a jc dr0 mov dptr, # tabr1; 查右笔型码首地址 (小数点不亮) ljmp dr1 dr0: mov dptr, # tabr2; 查右笔型码首地址 (小数点亮) dr1: pop acc movc a, @ a + dptr; 查出对应笔型码 mov @ r1, a; 存笔型码 right dl: push acc mov a, dot; 查左笔型码 clr c rlc a mov dot, a jc dl0 mov dptr, # tabl1; 查左笔型码首地址 (小数点不亮) ljmp dl1 dl0: mov dptr, # tabl2; 查左笔型码首地址 (小数点亮) dl1: pop acc movc a,

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档