单片机课设.docx
- 文档编号:8680963
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:11
- 大小:169.57KB
单片机课设.docx
《单片机课设.docx》由会员分享,可在线阅读,更多相关《单片机课设.docx(11页珍藏版)》请在冰豆网上搜索。
单片机课设
单片机原理及系统课程设计
专业:
自动控制
班级:
自控092班
姓名:
xxx
学号:
200908738
指导教师:
刘伯鸿
评语:
平时(40)
修改(30)
报告(30)
总成绩
兰州交通大学自动化与电气工程学院
2012年7月1日
温度上下限报警器
1引言
基于AT89C51单片机设计温度检测报警,可以实时采集周围的温度信息进行显示,并且可以根据应用环境不同设定不同的报警上下限。
本次设计的温度检测报警系统是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。
该系统实现了对温度的自动监测,为设备的正常运行提供了条件,在工业中具有一定的实用价值和广泛的应用前景。
2设计方案及原理
2.1设计产品要求
(1)实时温度检测并显示其对应的值。
(2)具有温度报警功能。
(3)可以设报警置温度上下限。
2.2系统设计框图
系统设计框图如图1所示:
图1系统设计框图
2.3系统电路设计框图
系统电路设计框图如图2所示:
图2系统电路设计框图
3硬件设计
3.1单片机电路连接图
图3为单片机电路连接图,其中晶振频率可以根据自己需要进行选择,范围在0-24MHz,常用12MHz。
复位电路得电容一般用10uF,但并不唯一,只要RC所得时间大于两个机器周期即可。
还有其P0内部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。
图3单片机电路连接图
3.2液晶显示电路模块
图4为液晶显示电路模块,图中为一个四位八段数码管,其接法为共阴极接法。
图4液晶显示电路模块
3.3A/D转换电路模块
图5为A/D转换电路模块物理量的输入为IN0管脚,模量的输出为OUT1—8。
图5A/D转换电路模块
3.4系统电路图
系统电路图如图6所示:
图6系统电路图
4.软件设计
4.1程序主要模块流程图
程序主要模块流程图如图7所示:
图7AT89C51主程序流程图
5电路仿真
5.1正常情况
数码管显示的数字在77—153范围内,且报警等都不亮,蜂鸣器不发出声音,结果如图8。
图8正常情况
5.2低于温度下限
数码管显示温数字低于77,P3.1为低电平,故在这路上的LED灯亮,蜂鸣器发出声音,结果如图9。
图9低于下限
5.3高于温度上限
数码管显示数字高于153,P3.0为低电平,故在这路上的LED灯亮,蜂鸣器发出声音,结果如图10。
图10高于上限
6总结
通过这次单片机课程设计练习我学到了很多东西,简单的可以分为以下五点:
(1)我们遇到自己不会的问题不用畏惧,我们应该放手去试。
一开始我的电路图及程序直接不知道如何着手,最后没办法,开始看书,查资料,问同学,总算有了点进展。
接着又是不太熟悉的绘图工具的使用,protues以前基本没用过,没办法,只好一个一个图标的点,最后慢慢地就对这个绘图工具有所了解。
当成功的绘出电路图时,感觉到非常的有成就感。
还有KeilC以前也不熟,通过这次课程设计,我也对他的使用有了更进一步的了解。
(2)我们应该多问。
在编程过程中,我遇到许多小问题,比如:
8051与ADC的连接电路如何用汇编语言实现,还有数码显示程序等等,我都不太熟悉,但是我通过问同学、问老师得到了很好的解决。
还有word的一些小操作都是在同学的指导下我才得以完成。
(3)要尽自己所能。
由于我的课设题目要画较多的图,画着画着就感觉有点无趣,我就想,可不可以在网上找图粘贴,但是最后发现,这样完全不行,所以我又开始静下心来一线一线的绘图。
在这过程中,我遇到了很多小问题,这也使我学到了不少东西。
还有比如说编写程序,虽然程序我不完全会,但是我经过自己的努力完成了百分之九十的工作,这时再去问老师,老师对我的程序加以纠正与补充,我的程序也就顺利的完成了。
(4)力求完美。
一个程序的写法并不影响一个程序的运行。
但是我们应该争取把一个程序写的使别人一看一目了然。
比如像老师说的那样:
我们应该把一个程序分成若干板块,是他们各自完成自己的功能。
这样在修改程序是我们的工作量就会大大减少。
那一块出了问题,我们就去修改那一块。
(5)我们应该多查阅资料。
有很多问题也许我们问同学或老师都得不到解决,我们并不必苦恼,我们可以去查阅资料。
比如:
当你不知道选择什么课题的时候,网上就有很多供我们选择与参考。
还有芯片的具体功能、引脚、接口电路等都可以通过查资料得到很好地解决。
我们还可以将自己的课设成果与一些专家的论文相比较,对自己的东西加以改进,这样我们就可以做出比较优秀的的课程设计报告。
总之,通过这次单片机课程设计使我学到了很多东西。
对我们以后的各种课程设计都大有裨益,也使我的计算机应用能力有了进一步的提高。
同时也为我学习以后的相关课程打下了坚实的基础。
7参考文献
[1]孙涵芳.MCS-51/96系列单片机原理及应用(修订版).北京航空航天大学出版社.1994
[2]阎石.数字电子技术基础(第四版).高等教育出版社.2004
[3]冯博琴.微型计算机原理与接口技术(第三版).清华大学出版社.2011
8附录
8.1程序代码
LED_0EQU30H
LED_1EQU31H
LED_2EQU32H
ADCEQU35H
TCNTAEQU36H
TCNTBEQU37H
H_TEMPEQU38H;温度上限
L_TEMPEQU39H;温度下限
FLAGBIT00H
H_ALMBITP3.0
L_ALMBITP3.1
SOUNDBITP3.7
CLOCKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
ORG00H
SJMPSTART
ORG0BH
LJMPINT_T0
ORG1BH
LJMPINT_T1
START:
MOVLED_0,#00H
MOVLED_1,#00H
MOVLED_2,#00H
MOVDPTR,#TABLE
MOVH_TEMP,#153
MOVL_TEMP,#77
MOVTMOD,#12H
MOVTH0,#245
MOVTL0,#0
MOVTH1,#(65536-1000)/256
MOVTL1,#(65536-1000)MOD256
MOVIE,#8AH
CLRC
SETBTR0;为ADC0808提供时钟
WAIT:
SETBH_ALM
SETBL_ALM
CLRST
SETBST
CLRST;启动转换
JNBEOC,$
SETBOE
MOVADC,P1;读取AD转换结果
CLROE
MOVA,ADC
SUBBA,#77;判断是否低于下限
JCLALM
MOVA,H_TEMP
MOVR0,ADC
SUBBA,R0;判断是否高于上限
JCHALM
CLRTR1
LJMPPROC
LALM:
;低温报警
CLRL_ALM
SETBTR1
CLRFLAG
LJMPPROC
HALM:
;高温报警
CLRH_ALM
SETBTR1
SETBFLAG
LJMPPROC
PROC:
MOVA,ADC;数值转换
MOVB,#100
DIVAB
MOVLED_2,A
MOVA,B
MOVB,#10
DIVAB
MOVLED_1,A
MOVLED_0,B
LCALLDISP
SJMPWAIT
INT_T0:
CPLCLOCK;提供ADC0808时钟
RETI
INT_T1:
MOVTH1,#(65536-1000)/256
MOVTL1,#(65536-1000)MOD256
CPLSOUND
INCTCNTA
MOVA,TCNTA
JBFLAG,I1;判断是高温警报还是低温警报
CJNEA,#30,RETUNE;低温警报声
SJMPI2
I1:
CJNEA,#20,RETUNE;高温警报声
I2:
MOVTCNTA,#0
INCTCNTB
MOVA,TCNTB
CJNEA,#25,RETUNE
MOVTCNTA,#0
MOVTCNTB,#0
LCALLDELAY2
RETUNE:
RETI
DISP:
MOVA,LED_0;数码显示子程序
MOVCA,@A+DPTR
CLRP2.3
MOVP0,A
LCALLDELAY
SETBP2.3
MOVA,LED_1
MOVCA,@A+DPTR
CLRP2.2
MOVP0,A
LCALLDELAY
SETBP2.2
MOVA,LED_2
MOVCA,@A+DPTR
CLRP2.1
MOVP0,A
LCALLDELAY
SETBP2.1
RET
DELAY:
MOVR6,#10
D1:
MOVR7,#250
DJNZR7,$
DJNZR6,D1
RET
DELAY2:
MOVR5,#20
D2:
MOVR6,#20
D3:
MOVR7,#250
DJNZR7,$
DJNZR6,D3
DJNZR5,D2
RET
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机