基于MSP430和Proteus的转弯灯系统设计研究
2019-09-09吕倩王梓同李金虎
吕倩 王梓同 李金虎
摘要:MSP430系列单片机被称为混合信号处理器,具有处理能力强、运算速度快、超低功耗等特点,现已广泛应用于各种领域。本文利用MSP430单片机和Proteus软件对转弯灯系统进行设计。通过Proteus软件的仿真,系统的稳定性和正确性得到验证,且具有较强的应用价值。
关键词:MSP430
Proteus 单片机 转弯灯
1.引言
单片机作为计算机发展的一个重要分支领域,凭借其强大的控制功能和灵活的编程实现特性,得到了广泛的应用。本文设计的电路除了能实现由两个开关分别控制左右转弯灯亮外,还能增加了双跳开关,增强了系统的实用性。
2.设计方案
考虑到系统功能的实现,本文选择Pl.0和Pl.l作为输出端口控制两盏LED灯,低电平点亮;选择P1.5~P1.7作为输入端口,由外部连接的三个按钮分别控制,三个按钮都是按下即输入高电平信号;选择P2和P3分别控制数码管的段选和位选,电路原理图如图1所示。
3.软件实现
3.1端口初始化
3.2转弯灯设计流程
该系统基本可以确定为循环内嵌套多层判断的模式。考虑到附加要求中的双跳灯优先级最高,可以先判断SW3,接着再考虑SW1和SW2。其中,SW1,SW2同时按下的情况又是第二优先的,最后一级优先才是SW1与SW2分别控制LED1,LED2(即左拐与右拐灯),系统流程图如图2所示。
3.3程序实现
首先,初始化端口。
其次,在外部设置循环以实现长效性,并于循环内检测外部按钮输入状态。
最后,利用Switch Case语句实现不同外部按钮输入的状况下,两灯闪灭状态控制,循环往复,实时监测与控制,以实现任务目的。
3.4 LED闪烁功能设计
首先,在主函数前编写延时函数void delayms(uint t),利用循环递减,该函数可以实现延时效果,程序段如图3所示。
其次,在主函数循环内Switch Case语句每一个Case实现中,完成输出高电平和低电平这两个状态的延时及跳变,即控制外部LED实现一次闪烁。
最后,在外部循环的往复下,实现LED的不停闪烁,直到外部按键状态改变,程序段如图4所示。
4.问题解决
问题:生成.hex文件的方法有错误
解决办法:在Project-Options-Linker-Output-Output file中勾选Override default。并将后缀改为.hex,这样生成的.hex文件系统会报错。其实应该是在Linker-Extra Output-Output file中勾选Override default,并将后缀改为.hex,并在Format中选intel-extended。
5.总结
本文设计的转弯灯不仅能实现由按键分别控制的左右燈亮的功能还可以双跳本文中的转弯灯控制系统具有良好的正确性和稳定性,可应用于生活的中的多种领域,很容易根据实际需求生成不同的智能化产品。因此,该系统具有较强的应用价值。
参考文献
[1]王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012,31(05):88-91.
[2]王自珍,殳国华,张士文,基于计算机仿真技术的MSP430单片机实验教学实例[J],实验室研究与探索,2 013,32(09):94-97.
[3]杨平,王威.MSP430系列超低功耗单片机及应用[J],国外电子测量术,2008,27(12):48-50.
[4]罗琴,基于MSP430单片机的智能热量表的研究[D].南昌大学,2007.
[5]汪烨.基于MSP430单片机地下车库通风控制系统设计[D],上海交通大学,2008.
[6]吴平,龚彬,丁铁夫.液晶显示模块和MSP430单片机在显示终端上的应用[J].液晶与显示,2003(06):436-440.