全球旧事资料 分类
DS18B20汇编程序,1602液晶显示200611394434
TEMPER_LEQU36HTEMPER_HEQU35HTEMPER_NUMEQU60HFLAG1BIT00HDQBITP33RSEQUP37RWEQUP36EEQUP35LCD_DBEQUP1AAAMOVSP70HLCALLGET_TEMPERLCALLTEMPER_COVLCALLDISPLAY调用显示子程序LJMPAAANOP读出转换后的温度值GET_TEMPERSETBDQ定时入口BCDLCALLINIT_1820JBFLAG1S22LJMPCC若DS18B20不存在则返回S22LCALLDELAY1MOVA0CCH跳过ROM匹配0CCLCALLWRITE_1820MOVA44H发出温度转换命令LCALLWRITE_1820NOPLCALLDELAYLCALLDELAYCBALCALLINIT_1820JBFLAG1ABCLJMPCBAABCLCALLDELAY1MOVA0CCH跳过ROM匹配LCALLWRITE_1820MOVA0BEH发出读温度命令LCALLWRITE_1820LCALLREAD_18200READ_1820RETRSP20RWP21EP22
f读DS18B20的程序从DS18B20中读出一个字节的数据READ_1820MOVR28RE1CLRCSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR37DJNZR3MOVCDQMOVR323DJNZR3RRCADJNZR2RE1RET写DS18B20的程序WRITE_1820MOVR28CLRCWR1CLRDQMOVR36DJNZR3RRCAMOVDQCMOVR323DJNZR3SETBDQNOPDJNZR2WR1SETBDQRET读DS18B20的程序从DS18B20中读出两个字节的温度数据READ_18200MOVR42将温度高位和低位从DS18B20中读出MOVR136H低位存入36HTEMPER_L高位存入35HTEMPER_HRE00
fMOVR28RE01CLRCSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR37DJNZR3MOVCDQMOVR323DJNZR3RRCADJNZR2RE01MOVR1ADECR1DJNZR4RE00RET将从DS18B20中读出的温度数据进行转换TEMPER_COVMOVA0F0HANLATEMPER_L舍去温度低位中小数点后的四位温度数值SWAPAMOVTEMPER_NUMAMOVATEMPER_LJNBACC3TEMPER_COV1四舍五入去温度值INCTEMPER_NUMTEMPER_COV1MOVATEMPER_HANLA07HSWAPAORLATEMPER_NUMMOVTEMPER_NUMA保存变换后的温度数据LCALLBIN_BCDRET将16进制的温度数据转换成压缩BCD码BIN_BCDMOVDPTRTEMP_TAB
fMOVATEMPER_NUMMOVCAADPTRMOVTEMPER_NUMARETTEMP_TABDB00H01H02H03H04H05H06H07HDB08H09H10H11H12H13H14H15HDB16H17H18H19H20H21H22H23HDB24H25H26H27H28H29H30H31HDB32H33H34H35H36H37H38H39HDB40H41H42H43H44H45H46H47HDB48H49H50H51H52H53H54H55HDB56H57H58H59H60H61H62H63HDB64H65H66H67H68H69H70H71HDB72H73H74H75H76H77H78H79HDB80H81H82H83H84H85H86H87HDB88H89H90H91H92H93H94H95HDB96H97H98H99HDS18B20初始化程序INIT_1820SETBDQNOPCLRDQMOVR080HTSR1DJNZR0TSR1延时SETBDQMOVR025H96US25HTSR2DJNZR0TSR2JNBDQTSR3LJMPTSR4延时TSR3SETBFLAG1置标志位表示DS1820存在LJMPTSR5TSR4CLRFLAG1清标志位表示DS1820不存在LJMPTSR7TSR5MOVR006BH20r
好听全球资料 返回顶部