77范文网 - 专业文章范例文档资料分享平台

城市交通灯模拟系统(哈尔滨工程大学学士学位论文) - 图文(8)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

禁行模式

f=3?求,即切换模式,在这里只介绍一种模式的切换,别的模式与该种模式切换方式相同,可进行类比分析。下面介绍从正常工作状态入时间调节模式。

正常工作切换模式流程图如图4.8

图4.8 模式转换流程图

模式切换程序如下: void key4() { if(k4==0)

{ delay(100); //按键消抖 if(k4==0) { f++;

if(f==3) //f表示k4已经被按下的次数,若f为3时,要清零 f=0;} while(k4!=1);

delay(100); //按键消抖 }

while(f==1) //如果f=1,系统切换到禁行模式。 { 数码管显示语句,二极管发光语句} }

如上便是系统切换模式的整体设计思路,虽然只是一种模式的切换,但是各种模式的切换思路是一样的。

4.6 数码管显示程序

数码管显示程序是用来将所要显示的数据传递给数码管,使数码管正确显示数据的程序。本系统中数码管的显示用的是动态扫描方式,首先对四组双位数码管的十位进行位选,然后送四组十位段码,然后对数码管的四组个位进行位选,然后送四组个位段码。从而实现数码管对数据的显示。由于系统硬件采用的是共阴极数码管,所以其段码的0对应0xfe,1对应0x3f,2对应0x06,3对应0x5b,4对应0x4f,5对应0x66,6对应0x6d,7对应0x7d,8对应0x07,9对应0x7f,0对应0x6f。对段码进行编码有:

unsigned char code //段码定义duanma[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//段码组4组数码

30

电容式智能液位测量仪设计

管先显示十位,后显示个位。十位和个位的显示原理是相同的,在这里只介绍城市交通的模拟与控制系统显示装置即数码管十位显示程序,程序如下: P1=TempData[0]; //将路口1的十位段码送给单片机的P1口 P21=1; //开锁存器3 P21=0; //关锁存器3

P1=TempData[2];//将路口2的十位段码送给单片机的P1口 P22=1; //开锁存器4 P22=0; //关锁存器4

P1=TempData[4];//将路口3的十位段码送给单片机的P1口 P23=1; //开锁存器5 P23=0; //关锁存器5

P1=TempData[6];//将路口4的十位段码送给单片机的P1口 P24=1; //开锁存器6 P24=0; //关锁存器6

P1=0xaa; //将四个路口的十位选通端设打开 P20=1; //开数码管的位锁存器 P20=0; //关锁存器 delay(10); //延时一段时间

以上程序即可完成对四组数码管十位的显示,四组数码管个位数据的显示与四组数码管十位显示方式相同,只是进行数据的切换。 4.7 二极管点亮程序

本系统中对按8个二极管一组的方式将其阴极连接在一起,一共有48个发光二极管,所以相当于一共有6个二极管组,每组8个二极管。将每两个发光二极管当成一个双位发光二极管组,这样可以将所有的发光二极管当成3组发光二极管组。可以按照数码管显示的方式对其进行点亮或熄灭。具体的细分工作已在本文中第三章的硬件部分介绍过了,这里不再敖述。在这里就具体讲一下二极管组十位等显示。在显示之前要对红绿灯进行编码具体编码如表4.1所示:

图4.3 二极管编码

对二极管进行分组以及编码之后就可以将其视为数码管,因为现在它们在显示过程已经没有任何区别,只是需要串联的电阻以及外观不同。故此时的显

31

示程序与数码管显示程序类似。下面来介绍二极管组十位显示程序,和数码管十位显示程序类似。二极管十位显示程序如下所示: P1=TempData[8];

//将二极管1组十位点亮段码送给单片机的P1口

P21=1; //开锁存器3 P21=0; //关锁存器3

P1=TempData[10]; //将二极管2组十位点亮段码送给单片机的P1口 P22=1; //开锁存器4 P22=0; //关锁存器4

P1=TempData[12]; //将二极管3组十位点亮段码送给单片机的P1口 P23=1; //开锁存器5 P23=0; //关锁存器5 P1=0xaa; //将二极管十位选通 P25=1; //开二极管位锁存器 P25=0; //关二极管位锁存器 delay(10); //延时一段时间

以上即为二极管组十位点亮程序,它能将二极管按动态扫描的方式将二极管组的十位数组点亮,一般的红绿灯都是采用静态方式显示,这里不但使用了动态方式显示,而且还给二极管进行了编组使其能按数码管的方式工作,能够节省单片机的引脚,完成系统任务要求。

4.8 延时子程序

延时子程序的功能为延时,正确使用延时子程序能使系统正常的工作。本系统使用的延时子程序如下所示: void delay(int ms)

{ uint j,k; //定义两个无符号整形数据 for(j=0;j

for(k=0;k<25;k++);//数据k从25开始自减,直到为0 }

以上即为延时子程序,该延时子程序的设计能够满足系统要求。

4.9 本章小结

本章主要介绍了系统的软件部分。首先介绍的是系统软件的总体设计思路,然后分模块对其进行设计、分析。设计的软件模块主要包括:系统初始化模块,

32

电容式智能液位测量仪设计

开机LOGO模块,数据处理模块,按键扫描模块,数码管显示模块,二极管点亮模块。

第5章系统软硬件调试

5.1 系统调试过程中的问题与注意事项

系统的硬件与软件设计好以后要对其进行联调,在调试的过程中遇到了很多问题,有硬件电路的问题还有软件程序的问题,在本系统的设计中相对于硬件电路遇到的问题来说,软件编程出现的问题更多一点。由于本系统是一块STC89C52单片机控制的,所以相对遇到的问题会多一点。在遇到问题与处理问题的过程当中,慢慢的学会了分块检查和画流程图的方式理解问题所在,总的来说本次实验所遇到的问题都得到了合理的解决,有些可能不是最优方式,但是最终结果还会比较满意的。在调试系统的过程中所遇到的硬件问题和软件问题将在本节中做出详细介绍。 5.1.1 硬件调试

本系统所设计的硬件电路实物如图5.1所示。

图5.1 硬件电路实物图

在本系统的硬件的设计中,首先先把必要的元器件,如双位共阴极数码管以及6个锁存器用焊锡焊在面包板上,然后根据所选择的数码管型号,确定出其a,b,c,d,e,f,g,h引脚,根据引脚在画图软件上设计出合理的电路图,在这

33

个过程中主要出现的是飞线问题和怎么合理布局的问题。刚开始没有用画图工具,只是手绘了一个数码管显示电路图,然后就开始焊接,导致的直接结果就是路口1数码管的飞线过多,有时候会出现接触不良或短路的情况,在路口2,路口3,路口4的数码管显示电路焊接中使用了画图工具,先画好原理图然后在根据原理图进行焊接,所以路口2,路口3,路口4的数码管显示模块飞线比较少,工作出错情况相对较少。

二极管的焊接也出现了几次错误,在这次毕设过程中,由于事先没有想好如何点亮二极管,只是为了进度盲目的将二极管按照顺序给焊接在了面包板上,导致的结果就是真正有了思路的时候,给二极管进行了数码管一样的编排,但是发现这时候画出来的电路图已经不能再面包板上进行焊接,除非全用飞线,为了解决这个问题,只好把所有的二极管全部用吸锡器拔出来,然后对其进行重新焊接。这样一来,不仅影响了面包办的美观,而且还造成后面的铜贴片掉了几个,使焊锡不容易与面包板接触。在硬件焊接过程中遇到焊锡与面包板不容易接触的时候,我主要采取的措施是换线路,或者是飞线。本系统的最小系统实物如图5.2所示:

图5.2 STC89C52最小系统

在焊接最小系统的时候主要也遇到了一些问题。焊STC89C52最小系统时,所用的焊锡丝比较粗,有与自己的动手能力相对比较弱,造成的结果是每一个焊锡线路都很粗,很接近,这样造成的后果就是有几路短路了,在解决这个问题的时候,首先采取的是机械方法,就是用平板螺丝刀在焊锡比较接近的位置反复打磨,直到两个焊锡电路不在连接。采用这种方法确实能够解决这个问题,但是会耗时费力,而且会使面包板遭到破坏,在看一些前辈焊接电路的视频之后,学会了用热的电烙铁在两条电路的中间走一遍,这样不仅能够解决上面所说的短路问题,而且还能清除两条电路之间的焊锡废渣,使电路工作更可靠。但是这对手法要求比较高,需要不断练习。

在连接导线的过程中也遇到了问题,导线的反复插拔,会使插口松动,引起

34

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库城市交通灯模拟系统(哈尔滨工程大学学士学位论文) - 图文(8)在线全文阅读。

城市交通灯模拟系统(哈尔滨工程大学学士学位论文) - 图文(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/655834.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: