Proteus仿真MSP430单片机的若干问题记录
1.支持的具体型号:
P7.8:

Proteus8.9:


Proteus8.9能够支持的类型明显要多于Proteus7.8。但是对于仿真而言,目前个人还是觉得Proteus7.8更稳定。这也是目前能用P7不用P8的原因。
2.时钟设置
在仿真中,外置晶振电路不论如何设计都不会影响单片机的真正运行时钟。MSP430的时钟通过点击芯片“Edit Component”进行设计。下图可以看出可以直接设置MCLK,SMLK和ACLK。经过实际测试可以在程序中选择不同的时钟源,并且可以设计分频。
在仿真的时候可以将几个时钟全部设置成8M,省去配置时钟的麻烦,所有时钟一个标准。

3.精确的延时函数
MSP430单片机内部含有Timer,ADC,中断等等设计,可以通过内部资源进行一些类型的仿真。如果需要外挂芯片,尤其是串行通信的芯片,一个精确稳定的延时函数就必不可少。如果一个延时函数精确,那么几乎所有的51芯片外挂芯片的仿真,应该都可以移植到msp430上来。同理,stm32的仿真也是类似的。
这一点这篇帖子的分析还是比较到位的:
https://www.cnblogs.com/memset/archive/2013/07/05/3173502.html
IAR中实现了__intrinsic void __delay_cycles(unsigned long __cycles)这个内联函数进行系统时钟次数的延时。所以在IAR中可以这样写来实现延时:
#define CPU_CLOCK 8000000 #define delay_us(us) __delay_cycles(CPU_CLOCK/1000000*(us)) #define delay_ms(ms) __delay_cycles(CPU_CLOCK/1000*(ms))
我在实际的仿真中测试过,这套延时函数比实际时钟慢1倍左右。delay_ms(1000)大概在2s左右,所以实际仿真时候应该适当更正一下这个函数。
#define CPU_CLOCK 4000000 #define delay_us(us) __delay_cycles(CPU_CLOCK/1000000*(us)) #define delay_ms(ms) __delay_cycles(CPU_CLOCK/1000*(ms))
这样的延时时间是相当准的,用这个移植51的程序应该有很大希望。
Proteus仿真MSP430单片机的若干问题记录的更多相关文章
- Proteus仿真—51单片机实现AC信号测频、显示、双机通信
文章目录 一.原理图部分 二.源码部分 单片机1 单片机2 在Proteus仿真软件里面使用STC89C52实现指定频率的AC信号的测频.显示.双机通信. 一.原理图部分 整体的电路图如示: DC-A ...
- Proteus 仿真运算放大器出现 GMIN 问题
Proteus 仿真运算放大器出现 GMIN 问题 为了仿真一个反相运算放大器,在仿真时出现 GMIN 问题,将 后面的 4.7UF 去掉就可以正常仿真. 初步检查是因为输入频率太低,输入时我用的是 ...
- MSP430单片机的两种SPI总线实现方式
MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现. 二者的抽象层次不同,硬件实现方式下程序员只需要完成总线协议的寄存器层,即一字节(char,8位二进制)数据,而软件实现方式下程 ...
- MSP430单片机的位操作
MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而R ...
- 对MSP430单片机__delay_cycles精确延时的说明及改正
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的函数)以提供用户精确延时使用, ...
- MSP430单片机输入与输出
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11 ...
- TI公司与MSP430单片机
美国德州仪器(Texas Instruments)公司,简称TI,是全球领先的半导体公司,成立于1930 年,成立之初是一家使用地震信号处理技术勘探原油的地质勘探公司,1951年更名为德州仪器公司,1 ...
- [MSP430] 对MSP430单片机__delay_cycles精确延时的说明及改正
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的 函数)以提供用户精确延时使用 ...
- proteus仿真 引脚显示电平变化但不能显示波形
proteus仿真 引脚显示电平变化但不能显示波形 原来是没有选择通道问题,proteus默认优先使用A通道才会显示波形,如果优先使用B,C,D通道,需要选择...
随机推荐
- 2021S软件工程——个人阅读作业1
2021S软件工程--个人阅读作业1 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 2021年软工-热身阅读作业 我在这个课程的目标是 了解并熟悉软件开发 ...
- composer 遇见问题 整理
修改镜像源:改为阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 报错:Con ...
- IDAPython类库---idc.py的源码
#!/usr/bin/env python #--------------------------------------------------------------------- # IDAPy ...
- Android进程so注入Hook java方法
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/53769331 Andorid的Hook方式比较多,现在来学习下,基于Android ...
- Linux-鸟菜-0-计算机概论
Linux-鸟菜-0-计算机概论 这一章在说计算机概论,额....,总的来说看完之后还是有点收获,回忆了下计算机基本知识.没有什么可上手操作的东西,全是概念,直接把最后的总结给截图过来吧,因为概念的话 ...
- 寻找OEP
1.使用ESP定律 OD载入后,F8一次,在寄存器窗口的ESP的内容上(如0012FFA4)右键:"在数据窗口中跟随",到内存数据窗口,将内存数据窗口以HEX数据形式显示,在刚才的 ...
- 在IDEA配置tomcat
springboot的项目写多了,导致都快忘记怎么在idea中配置tomcat 点击加号,而不是Templates 选择Tomcat 服务器的Local 服务器配置 部署配置,选择Artifact 到 ...
- File & Directory
新开一节IO(Input/Output)的用法. 这节主要讲一下操作文件和文件目录的两个静态类:File 和 Directory. 在进入正题之前,先理解一下相对路径和绝对路径这两个概念: 绝对路径, ...
- Ubuntu部署项目
一.Ubuntu目录结构 目录 说明 bin 存放二进制可执行文件(ls,cat,mkdir等) .exe== boot 存放用于系统引导时使用的各种文件 开机引导 dev 用于存放设备文件 打印机啥 ...
- UVA 160 - Factors and Factorials
Factors and Factorials The factorial of a number N (written N!) is defined as the product of all t ...