单片机原理及系统课程设计报告
4 软件设计
4.1 程序流程图如图6所示:
开始延时10s为检查水位状态作准备启动电机P1.2←1Y P1.1=0?N报警P1.3←0Y P1.0=0?N P1.1=1?N停机P1.2←1Y停机P1.2←1等待
图6水塔水位控制程序流程图
4.2 源程序 具体程序见附录二 4.3 仿真结果
仿真结果见附录一
5 总结
通过这次课程设计,我实现了基于单片机的水塔水位控制系统的设计和模拟
仿真,完成了此课程设计的全部要求,即硬软件设计,口接线、存储器扩展、设计报告等。在课程设计过程中,我遇到了好多问题,例如,虽然说上学期认真地学习了单片机课程,熟悉了Proteus和keilc的使用,但由于很长时间的不用,变得有些生疏,通过跟老师和同学请教自己不懂的技巧,我深刻地认识到师生间的交流与同学之间的相互协作也是很重要的,有时候很多问题自己解决不了,但在老师与周围同学的帮助下很快就解觉了。再加上这次做课程设计对Proteus和keilc的进一步使用,使我对上述两种软件更加熟悉,用起来更得心应手,在此,感谢老师和同学们的帮助。
另外,此课程设计用到了好多单片机的知识,遇到一些不懂的问题,通过查资料和跟老师和同学讨论,都一一解决了。通过这次课程设计,我明白了在学习专
5
单片机原理及系统课程设计报告
业课程的过程中,自己动手真的很重要。有些东西在课堂上一时半会儿也接受不了,更谈不上消化,但是通过课程设计,便能很快理解书本上的重点知识怎样应用在实际当中,这使我对区间知识有了更进一步的深入理解,我想这对我明年的毕业设计应该会有很大的帮助。使我更加坚信“千里之行,始于足下”这句话,刚开始拿到题目,觉得很难,只要你勇于思考,勇于探索,最终顺利地完成了此题课程设计,使我的动手实践能力也得到很大的提高。
除此之外,通过本次课程设计的完成,我深刻地认识到师生间的交流与同学之间的相互协作也是很重要的,有时候很多问题自己解决不了,但在老师与周围同学的帮助下很快就解
这次课程设计真的让我收益颇丰!我将以此为鉴,在今后的学习中严格要求自己,以期全面提升学习与实际应用所学知识的能力。
6
单片机原理及系统课程设计报告
参考文献
[1]李华,王思明.单片机原理及应用.兰州:兰州大学出版社,2001
[2]杜树春.基于Proteus和keilc51的单片机设计与仿真.北京:电子工业出版社,2012 [3]徐爱钧.单片机原理实用教程.北京:电子工业出版社,2009
7
单片机原理及系统课程设计报告
附录一
仿真结果:
根据硬件原理图,在Proteus环境下做出水塔水位控制的仿真图,并在Proteus和keilc的联合调节下,进行模拟仿真,仿真结果如下:
1.在图7中,P1.1和P1.0均为低电平,P1.2也为低电平,电机运行的指示灯亮;P1.3为高电平,报警指示灯不亮,喇叭不响。
图7 电机运转
2.在图8中,P1.1为低电平,P1.0为高电平,P1.2为低电平,电机运行的指示灯亮;P1.3为高电平,报警指示灯不亮,喇叭不响。
图8 维持原状
8
单片机原理及系统课程设计报告
3.在图9中,P1.1和P1.0为高电平,P1.2也为高电平,电机运行的指示灯不亮;P1.3为高电平,报警指示灯不亮,喇叭不响。
图9 电机停转
4.在图10中,P1.1为高电平,P1.0为低电平,P1.2为高电平,电机运行的指示灯不亮;P1.3为低电平,报警指示灯亮,喇叭响。
图10 故障声光报警
9
单片机原理及系统课程设计报告
附录二
源程序: ORG 0000H AJMP LOOP ORG 0100H
LOOP: ORL P1, #03H ;为检查水位状态做准备 MOV A,P1
JNB ACC.0, ONE JB ACC.1, TWO BACK: LCALL YANSHI AJMP LOOP
JNB ACC.1, THREE CLR 93H SETB 92H FOUR: SJMP FOUR
THREE: CLR 92H AJMP BACK TWO: SETB 92H AJMP BACK
延时子程序D10(延时10秒)
ORG 8030H YANSHI: MOV R3,#19H LOOP3: MOV R1,#85H LOOP1: MOV R2,#0FAH LOOP2: DJNZ R2,LOOP2 DJNZ R1,LOOP1 DJNZ R3,LOOP3 RET END
;p1.0=0则转移 ;p1.1=1则转移 ;延时 ;p1.1=0转移
;p1.3=0,启动报警装置 ;p1.2=1,停止电机 ;启动电机 ;停止电机 ;延 时10秒 10