鸡雏恒温孵化器.docx
《鸡雏恒温孵化器.docx》由会员分享,可在线阅读,更多相关《鸡雏恒温孵化器.docx(26页珍藏版)》请在冰点文库上搜索。
鸡雏恒温孵化器
第一章课程设计目的与要求
1.1课程设计目的
“单片机与接口技术”课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的小型单片机系统,并在实践的基本技能方面进行一次系统的训练。
能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。
培养独立思考、独立收集资料、独立设计规定功能的单片机系统的能力;培养分析、总结及撰写技术报告的能力。
1.2课程设计的实验环境
利用windows操作系统及应用软件进行绘图和编程。
1.3课程设计的预备知识
熟悉单片机与接口技术课程的相关知识及电子线路CAD工具软件。
1.4课程设计要求
按课程设计指导书提供的课题,根据第二章给出的基本要求及参数独立完成设计,课程设计说明书应包括以下内容:
1、对设计课题进行简要阐述,并说明设计任务及具体要求。
2、论述系统设计方案,并画出总体电路结构图及功能分割图。
3、能够较熟练地应用电子线路CAD工具完成单片机系统的硬件设计任务。
4、各功能模块设计说明、设计实现过程及源程序。
5、能够较熟练地应用一种编辑软件编写程序,掌握单片机系统软件设计的基本方法
6、课程设计报告应内容完整、字迹工整、图表整齐规范、数据详实。
7、课程设计总结
8、字数4000左右,有系统电气原理图。
第二章课程设计内容
设
计
技
术
参
数
1、使用1只传感器选择。
2、控制温度小于50℃。
3、3位数码管显示。
4、CPU采用51兼容型。
5、加热器1000W
工
作
量
1温度传感器选择。
2温度测量通道设计。
3显示电路设计。
4CPU及按键电路设计。
5温度控制电路设计
6写出程序流程图及汇编程序。
工
作
计
划
第一天
第二天
第三天
第四天
第五天
第二周
温度传感器选择,温度测量通道设计。
显示电路设计。
CPU及按键电路设计。
温度控制电路设计
写出程序流程图及汇编程序。
画原理图、打印
第3章课程设计的考核
3.1课程设计的考核要求
课程设计采用五级(优、良、中、及格、不及格)评分制。
最后成绩依据课程设计论文及平时成绩决定,其中平时考核成绩占20%。
3.2课程性质与学分
单片机与接口技术课程设计的课程性质:
考查
学分:
2分
第四章设计
4.1设计思路
本设计采用89C-51单片机系统来实现孵化场温度的自动控制。
单片机软件编程灵活,自由度大,可用软件编程实现各种控制算法和逻辑控制。
单片机系统可用数码管显示现场温度,孵化场温度的上下限能用键盘设定,并可实现报警、控制等多种功能。
本方案选用89C-51芯片(内部含有4KB的EEPOM),不需要向外扩展程序存储器,可使系统整体结构更为简单,控制系统结构如图4.1所示。
4.2系统硬件设计
4.2.189C-51单片机简介
本设计决定用单片机作为中心控制器。
现流行的单片机有很多种,其中MCS-51系列以较高的性价比博得很多用户的青睐。
所以,本系统采用美国Intel公司生产的89C-51型单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉等优点并具有4K字节的程序存储器,使得它应用起来更加方便。
4.2.2数据存储器扩展
89C-51型单片机片内有128B的RAM,在实际应用中仅靠这256B的数据存储器是远远不够的。
这种情况下可利用MCS-51单片机所具有的扩展功能扩展外部数据存储器。
MCS-51系列单片机最大可扩展64KB。
6264是8K×8位静态随机存储器,采用CMOS工艺制造,单一+5V电源供电,额定功率200mW,典型存取时间200ns,为28线双列直插式封装,其引脚如图4.2所示,工作方式选择如表4.1所示:
A0~A12
地址线
I/00~I/07
双向数据线
片选线1
片选线2
写允许线
读允许线
表4.1工作方式选择图4.2引脚图
4.2.3传感器的选择
热电阻传感器主要用于测量温度及与温度有关的参数,在工业生产中被广泛用于测量-200℃~+500℃范围内的温度.按照热电阻的热度不同,热电阻可以分为金属热电阻和半导体热电阻两类,前者称为热电阻,后者称为热敏电阻。
以热电阻或热敏电阻为主要器件制成的传感器称为热电阻传感器或热敏电阻传感器。
根据本设计中所需要测量的温度范围、敏感度、精确度以及考虑其经济性,热敏电阻传感器为最合适的测温元件。
温度检测电路设计
本设计采用的是热敏电阻电桥接口变换,热敏电阻电桥与运放级联传感器电路如图4.3所示。
电桥输出构成运放差输入,可获得对地为零输出电压。
取
,
,
,
;输出电压值如列表,输出电压特性:
输出为S形曲线;具有S形非线性误差,最大误差为+150mv。
图中
用于零点调整,
用于温度调整。
图4.3传感器电路图
输入温度0℃~50℃,输出电压0V到10V。
为避免热敏电阻加热效应取
。
热敏电阻参数如表4.2。
表4.2热敏电阻参数及输出电压
温度(℃)
0
7.0581
0.0000
10
5.9743
1.856
20
4.9826
3.928
25
4.5402
5.000
30
4.1381
6.071
40
3.4568
8.133
50
2.9274
10.000
4.2.4A/D转换电路
A/D转换接口是系统数据采集前向通道的一个重要环节。
数据采集是在模拟信号源中采集信号,并将之转换为数字信号送入计算机的过程。
AD574由两部分组成,一部分是模拟芯片,另一部分数字芯片,其中模拟部分由高性能的12位D/A转换器AD565和参考电压组成。
数字部分由控制逻辑电路,逐次逼近型寄存器的三态缓冲器组成。
AD574的引脚如图4.4所示。
图4.4AD574的引脚图
4.2.5显示接口电路设计
LED显示块是由发光二极管显示字段的显示器件。
这种显示块有共阴极和共阳极两种。
共阴极LED显示块的发光二极管共地。
当某个发光二极管的阳极为高电平时,发光二极管点亮;本设计选用的显示块是共阴极的LED(共阴极LED显示块的发光二极管阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮)。
将单片机I/O口的8位线与显示块的发光二极管的引出端(a~dp)相连,共阴极低电平有效,选通有效后8位并行输出口输出不同的数据就点亮相应的发光二极管,获得不同的数字或字符。
本设计采用的芯片是74LS374。
显示电路如图4.5所示:
图4.5显示电路原理图
4.2.6输出控制电路设计
在本设计系统中,需要控制高电压(220V),高电流的负载,这样大功率负载显然是不能用单片机的I/O线来直接驱动的,这就必须经过单片机的功率接口来驱动。
此外,为了隔离和抗干扰,还需要加接光电耦合器。
因为本设计采用的交流负载,所以选用双向可控硅。
双向可控硅的内部结构如下图4.6。
在设计当中,采纳了Motorola公司推出的单片集成可控硅驱动器件MOC3041作为为对输出的驱动和控制。
由MOC3041组成的过零触发双向可控硅电路简单可靠,MOC3041和双向可控硅构成的输出通道电路如下图4.7所示。
图4.6双向可控硅的内部结构图4.7MOC3041和双向可控硅构成的输出通道电路
该部分的工作过程是:
当单片机的P14口输出为低电平是,MOC3041内部导通,G端通道出现同步触发脉冲,控制可控硅导通,打开加热器;当P14为高电平时,MOC3041内部截止,可控硅断开,关闭加热器。
本设计采用1000W加热器
4.2.7简易式键盘接口电路设计
8255可编程并行I/O接口设计
MCS-51系列单片机共有4个8位并行I/O口,这些I/O口一般是不能完全提供给用户使用的,在外部扩展存储器时,提给用户使用的I/O口只有P1和P3口的部分口线。
因此在大部分的MCS-51单片机应用系统中都免不了要进行I/O口的扩展。
8255芯片引脚图如图4.8所示。
图4.88255引脚图
单片机也8255的接口比较简单,如图4.9所示,8255的片选信号
及口地址选择线AO、A1分别由单片机的P0.7和P0.0、P0.1经地址锁存器提供.
8255的A、B、C口及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。
8255的D0~D7分别与P0.0到P0.7相连。
图4.989C-51与8255的接口电路
键盘功能说明:
1号键:
上升。
2号键:
下降。
3号键:
下限温度值确定。
4号键:
上限值确定。
5号键:
查询上下限值。
使用1号键和2号键,设定需要的温度控制系统的上限值,然后按下4号键,将这个上限值确定,也就是将上限值保存到专用的寄存器里。
在完成设定上限值的工作后,使用1号键和2号键设定需要的温度控制系统的下限值,然后按下3号键,将这个下限值确定,也就是将这个下限值保存到专用的寄存器里,然后系统进去实时的温度测量和控制工作中。
键盘接口电路如图4.10所示:
图4.10简易式键盘的接口电路
4.2.8复位电路
MCS-51复位是由外部的复位电路来实现的。
复位电路通常采用上电复位和按钮复位两种方式。
该电路兼有上电复位和按钮复位。
复位电路如图4.11所示。
工作原理为:
按钮按下后,RC电路充电,RST引脚端出现正脉冲,只要RST端保持10ms以上的高电平,就能用单片机有效的复位。
该设计时钟频率为12MHz,C取22μF,R取1K欧姆。
复位电路如图2.20所示。
图4.11复位电路原理图图4.12声光报警电路接口电路
4.2.9报警电路
本设计采用声光报警电路,接口电路如图4.12所示。
MCS-51的口线P11接报警电路的输入端,当P11口输出低电平时,7046输出为高电平,发光二极管两端电压差接近5V,发光报警.压电蜂鸣器两条引线加上近5V的直流电压,由压电效应而发出蜂鸣音报警。
4.3系统软件设计
4.3.1主程序设计
主程序流程图如图4.13所示主程序完成的功能是:
启动传感器测量温度,将测量温度与给定值比较进行PID运算,若
,则进入加热阶段,置P13为高电平。
在过程中继续对温度进行监测,当
时,置P13为低电平断开可控硅,关闭加热器,等待下一次的启动命令。
图4.13主程序流程图
4.3.2控制部分程序
这部分程序的功能是将采集到的温度值TX与TL比较,如果TX≤TL则报警,并置P3.1口为低电平,通过光耦合器打开可控硅,使加热器加热,并调显示,显示88.8。
否则将TX与TH比较,如果TX≥TH则报警,并置P13口为高电平,通过光耦合器关闭可控硅,停止加热器加热,并调显示,显示88.8。
否则,也就是
≤
≤
当温度在正常范围内,调显示,显示采集到的温度值
。
加热程序流程图如图4.14所示。
图4.14加热报警子程序流程图
4.3.3键盘模块
本部分主要是实现输入设定温度和查询设定温度的功能。
该部分的子程序流程图如图4.15所示。
在键盘的控制方面,由于采用了5个单键,因此使得键值识别的问题也比较简单。
在执行程序的时候只需要逐位判断PA0,PA1,PA2,PA3,PA4口是高电平还是低电平,若为高电平,则表示没有按键按下,若为低电平,则表示已经有键按下,于是执行键的处理子程序。
在程序的设计当中,考虑了键的去抖动问题。
在发现有键闭和时,不是立即读入该键值,而是延时一段时间以后,再进行键闭和与否的判断,确认此时真的有键按下,有则进行该按键的处理,没有则不进行处理。
图4.15键盘处理子程序流程图
4.3.4显示子程序
此模块采用的是动态扫描的方法,依次改变P0口输出高电平的位和P2口输出对应的数据段,就可以轮流点亮显示器的各位数码管。
动态显示是把十六进制数(或BCD码)转换为相应字形码,故它通常需要在RAM区建立一个显示缓冲区。
显示部分流程图如图4.16所示。
4.3.5数据采集模块
数据采集的主要任务是巡回检测三点的温度参数并把它们存在外部RAM指定单元,采样程序如图4.17所示。
图4.16显示子程序流程图图4.17采样程序流程图
4.3.6程序清单
ORG0000H
SJMPMAIN
ORG0003H
LJMPINT
ORG0025H
MAIN:
MOVSP,#60H
MOV20H,#00H
MOV21H,#08H
MOV29H,#0FEH
LCALLZIJIAN
LCALLREADTHTL
LCALLTESTRANGE
LCALLDISP
SETBINT0
SETBEX0
SETBEA
LOOP:
LCALLDELAY
LCALLGET_TEMP
LCALLTURN
LCALLDISPLAY
CLRC
MOVA,24H
CJNEA,2EH,LOOP1
SJMPHOTTING
LOOP1:
JCHOTTING
MOVA,24H
CLRC
CJNEA,2DH,LOOP2
SJMPSTOPHOT
LOOP2:
JNCSTOPHOT
SJMPKEEP
HOTTING:
CLRP3.1
CLRP1.5
SETBP1.6
KEEP:
SJMPLOOP
STOPHOT:
SETBP3.1
SETBP1.5
CLRP1.6
SJMPLOOP
ZIJIAN:
MOV30H,#08H
MOV31H,#08H
MOV32H,#13H
MOV33H,#08H
MOV34H,#13H
CLRP1.4
CLRP1.5
CLRP1.6
CLRP1.7
MOVR3,#0FFH
WAIT0:
ACALLDISPLAY
DJNZR3,WAIT0
SETBP1.5
SETBP1.6
SETBP1.7
RET
TURNTH:
MOV2DH,27H
MOV2EH,28H
MOV24H,27H
ACALLTURN
MOV2AH,30H
MOV2BH,31H
MOV2CH,32H
MOVA,2CH
CLRC
SUBBA,#0BH
MOV2CH,A
MOV33H,#00H
MOV34H,#15H
RET
TESTRANGE:
MOVA,2AH
CJNEA,#01H,NOMAX
MOV22H,#08H
SJMPEXITTEST
NOMAX:
MOVA,2BH
CJNEA,#00H,MIDD
MOV22H,#02H
SJMPEXITTEST
MIDD:
MOV22H,#04H
EXITTEST:
RET
DISPLAY:
MOVR0,#03H
DIS:
MOVDPTR,#TAB
MOVA,@R0
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INVR0
MOVDPTR,#0BFFFH
MOVA,29H
MOVX@DPTR,A
HERE:
DJNZR4,HERE
SETBC
RLCA
MOV29H,A
JBACC.5,DIS
MOV29H,#OFEH
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,OBFH
DB86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,79H
GET_TEMP:
CLREA
ACALLINI
MOVA,#0CCH
ACALLWRITE
MOVA,#44H
ACALLWRITE
ACALLINI
MOVA,@0CCH
ACALLWRITE
ACALLREAD
MOV24H,A
SETBEA
RET
SETTHTL:
CLREA
ACALLINI
MOVA,#0CCH
ACALLWRITE
MOVA,#4EH
ACALLWRITE
MOVA,2DH
ACALLWRITE
MOVA,2EH
ACALLWRITE
ACALLINI
MOVA,#0CCH
ACALLWRITE
MOVA,#48H
ACALLWRITE
ACALLREADTHTL
MOVA,27H
CJNEA,2KH,SETTHTL
MOVA,28H
CJNEA,2EH,SETTHTL
SETBEA
RET
READTHTL:
CLREA
ACALLINI
MOVA,@0CCH
ACALLWRITE
MOVA,#0B8H
ACALLWRITE
ACALLINI
MOVA,#0CCH
ACALLWRITE
MOCA,#0BEH
ACALLWRITE
ACALLREAD
ACALLREAD
ACALLREAD
MOV27H,A
ACALLREAD
MOV28H,A
SETBEA
RET
INI:
CLRP3.0
MOVR2,#100
11:
CLRP3.0
DJNZR2,I1
SETBP3.0
MOVR2,#15
I2:
DJNZR2,I2
CLRC
ORLC,P3.0
JCINI
MOVR6,#40H
I3:
ORLC,P3.O
JCI4
DJNZR6,I3
SJMPINI
I4:
MOVR2,#120
I5:
DJNZR2,I5
RET
TEAD:
MOVR6,#8
WR1:
SETBP3.0
MOVR4,#4
RRCA
CLRP3.0
WR2:
DJNZR4,WR2
MOVP3.0,C
MOVR4,$40
WR3:
DJNZR4,WR3
DJNZR3,WR1
SETBP3.0
RET
READ:
MOVR6,#8
RE1:
CLRP3.0
MOVR4,#2
SETBP3.O
RE2:
DJNZR4,RE2
MOVC,P3.0
RRCA
MOVR5,#15
RE3:
DJNZR5,RE3
DJNZR6,RE1
RE5:
SETBP3.0
RET
TURN:
CLRC
MOVA,24H
RRCA
MOV25H,A
JNCTURN0
MOV33H,#05H
AJMPTURN1
TURN0:
MOV33H,#00H
TURN1:
MOVA,25H
ACALLBTOD
RET
BTOD:
MOVB,#100
DIVAB
MOVT0,#30H
MOV@R0,H
INCR0
MOVA,#10
XCHA,B
DIVAB
MOV@R0,A
INCR0
MOVA,B
ADDA,#0BH
MOV@R0,A
RET
DIS:
LCALLDIR
JNBP3.0,LC
JNBP3.4,LC0
JNBP3.2,LC1
JNBP3.5,LC2
AJMPDIS
LC:
LCALLDEL
JBP3.0,DIS
MOVA,30H
CJNEA,#0FFH,XIA
MOVA,#5
ADDA,30H
MOV30H,A
INC31H
LCALLIBTD2
AJMPDIS
LC0:
LCALLDEL
JBP3.4,DIS
MOVA,30H
CJNEA,#00H,DECLINE
MOVA,30H
SUBBA,#5
MOV30H,A
DEC31H
LCALLIBTD2
AJMPDIS
DECLINE:
MOVA,30H
SUBBA,#05H
MOV30H,A
LCALLIBTD2
AJMPDIS
XIA:
MOVA,#5
ADDA,30H
MOV30H,A
LCALLIBTD2
AJMPDIS
LC1:
LCALLDEL
JBP3.2,DIS
MOV40H,32H;保存输入值
MOV41H,33H
MOV42H,34H
MOV43H,35H
LCALLDIR
AJMPDIS
LC2:
LCALLDEL
JBP3.5,DIS
MOV50H,32H
MOV51H,33H
MOV52H,34H
MOV53H,35H
RETI
DELAY:
MOVR2,#0BH
HERE0:
MOVR3,#00H
HERE1:
DJNZR3,HERE1
DJNZR2,HERE0
RET
END
4.4系统原理图
4.5设计心得:
通过这次设计才知道自己对所学知识没有很深刻的理解,不能很好的运用。
还好能够得到老师的耐心指导,才能够完成这次设计。
在设计的过程中我们走了不少的弯路,也遇到了很多的问题,还好都被我们一一解决。
这使我们从中学得了很多的知识,在课本上学得都是些理论知识,而到了实际操作遇到的难题还真是你无法想象得到的。
经过本次设计我们对单片机又有了一点深刻的认识并对教学机的内部结构和运行方式有了进一步的了解。
做的不好望老师能够见谅。
最后,感谢学校和老师能够提供这次机会使我们学得了很多新的知识。
参考文献
[1]李锡雄.微型计算机控制技术.北京:
科学出版社,1999.8
[2]张迎新.单片微型计算机原理应用及接口技术.北京:
国防工业出版社,2000
[3]胡寿松.自动控制原理.北京:
国防工业出版社,1994
[5]何立民.单片机应用系统设计.北京:
北京航空航天大学出版社,1989
[6]李华.MCS-51系列单片机实用接口技术.北京:
北京航空航天大学出版社,1993
[7]梅丽凤.单片机原理及接口技术清华大学出版社2004年
[8]李志忠.微型计算机应用技术.北京:
清华大学出版社,1989
[9]曹素芬.MCS-51系列原理与接口技术.沈阳:
东北大学出版社,1994