您的当前位置:首页正文

MSP430单片机在仿真中要注意的几点问题

来源:九壹网
电子基

MSP430单片机在仿真中要注意的几点问题

作者/刘宸、黄世輸,四川职业技术学院

基金项目:基于Proteus单片机实训平台改造与实训项目的开发。四川省教育厅,16ZB0395

摘要:MSP430系列单片机由于其超低功耗、片内资源丰富和性能优异等诸多优点,在业界被广泛使用。初学者在学习过程中,使用仿真 软件时遇到若干问题。本文提供了相关问题的解决方法,介绍了MSP430系列单片机在IAR集成开发环境中进行软件仿真调试的设置和使用 方法,以及在P「oteus硬件仿真软件中的时钟信号、定时器、源码级调试和硬件乘法器的设置方法。关键词:MSP430;单片机;Proteus;仿真

引言

TI德州仪器公司推出的MSP430单片机是一种基于 RISC的16位混合信号微处理器,应用广泛,因而成为众多

初学者学习的对象。在学习时经常使用IAR集成开发环境 和Proteus仿真软件,其中IAR是目前最常用的MSP430 单片机开发平台,具有带项目管理器和编辑器的集成开发环 境、高度优化的MSP430 C/C++编译器和带MSP430模拟 器和RTOS内核识别调试插件的C-SPY调试器等;Proteus 是英国Labcenter Electronics公司开发的单片机及外围器 件的仿真软件,使用户能在没有硬件设备的条件下快速有效 地学习。本文主要介绍在这两款软件中仿真调试时要注意的 几点问题。

1.IAR软件仿真设置

(1)用IAR软件仿真调试时,出现警告:Stack

Warning,或错误提示:user error: illegal opcode found on address 0x0〇

解决方法:使用软件仿真调试,不要点击Debug

without download(调试不下载)按钮,而应该同硬件仿真

—样也点击Download and Debug(调试并下载)按钮。

⑵项目的设置Option->Linker->Output里面,一定 要点选Debug information for C-SPY。输出文件格式通常 在 Other 里选择 msd-i、msp430-txt 或 ubrof 8 等,但那 是用于下载到真实单片机,或者加载到Proteus里进行仿 真的输出文件格式。这里我们讲的是在IAR中进行软件仿真 调试,就要在 Format 里点选 Debug information for C-SPY, 因为C-SPY调试器是MSP430的模拟器,选择其才能进行

IAR软件仿真调试。

(3)

设置 Option->Linker->Debug -> Driver 里面FET Debugger更改为Simulator。这一步是在仿真调试设

置中,将FET硬件仿真器更改为软件仿真。

(4)

很多时候程序员需要查看程序的耗时,查看耗时的

方法是:View->Register,观察CCSTEP,它就是耗时的机 器周期,CYCLECOUNTER是程序当前时间,单位都是机器

周期,所以,耗时还需要将CCSTEP除以机器频率,例如:

ccstep/8M=5/8000000=0.625ps。如图 1 所示。

⑶查看程序耗时还可以启用Timeline时间轴:菜单 栏 Simulator->Timeline,勾选 Enable,再勾选 Select

Graphs里的Call Stack。如图2所示。在IAR软件仿真

调试时,默认MCLK主时钟频率为1MHz,所以若要得到 程序在真实单片机的耗时,需要根据实际时钟输入源,将

Timeline时间轴里显示的耗时进行比例缩放。

Navi gate

►«/ Auto Scroll

Zoom►

Interrupts

«/ Enable

Go To Source

___Interrupts

Time Axis Unit ►Call Stack

3571700 |delay

|delay

[delay

Os

5s

10s

图2 Timeline时间轴

2.Proteus软件仿真中若干问题

(1)在市面上的MSP430单片机实验开发板常采用

MSP430F149,而用Proteus软件仿真时,由于Proteus没

有MSP430F149的仿真模型,而自带MSP430F249的仿真 模型,则可用功能更强的MSP430F249来代替。但要注意 在IAR开发环境里,单片机选型也要选为MSP430F249,

www.elel69.com 丨 63

,电子

sn

且包含对应的头文件。在Proteus中仿真和下载程序到149 实验板时要注意分别选用。

(2)

供Proteus进行仿真,但是不能进行源码级调试;一类是

msp430-txt,即TI公司对MSP430系列单片机利用BSL

有一类是 ubrof 8(forced),这是 Proteus 对 MSP430 系列 单片机实现源码级调试的文件格式,文件名为.d90。类似 51系列单片机在Keil软件与Proteus中的联调,可以更直 观更细致地调试每条语句。

⑷硬件乘法器。仿真与真实硬件调试略有不同,

方式进行烧写程序的一种格式,此时文件后缀名为.txt;还 MSP430F249的时钟系统:基础时钟模块具有三个

振荡器,或者叫时钟输入源,分别是LFXT1低频振荡器、

XT2高频振荡器以及DCO内部数字控制振荡器。输入源可

通过软件设定分频,产生单片机工作需要的时钟输出信号: 主时钟MCLK,子系统时钟SMCLK,和辅助时钟ACLK。 在MSP430单片机的大部分内部设备中,都能选择上述三 种时钟信号作为时钟源,应用非常灵活。

在Proteus软件中仿真MSP430F249单片机时,双击 单片机编辑属性,其中Advanced Properties高级属性里 有三个频率设置:MCLK, SMCLK和ACLK,没有振荡器或 时钟输入源的选项,因此,只需要在对应的选项里根据程序 填上时钟的值。例如,程序:TACTL=TASSEL_1+MC_1; 定时器A时钟源选为ACLK。这类单片机的内部设备选择了 某种时钟信号作为时钟源时,那么也必须在Proteus的频 率设置里输入对应的值。

此外,如果程序里没有设置时钟信号,那么会启用

Proteus软件不能仿真MSP430单片机内部资源硬件乘

法器,而只能让CPU直接计算。需要我们在IAR软件中 设置不使用硬件乘法器:在Options->General Options- >Target->Hardware multiplier 中,

将 Hardware mul­

tiplier 的 勾选去掉即可。否则例如 程序: data=(long) ADC12MEMCT2500/4096;仿真时就不能正常计算出结果。

3.结束语

综上,初学者在学习MSP430系列单片机的过程中, 使用仿真软件时不可避免遇到若干问题。本文提到的在IAR 集成开发环境中进行软件仿真调试的设置和使用,以及在

DCO内部数字控制振荡器,在Proteus软件中仿真时,会

默认MCLK主时钟频率为1.1MHz。

另外,还需要注意一点,程序中常有BCSCTL2 |=DIVS0+DIVS1;之类的分频设置,比如程序里将SMCLK 的时钟输入源XT2的8MHz进行了 8分频,为1MHz,但 是在Proteus里仿真时,我们填入的SMCLK的值就必须为 分频后的值1MHz,因为Proteus仿真时不进行分频,而是 直接从SMCLK选项里读出赋值。

(3)

Proteus硬件仿真软件中的时钟信号、定时器、源码级调试

和硬件乘法器的设置,仅仅是若干问题中的_部分,毕竟仿 真和真实硬件调试运行是有差别的,但殊途同归,目的都是 学好用好MSP430单片机。

参考文献

氺[1]施保华,赵娟,田裕康.MSP430单片机入门与提高[M].武汉: 氺[2]谢兴红,林凡强,吴雄英.MSP430单片机基础与实践[M].北京; 北京航天大学出版社,2008.

源码级调试。在IAR软件的Output选项中有很多 华中科技大学出版社,2013.

种不同的输出格式。总体来说有三类格式,_类是丨的6丨-

standard (Intel公司标准)、msd-i,此类文件后缀名为.hex,

这种输出格式可以作为单片机下载的二进制文件,或者

(上接第67页)

氺[4]张秉章.无线智能防盗门铃[J].大众科技,2011,06:114-115.

参考文献

氺[1]韩伟,刘涌,张海瑞,张华帅,司宇翔.一款无线控制的编解 码门铃设计[J].中国科技信息,2016,01:71-72.

氺[2]黄斌杰,刘怡俊.基于Hadoop云平台的无线门铃系统的设 计与实现[J].广东工业大学学报,2016,03:55-59+87.

* [3]张恒.家用无线音乐门铃的设计[J].轻工科技,2016,10:73-74.

氺[5]李昌禄.无线遥控音乐门铃原理及应用[J].高校实验室工作 研究,2011,03:94-95+99.

* [6]刘明辉,杨帆,崔胜.基于W77E58无线语音智能门铃系统[J]. 自动化与仪表,2010,11:35-40.

氺[7]王晓鹏.笔筒造型无线门铃的制作[J].电子制作,2012,05:70-73.

64 |电子制作2017年5月

因篇幅问题不能全部显示,请点此查看更多更全内容

Top