毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机智能温度计设计 第6页

更新时间:2008-2-23:  来源:毕业论文

单片机智能温度计设计 第6页


3 智能温度计的流程图

在软件设计上,采用了良好的人机交互环境,可通过选择功能热键执行特定的程序,如任意设定检测参数值,选择显示方式和控制模式等,还可设置优先权直接进行人为干预以便达到灵活控制的目的,如果某一检测通道被键设置成关闭,那么不管此通道外部情况如何,系统均不作任何反应。

为了提高系统的抗干扰能力,除硬件上采取了相应的措施外,在软件设计中也采取了若干措施,如在数据采集时采用数字滤波;采取指令冗余设计,在程序中适当地插入空操作指令,对一些重要的指令重写等等。从而有效地提高了系统运行的可靠性,使其检测控制工作及时准确、安全稳定,达到良好的环境模拟控制性能要求。

图9是智能温度计的流程图。因为智能温度计的控制和计算相对简单,由该流程方框图可见,该主程序是循环线性结构。在初始化时,清除内部RAM,设定标志位和标志单元,设置堆栈指针,检测LED显示器工作是否正常等。

它主要包括了下述一些子程序:

(1)从A/D转换器MC14433读取温度数字电压子程序:查询A/D转换状态,一旦本次A/D转换结束,CPU将温度电压的BCD码数字值送到RAM中的输入缓冲区存放。

(2)温度电压数字值到温度数字转换子程序;将缓冲区中的温度电压数字BCD码转换为实际的温度十进制数字。

(3)温度数字到LED显示段码转换子程序:把温度十进制数字转换成相应的LED显示段码,存放在显示段码缓冲区供LED显示器显示传送子程序

(4)       LED显示段码到LED显示器显示传送和动态扫描子程序

(5)       BCD码加,减,乘,除子程序;

(6)       BCD码在缓冲器间传送子程序;

开始
 
CPU 初始化,设堆栈指针,清除RAM缓冲区,初始化LED显示器,显示8888一秒,调用MC14433的A/D转换程序,对温度进行采样,送LED显示器,显示当前温度 

 
 
调用MC14433的A/D转换子程序,将温度的电压数字值存放到内部A/D输入数据缓冲区

 
 
调用A/D输入数字值到数字温度转换子程序,将数字温度电压值转换为其相应的温度数字,存放到数字温度的缓冲区
 

 
 
调用送LED显示器显示子程序,将数字温度缓冲区的内容变换为相应的LED显示段码,然后调用动态扫描子程序,将段码送LED显示器显示
 

 
 

(7) 其它专用子程序;

图 9 智能温度计的流程图若


4  系统主程序

 

系统主程序:

ORG 0000H

LJMP MAIN

ORG 0013H

LJMP SUB

ORG 0100H

MAIN: MOV SP,#40H

MOV  A,#78H

MOV  R7,#09H

  MOVX A,@DPTR

  MOV R0,A

  CLR C

SUBB A,#34H

JNC LOOP1

CLR C

MOV A,R0

SUBB A,#3AH

JC LOOP

MOV A,R0

ACALL TEMP

LOOP:MOV DPTR,#EF00H

MOV R1,#0F8H

MOV A,#33H

MOVX @R1,A

MOV A,R0

MOVC A,@A+DPTR

DEC R1   www.751com.cn

MOVX @R1,A

MOVX @R1,A

INC R0

MOV A,R2

CLR C

RRC A

MOV R2,A

MOV A,#00H

MOV DPTR,#00F8H

MOVX @DPTR,A

AJMP GO

LOOP1:  MOV P1,#8FH

AJMP GO

LOOP2:   MOV P1,#0BFH

GO  :   POP DPH

POP DPL

POP ACC

POP PSW

RETI

END

TEMP:   MOV DPTR,TABLE

        MOV A,R0

        MOV B,#04H

        CLR C

        MUL AB

        JNC NOO

        INC DPH

                      

  NOO:  MOVC A,@A+DPTR

        MOV 80H,A

        INC DPTR

        MOVC A,@DPTR

        MOV 81H,A

        AJMP LOOP

        ORG 0300H

TAB: DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 83H

MAIN:MOV 20H,#0

     MOV 21H,#0

     MOV R0,#3CH

     MOV R1,#12

     LCALL CLEAR

     SETB PT0

ML2: NOP

     NOP

     NOP

     MOV A,P1

     CJNE A,#0FBH,ML3

     AJMP MAIN      

ML3: MOV A,PIN1

     INC A

     SUBB A,PIN3

     CJNE A,#0,ML4

     AJMP TEST0

ML4: JC TEST0

     JNB E1,TEST0     

     AJMP COMPP

TEST0:MOV PIN3,#0

     MOV A,P1

     CJNE A,#0FDH,TEST   

     AJMP EXIT

TEST:MOV A,P1

     CJNE A,#0FFH,TEST1     

EXIT:MOV R0,#79H      

     MOV R1,#50H

HEX: ACALL HEXASC

     MOV R2,#6

     MOV R0,#5AH

     ACALL INI

     CLR FLAG3

     SJMP HERE

 

COMPP:AJMP COMP

SECOO:JNB P1.5,SSECO

      AJMP SECO

SSECO:AJMP SEC

MINII:JNB P1.5,MMINI

      AJMP MINI

MMINI:AJMP MIN

HOURR:JNB P1.5,HHOUR

      AJMP HOUR

HHOUR:AJMP HOU

TEST1:JNB P1.0,SETT

TEST2:SETB EA

      JNB P1.4,EXIT

      JNB P1.5,DEAL

      AJMP TEST

SETT:CLR EA

     MOV C,P1.4

     MOV F0,C

     JNB P1.1,SECOO

     JNB P1.2,MINII

     JNB P1.3,HOURR

     AJMP TEST2

DEAL:SETB E1

     JNB P1.4,OVER

     MOV R0,#49H

     MOV R1,#6

     ACALL CLEAR

     MOV B,#3

     MOV A,PIN1

     MUL AB

     ADD A,R4

     MOV PIN,A

     MOV A,PIN1

     CJNE A,#4,AAA

     MOV PIN1,#0

     MOV PIN2,#3EH

     MOV PIN,#3CH    

AAA: JNB P1.4,OVER

     JNB P1.1,SECOO

     JNB P1.2,MINII

     JNB P1.3,HOURR

     AJMP AAA

OVER:SETB E2

     INC PIN1

     MOV R2,#6

     MOV R0,#3AH

     MOV R1,PIN1

     ACALL INI         

     MOV R0,#49H

     MOV R2,#3

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

单片机智能温度计设计 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。