工大学本科课程设计报告
3软件设计
31功能需求分析
本系统需要具体实现的功能可划分为以下几个部分:1温度数据采集2温度数据换算3温度数据传送与接收4温度显示5报警上下限调整6温度数据与报警上下限比较及报警系统又分为上位机和下位机两部分,易知前三个要求属于下位机的功能范畴,要求三至要求六属于上位机的功能范畴。根据下位机的功能范畴,可设计出其工作流程图如下:
开始
系统初始化
DS18B20初始化
采集DS18B20温度并换算
串口初始化并发送温度
11
f河南理工大学本科课程设计报告
图31下位机工作流程图
由流程图可知,可将下位机的程序划分为若干个实现单一功能的子程序,如DS18B20初始化程序、温度采集程序、温度换算程序、串口初始化程序和串口发送程序等。
根据上位机的功能范畴,可将上位机得工作流程设计如下:
开始
系统初始化串口初始化
开中断
关中断接收数据
串口中
断
显示温度值
扫描键盘改变报警上下限
图32上位机工作流程图
12
f河南理工大学本科课程设计报告
4实验仿真
13
f河南理工大学本科课程设计报告
5课程设计体会
通过这次单片机课程设计,我们不仅加深了对单片机理论的理解,将很多课本理论很好地应用到实际当中,而且我们还学会了如何去培养我们的学习精神和团队协作能力,从而不断地战胜自己,超越自己。通过这次完成这次的设计,我们发现了我们在课堂上学习的知识是十分宝贵且有用的,也发现了我们在课堂学习过程中的不足和大意,有很多东西都在课堂上被我们忽略来了,为了完成本次的设计,我们不断地翻阅书籍、请教同学,重新学习了课堂上的知识,虽然还没能做到融会贯通、厚积薄发,但毕竟窥一管而知全豹,走进了单片机应用的辽阔世界,了解到了单片机系统的强大功能,开阔了视野,提高了设计能力,使更多的知识成为了自己的东西,相信这些在我们今后的学习和工作生涯中将会是一笔宝贵的财富。在这次设计中,串口通信是我们的一大难点,不断的仿真和不断的错误和失败告诉我们基础知识的不踏实,正如老师所言“基础不牢,地动山摇”于是我们重新认真的看课本重新的学习,终于实现了串口发送和接受功能。本次设计我们使用的是C51语言,虽然c语言结构明确,可读性强,但由于单片机的硬件资源有限,在数据定义和特殊寄存器的选用及修改上比较固定,对于新手来说有些理解和实现,所以C语言编程时很多地方程序结构固定,而我们又没有系统深入的学习过C51语言,所以在这次设计r