《单片机课程设计报告》-水塔水位 - 图文(4)

2020-04-21 03:27

七、调试运行

(一)软件调试

1、根据设计要求,利用Keil软件,编写程序,并编译生成hex文件;在编写程序的过程,程序基本没有出现语法的错误。

2、根据原理图,从元件库中查找得到相应的元件,并绘制成proteus原理图; 3、将生成的hex文件导入到proteus原理图中的单片机,开始仿真,观察系统是否达到了预期的效果。

4、刚开始仿真时,系统并不能运行。因此,对原理图进行排查,检查各个元件的接线是否合理,确定各个元件的属性是修改合适。通过检查,发现原理图的一些元件用错了,有些电阻的电阻值太大了等等,均及时作了修改。

重新仿真后,系统还是不能运行。于是开始检查程序,确定是否存在逻辑错误。检查发现,程序确实存在逻辑上的错误,比如B、C点的高低电平输出设置错了,没有设置P1口的初始值等等。

通过反反复复的调试、检查、修改,结合程序和原理图,最终系统可以正常运行,实现预期的全部效果。

(二)硬件调试

1、在开始焊接电路之前,利用万用表逐一检查各个元件是否完好,能否正常使用;并确定各个元件的管脚应该如何连接和电路的布线;

2、根据设计好的原理图,利用已有的元件,焊接好电路;

在焊接的过程中,由于焊接技术不够娴熟,导致电路板上的多个金属贴片脱落,无法实现焊锡的附着,不得不用导线代替,同时也影响了电路的美观。同时,由于疏忽,将二极管的管脚装反了,出现了错误,后来不得不修改电路的布线。这些小错误时刻提醒我在焊接时必须全神贯注,认真确认每一步的焊接。通过一个多小时的辛勤付出,我终于完成了电路的焊接。

3、将调试好的hex文件下载到单片机最小系统中,并将电路的相关管脚与单片机最小系统对应连接起来,通过B、C管脚电平的改变,判断电机是否按照设计的要求工作。

- 14 -

八、结果及分析

水塔水位控制系统调试结果如下: 将B、C管脚接至低电平,电机运转;

将B管脚接至高电平,C管脚接至低电平,电机继续运转; 将B、C管脚接至高电平,电机停止运转;

将B管脚接至低电平,C管脚接至高电平,电机停止运转,LED灯亮。

可以发现,水塔水位控制系统正常工作,实现了预期的效果。 (实物及焊接电路如图8-1、图8-2所示)

图8-1 实物图 图8-2 焊接电路图

九、心得体会

在整个课程设计过程中,我自己能够克服重重困难,利用自身所需的专业

知识独立完成程序设计、软件仿真和电路焊接等内容, 这给予我一种强烈的成就感,感觉功夫没有白费,自己的动手能力是有了较大进步的。

通过此次单片机课程设计,我对单片机知识有了进一步的认识,提高了将所学的单片机知识应用实际设计中的能力,逻辑思维能力也到了较多的锻炼,丰富了设计经验,为今后的单片机应用铺下基础;另一方面,我更加熟悉了Keil软件、protel软件和proteus软件的使用,焊接元器件等动手能力也适当提高了,认识了一些常用元件。,

通过此次课程设计,我也深刻认识到认真、细心对动手实践的重要性。一个小小的疏忽都将导致研究的产品不能正常运行,每一个步骤,每一个焊点都应该做到完美无暇,这才是工科学生应有的素养。在以后学习的道路上,我必将以严谨、认真、务实、勤奋的作风面对专业的学习。

- 15 -

十、参考文献

【1】李庆常.数字电子技术基础.北京:机械工业出版社,2008. 【2】王静霞 .单片机应用技术,电子工业出版社,2009. 【3】徐玮 .C51单片机高效入门,机械工业出版社,2006 【4】张永枫 主.单片机应用实训教程,清华大学出版社,2008. 【5】阎石.数字电子技术基础.北京:高等教育出版社,2006.

【6】杨素行.模拟电子技术基础简明教程.北京:高等教育出版社,2006.

十一、致谢

本次单片机课程设计就是在CJK老师的亲切关怀与悉心指导下完成的。 从程序设计到电路板的焊接、调试,CJK老师都始终给予我细心的指导和不懈的支持。S个星期以来来,CJK老师给我以精心指导,在课程设计遇到困难的时候,给了我许多有益的指导和建议。在此谨向CJK老师致以诚挚的谢意和崇高的敬意。同时感谢同学们在课程设计过程中给予我的帮助。

- 16 -

十二、附录

(一)数字时钟 1、内容要求

(1) 用7段8位的LED数码管设计出一个数字时钟,要求显示分(2位)、秒(2位)及十分之一秒即0.1秒(1位)。按下启动按钮启动数字时钟,按下停止按钮暂停计时,当再次按下启动按钮时,从当前值继续计时,当按下复位按钮时,时钟复位。

(2). 通过设定定时按键,对时钟的分钟进行设定,每按一次,分钟设定加1,开始时,LED灯D1处于熄灭状态,当启动计时后,计时到达设定时间,时钟复位,且LED灯D1处于一直亮的状态。

2、分析

数字时钟程序由多个函数组成,包括主函数、数码管显示函数、系统计时中断函数、按钮定时函数和延时子函数。

系统计时中断函数采用定时中断方式,当启动按钮按下时,系统开启中断,开始计时,通过数码管显示函数显示时间;当停止按钮按下时,系统关闭中断,暂停计时,数码管依旧保持当前时间;当复位按钮按下时,系统关闭中断,停止计时,时间清零。

按钮定时函数由外部中断1实现,为最高级中断。当复位按钮按下时,执行外部中断,定时次数加一。

- 17 -

3、程序 #include

unsigned code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //段码、共阳极字型码:0-9 void xianshi();//显示子函数的声明 void delay();//延时子函数的声明

unsigned char m,n;//定义数码管显示分钟的变量m,延时函数中的变量n unsigned char a,b,c;//定义变量的状态位:分位a,、秒位b、十分之一秒位c unsigned char d,k;//定义数码管扫描次数k,定时中断计数d, unsigned counter;//定义定时按钮按下的次数counter sbit P3_0=P3^0;//定义启动按钮位 sbit P3_1=P3^1;//定义停止按钮位 sbit P3_2=P3^2;//定义复位按钮位 sbit P3_3=P3^3;//定义定时按钮位

/****************主函数****************/ void main() {

TMOD=0x00;//设定定时器0在工作方式1下 TH1=3192/256;//设置定时器初值 TL1=3192%6;

ET1=1;//开放定时器T1中断允许位 IT1=1;//置外部中断位下降沿触发方式 EX1=1;//开放外部中断1中允许位 EA=1;//开放中断总允许位 P0=0x00; //LED灯初始化

a=b=c=0; while(1) {

- 18 -


《单片机课程设计报告》-水塔水位 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:固定资产清查工作具体实施措施和解决方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: