WIND 的 IAR + Proteus7.6仿真MSP430单片机的设置方法
Proteus7.6增加了MSP430系列单片机,iar embedded workbench 和Proteus7.6联调可完成对MSP430的软件仿真,步骤如下。
1. 设置IAR软件,生产XX.HEX文件
(1) 在IAR建立MSP430工程及X.C文件,并编写X.C代码,界面如下图,
(2) 设置IAR软件以生成X.HEX文件
点击软件页面中的Project,在下拉菜单中选择Opintion....,打开如下界面,
(3) 在左边选择Linker选项,在右边选择Output,按下图中设置选项。
(4)编译X.C文件生成XX.hex文件,XX.hex在工程中的Debug文件下的Exe文件夹下
2. Proteus工程及仿真电路建立,注意MSP430型号选取,有些不可仿真,具体如下图
3. 建立仿MSP430的Proteus7.6仿真电路
仿真效果如下
关键字:IAR Proteus7.6仿真 MSP430单片机 设置方法
引用地址:
引用 IAR + Proteus7.6仿真MSP430单片机的设置方法
推荐阅读最新更新时间:2024-03-16 14:53
iar Error[Li005] no definition for "assert_failed"
出现这个问题是因为在stm8s_conf.h中只声明了函数接口,但是没有地方实现它,所以找个地方写个空函数就行了。常用的方法是在main.c中写个空函数。` Error : no definition for “assert_failed” 1 928 bytes of readonly code memory 1 786 bytes of readonly data memory 309 bytes of readwrite data memory Errors: 1 Warnings: none Link time: 0.06 (CPU) 0.06 (elapsed) Error while runn
[单片机]
stm8s iar printf打印信息
串口通信正常 我在程序中 #include stdio.h int fputc(int ch, FILE *f)//STM8S105,printf函数重定向 { while (!(UART2- SR&0x80)); UART2- DR=ch; return ch; } 同时需要修改IAR的Projec t- Options - General Options - Library Configuration中的Library 项由 Normal 改为 Full 。 打印信息仍然没有出来 程序一看 打印出来数据明显有问题呀 现在由整好了 问题 1 最终查询出是程序没有真正的下载进去
[单片机]
关于IAR for stm8 printf打印不正确的问题
写了一个关于红外Pyd1798的测试程序,由于原来是基于stm8L的方案,为了节约时间就没有换方案,经过几天的了解才知道stm8原来也是有库的,与stm32有异曲同工之妙。 根据Pyd1798的手册,开始写时序函数,刚开始是按Datasheet老版本的写,出来的波形还行,但一直就是打印不正确。由于还不知道写的时序对不对,所以在网上查资料,又下了一版较新的Pyd1798根据那个时序又写读函数,结果根本没有得到数据手册标的时序波形。现在才发现原来,自己用的这个Pyd1798是个老版本的。 确定不是时序问题后,就开始找原因。先看直接输出行不行?printf( %dn ,100); 结果还是输出原来的值。可见是printf的问
[单片机]
IAR推出新版IAR Embedded Workbench for Arm功能安全版,该版本配备经过认证的静态代码分析功能
IAR推出新版IAR Embedded Workbench for Arm功能安全版,该版本配备经过认证的静态代码分析功能 瑞典乌普萨拉,2024年2月20日 – 全球领先的嵌入式系统开发软件解决方案供应商IAR宣布 :推出其旗舰产品IAR Embedded Workbench for Arm功能安全版的最新版本9.50.3。此次发布进一步加强了IAR支持开发人员创建安全、可靠和符合标准的嵌入式应用程序的承诺,涵盖了汽车、医疗设备、工业自动化和消费电子等多个行业。该版本中最重要的新功能是经过认证的C-STAT,这是专为安全关键应用程序设计的静态代码分析工具。 IAR Embedded Workbench for Ar
[嵌入式]
STM8在IAR中Printf的整形长度问题
//ld是32位的 printf( up_intval:%ldrn ,device_set.upload_tem); //d是16位的 printf( up_intval:%drn ,device_set.upload_tem);+ 如果device_set.upload_tem是32位,那么用第二个打印就会出问题,数值异常之类的
[单片机]
IAR 下 AVR 的外部中断操作
芯片 : ATMega16 晶振 : 7.3728 MHz 外部中断0 ,下降沿触发。 关于硬件:要想稳定的使用外部中断,最好要在管脚处上拉一个电阻(一般上拉10K,当然上拉还是下拉也要看你的触发条件),如果是按键的话应该再并一个电容(一般为104),这样效果会比较好,有效的防止抖动。 代码: #include iom16.h #include intrinsics.h #include comp_a90.h void int0_init() { _CLI(); //disable all interrupts //关总中断 MCUCR = 0x02; //下降沿触发 外部中断0 GICR
[单片机]
msp430单片机开发实录(25)
现象: 产品开发完成,并且经过严苛、详细的测试后,已经开始批量生产了,但是大家提出一个问题:能不能把功耗再降低一些,目前产品的功耗有些高(超过50uA),用干电池供电的话,用不了1年就要换电池。 试验: 因为我们一直以来的产品都是电池供电的,对于产品的功耗一直都做得很低,这也是我们一直使用TI的MSP430系列单片机的原因,因为它的超低功耗做的确实很好。 不过这款产品因为功能太多,并且有一个很好点的地方:每1s都要进行一次串口通信(每次通信几十个字节,波特率9600),在最初方案设计以及产品验证时,所有参与人员都认为目前的功耗已经做到最好了,没有再下降的空间了。并且这款产品的功耗与其他厂家同类产品相比,功耗基本一样。所以就觉得功
[单片机]
AVR 启动时间 设置方法
1。系统电源中有大的电容,上电速度比较慢(到达标准值时间长) 2。系统中其它的器件自己需要上电初始化,然后才能接收AVR的指令。 3。上电后马上要对片内EEPROM操作,但此时电源不稳定会出现问题 比如使用LCD2*16模块。此模块4V以上才能自己做初始化,然后接收AVR的指令。但AVR3V就工作了,马上发指令给LCD模块,LCD是不会响应的,通常形成显示不正常。此时可以考虑加长AVR的启动时间 初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定。 1:未编程 0:编程 1、BOD(Bro
[单片机]