单片机课程设计报告(一)(2)
作者:佚名; 更新时间:2017-02-02

3.2读出温度子程序
 读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8示
图9 温度转换流程图
3.3温度转换命令子程序
 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示
3.4 计算温度子程序
 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。
 
图10 计算温度流程图                 图11 显示数据刷新流程图

3.5 显示数据刷新子程序
 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图11。
4总结与体会
    经过将近三周的单片机课程设计,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这

次设计把实物都做了出来,高兴之余不得不深思呀!
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。
从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。
参考文献
[1] 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998
[2] 李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994
[3] 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,1989
[4] 廖常初.现场总线概述[J].电工技术,1999.

附:
 数字温度计程序清单
 
 S1OK  EQU  5FH
TEMPUTER  EQU  39H
    TEMPH   EQU  5EH
     TEMPL EQU  5DH
     MS50   EQU  5CH
 SIGN  EQU  5BH

S1   BIT  P1.0
         S2   BIT  P1.1
         S3   BIT  P1.2
       S4   BIT  P1.3
      ORG   0000H
        LJMP  MAIN
        ORG   000BH
        LJMP  TOIT
         ORG   0030H
MAIN:   MOV   SP,  #60H
         MOV   TMOD, #01H
         MOV   TH0, #3CH
         MOV   TL0, #0B0H
         SETB  ET0
         SETB  TR0
         SETB  EA
         MOV  TEMPH, #30
         MOV  TEMPL, #9
         MOV  TEMPUTER, #15   ;温度最始值
         MOV  S1OK,  #00H
         MOV  SIGN,  #00H
         MOV  38H,  #0BH
         MOV  37H,  #0CH
         MOV  36H,  #0BH
         ACALL DISP
         ACALL T1S
; *****************************************
;  主程序
START:  JB  S1,  NET1
        ACALL T12MS
        JB  S1,  NET1
        JNB S1,  $
        INC SIGN
        MOV A, SIGN
        CJNE A, #1, TIAO
        ACALL TIAOTL
 &

nbsp; TIAO:CJNE A, #2, NET1
        MOV SIGN, #0
        ACALL TIAOTH
; *****************************************

NET1: MOV   A, S1OK
        CJNE  A, #1, START
        MOV   A, TEMPUTER
        SUBB  A,  TEMPH
        JNB   ACC.7, ALEM
        MOV   A, TEMPUTER
        SUBB  A,  TEMPL
        JB    ACC.7, ALEM
        SETB  P2.1
        ACALL WENDU
        ACALL DISP
        MOV   S1OK,  #00H
        AJMP  START
  ALEM: MOV   36H, #0CH
        MOV   37H, #0CH
        MOV   38H, #0CH
        CLR   P2.1
        ACALL DISP
        ACALL T1S
        LCALL WENDU
        LCALL DISP
        MOV   S1OK,  #00H
        SJMP  START
;*****************************************
TIAOTL:MOV  50H,    TEMPUTER
       MOV  37H,  TEMPL
       ACALL BIN_BCD
       ACALL DISP
       ACALL T12MS
       ACALL T12MS
       ACALL T12MS
       ACALL T12MS
       MOV   36H, #0AH
       MOV   37H, #0AH
       MOV   38H, #0AH
       ACALL DISP
       ACALL T12MS
       ACALL T12MS
       ACALL T12MS
       ACALL T12MS
       JB  S2,  ADD1
       ACALL T12MS
       JB  S2,  ADD1
       JNB S2,  $
       INC TEMPL
       MOV  A, TEMPL
       CJNE A, #100, ADD1
       MOV  TEMPL, #0
 ADD1: JB  S3,  ADD2
       ACALL T12MS
    &

nbsp;  JB  S3,  ADD2
       JNB S3,   $
       DEC TEMPL
       MOV A, TEMPL
       CJNE A, #00 , ADD2
       MOV  TEMPL,#100
 ADD2: JB  S4, TIAOTL
       ACALL T12MS
       JB  S4, TIAOTL
       JNB S4, $
       MOV TEMPUTER, 50H
       LJMP START
       ; 高位调整
; *****************************************
TIAOTH:MOV  50H,    TEMPUTER
       MOV  37H,  TEMPH
       ACALL  BIN_BCD
       ACALL  DISP
       ACALL  T12MS
       ACALL  T12MS
       ACALL  T12MS
       ACALL  T12MS
       MOV    36H, #0AH
       MOV    37H, #0AH
       MOV    38H, #0AH
       ACALL  DISP
       ACALL  T12MS
       ACALL  T12MS
       ACALL  T12MS
       ACALL  T12MS
       JB   S2,  ADD11
       ACALL T12MS
       JB  S2,  ADD11
       JNB S2,  $
       INC TEMPH
       MOV  A, TEMPH
       CJNE A, #100, ADD11
       MOV  TEMPH, #0
 ADD11: JB  S3,  ADD22
       ACALL T12MS
        JB  S3,  ADD22
        JNB S3,   $
        DEC TEMPH
        MOV A, TEMPH
        CJNE A, #00 , ADD22
        MOV  TEMPH,#100
 ADD22: JB  S4, TIAOTH
        ACALL T12MS
        JB  S4, TIAOTH
        JNB S4, $
        MOV TEMPUTER, 50H
        LJMP START

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com