1、单片机课程设计1微机原理与接口技术I综合实验设计报告设计课题: 温度上下限报警器 专业班级: 学生姓名: 学生学号: 指导教师: 成 绩: 二一二 年 五 月 二十三 日温度上下限报警器一, 设计目的基于AT89C51单片机设计温度检测报警,可以实时采集周围的温度信息进行显示,并且可以根据应用环境不同设定不同的报警上下限。本次设计的温度检测报警系统是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。该系统实现了对温度的自动监测,为设备的正常运行提供了条件,在工业中具有一定的实用价值和广泛的应用前景。二, 设计
2、要求1. 实时温度检测并显示其对应的值。2. 具有温度报警功能。3. 可以设报警置温度上下限。三, 设计电路原理图 系统设计框图 图2.1 系统设计框图系统电路设计框图 AT89C51 单 片 机 温度传感器进行温度采集,经过A/D转换(ADC0808内部完成此操作),送入单片机存储,通过定时器0进行定时读取 把所测试的温度显示到数码管上 蜂宁器报警,在温度达到相应设定的温度值,触发蜂宁器发出响声,进行报警。可以设定报警方式(上限报警还是下限报警) 图2.2.1 系统电路设计框图2.2.3 系统电力模块图(1)单片机电路连接图 图2.2.3(1)为单片机电路连接图,其中晶振频率可以根据自己需要
3、进行选择,范围在0-24MHZ,常用12MHZ。复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。还有其P0内部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。 图2.2.3(1) 单片机电路连接图 (2)液晶显示电路模块图2.2.3(2)为液晶显示电路模块,图中为一个四位八段数码管,其接法为共阴极接法。(2)液晶显示电路模块图2.2.3(2)为液晶显示电路模块,图中为一个四位八段数码管,其接法为共阴极接法。 图2.2.3(2)液晶显示电路模块(3)A/D转换电路模块 图2.2.3(3)为A/D转换电路模块物理量的输入为IN0管脚,模量的输
4、出为OUT18。. 图2.2.3(3)A/D转换电路模块2.2.4 系统电力图 图2.2.4 系统电力图四, 元器件清单7SEG-MPX4-CC-BLUEADCO808AT89C51CAPCAP-ELECCRYSTALLED-BLUELED-GREENLED-REDLED-YELLOWPOT-HGPULLUPRESSOUNDER五, 软件流程图与清单程序主要模块流程图 图3.1 AT89C51主程序流程图源程序清单与注释LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HADC EQU 35HTCNTA EQU 36HTCNTB EQU 37HH_TEMP EQU 3
5、8H ;温度上限L_TEMP EQU 39H ;温度下限FLAG BIT 00HH_ALM BIT P3.0L_ALM BIT P3.1SOUND BIT P3.7CLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG 1BH LJMP INT_T1 START: MOV LED_0, #00H MOV LED_1, #00H MOV LED_2, #00H MOV DPTR, #TABLE MOV H_TEMP, #153 MOV L_TEMP, #77 MOV T
6、MOD, #12H MOV TH0, #245 MOV TL0, #0 MOV TH1, #(65536-1000)/256 MOV TL1, #(65536-1000)MOD 256 MOV IE, #8aH CLR C SETB TR0 ;为ADC0808提供时钟WAIT: SETB H_ALM SETB L_ALM CLR ST SETB ST CLR ST ;启动转换 JNB EOC, $ SETB OE MOV ADC,P1 ;读取AD转换结果 CLR OE MOV A, ADC SUBB A,#77 ;判断是否低于下限 JC LALM MOV A, H_TEMP MOV R0, A
7、DC SUBB A,R0 ;判断是否高于上限 JC HALM CLR TR1 LJMP PROCLALM: ;低温报警 CLR L_ALM SETB TR1 CLR FLAG LJMP PROCHALM: ;高温报警 CLR H_ALM SETB TR1 SETB FLAG LJMP PROCPROC: MOV A,ADC ;数值转换 MOV B, #100 DIV AB MOV LED_2, A MOV A, B MOV B, #10 DIV AB MOV LED_1, A MOV LED_0, B LCALL DISP SJMP WAITINT_T0: CPL CLOCK ;提供ADC08
8、08时钟 RETIINT_T1: MOV TH1, # (65536-1000)/256 MOV TL1, # (65536-1000)MOD 256 CPL SOUND INC TCNTA MOV A, TCNTA JB FLAG,I1 ;判断是高温警报还是低温警报 CJNE A,#30,RETUNE ;低温警报声 SJMP I2 I1: CJNE A,#20,RETUNE ;高温警报声 I2: MOV TCNTA, #0 INC TCNTB MOV A, TCNTB CJNE A,#25,RETUNE MOV TCNTA, #0 MOV TCNTB, #0 LCALL DELAY2RETU
9、NE: RETI DISP: MOV A,LED_0 ;数码显示子程序 MOVC A,A+DPTR CLR P2.3 MOV P0, A LCALL DELAY SETB P2.3 MOV A, LED_1 MOVC A,A+DPTR CLR P2.2 MOV P0, A LCALL DELAY SETB P2.2 MOV A, LED_2 MOVC A,A+DPTR CLR P2.1 MOV P0, A LCALL DELAY SETB P2.1 RETDELAY: MOV R6, #10D1: MOV R7, #250 DJNZ R7, $ DJNZ R6, D1 RETDELAY2: M
10、OV R5, #20D2: MOV R6, #20D3: MOV R7, #250 DJNZ R7, $ DJNZ R6, D3 DJNZ R5, D2 RETTABLE: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, 6FH END实验结果1 正常情况数码管显示的数字在77153范围内,且报警等都不亮,蜂鸣器不发出声音,结果如图4.1. 图4.1 正常情况2 低于温度下限数码管显示温数字低于77,P3.1为低电平,故在这路上的LED灯亮,蜂鸣器发出声音,结果如图4.2。. 图4.2 低于下限3 高于温度上限数码管显示数字高于153,P3.
11、0为低电平,故在这路上的LED灯亮,蜂鸣器发出声音,结果如图4.3。. 图4.3 高于上限六, 结论与心得通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。我在设计的过程中遇到了许多问题,同时也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对汇编语言掌握得不透彻。还有,这次的设计让我明白了求人不如求己,虽然我们要讲究合作,但更重要的是自己,只有自己懂,自己做,才不会在关键时刻掉链子。别人终
12、究是一个陪衬,路总是要自己走,属于自己的任务就要自己搞。所以,我们必须要时刻强大自己,别人终究是别人。这个过程虽然不是很平坦,肯定会遇到各种各样的问题,但一旦征服了它那它就是你的东西了,当这样的厚积达到一定程度那你就能享受到薄发那刻的辉煌。七, 参考文献1 孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994 2 李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.20053 周润景、袁伟亭、景晓松.Proteus在MCS-51&ARM7系统中的应用百例.电子工业出版社.20064 阎石. 数字电子技术基础(第四版).高等教育出版社.2004
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1