计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费毕业论文--基于单片机的温度监测系统(一)(6)

2013-05-10 18:04
导读:别是:总线复位子程序;总线读8位数据位子程序;总线写8位数据位子程序。在读、写8位数据位的子程序中,涉及了读/写“0”时序和读/写“1”时序的汇
别是:总线复位子程序;总线读8位数据位子程序;总线写8位数据位子程序。在读、写8位数据位的子程序中,涉及了读/写“0”时序和读/写“1”时序的汇编语言实现。下面就是用汇编语言编写的三个子程序的源代码及其说明,晶振频率12M:
初始化DS 1820的子程序:
 INIT:
  L0:MOV P1,#OOH
      MOV R2,#5
 L1:MOV R1,#125       ;总线为低复位电平
 
 L2:DJNZ R 1,L2
 DJNZ R2,L 1         ;总线复位电平保持125X5=625 u s
 MOV P1,#OFFH ;释放DS 1820总线
 MOV R2,#63
 L3:DJNZ R2,L3 ;释放DS 1820总线等待63 u s
 MOV R3,#41 ;监测存在脉冲41 X 10 u s
 L4:MOV C,P1.5
 JNC L6 ;监测到存在脉冲,跳转至延时420 u s
 DEC R3
 MOV A,R3
     JZ L5 ;接收到存在脉冲吗?不存在重新来
 SJMP L4 ;继续监测存在脉冲
 L5:SJMP L0
 L6:MOV R1,#3 ;延时630 u s
 L7:MOV R6,#210
 L8:DJNZ R6,L8
 DJNZ R1,L7
 MOV P1,#OFFH ;初始化完成释放总线
 RET ;退出初始化子程序
 
主机写时序时的子程序:
    注:取A寄存器内的8位数据,写入总线
 WRITE:
           MOV R3,#8      ;写入DS 1820的bit数,一个字节8个bit
     WRl:RRC A            ;把一个字节分成8个bit环移给C
           CLR P1.5          ;主机开始传输数据,总线要处于低电平状态
(科教作文网 zw.nseac.com整理)

           MOV R4,#10     ;总线保持低电位l0 u s
     WR2:DJNZ R4,WR2
           JC WR5           ;对当前数据位进行判断,是写‘0’还是写‘1’
           CLR P1.5          ;writer‘0’
           MOV R2,#50      ;writer ‘0’延时55 p s,由DS1820取样
     WR3:DJNZ R2,WR3
           MOV P1,#OFFH   ;总线释放101, s
           MOV R5,#10
     WR4:DJNZ R5,WR4
           DJNZ R3,WR1    ;泻入下一个bit
           SJMP WR7         ;全写完转入退出
     WR5:SETB P1.5         ;writer ‘1’ ,DS1820总线释放
           MOV R2,#55
     WR6:DJNZ R2,WR6    ;等待551, s,DS 1820取样
           DJNZ R3,WR 1    ;写入下一个bit
     WR7:MOV P1,#OFFH
           MOV R5,#5
 WR8:DJNZ R5,WR8
 RET                     ;退出WRITE子程序

主机读时序时的子程序: (转载自http://www.NSEAC.com中国科教评价网)
 注:一读总线上传输的8位数据,结果存

上一篇:小型氧气机(一)信息工程毕业论文 下一篇:没有了