原创 RVMDK纯软件仿真

2008-7-24 20:50 6774 13 23 分类: MCU/ 嵌入式

通常大家都说keil的纯软件仿真功能无比的强大,它到底强大到哪种程度呢?简单地来说,它能够仿真到几乎所有的内部资源及外围的IO口。


 


4fa41e33-0303-4f2f-8304-e79f41d92bcb.jpg


 


如上图所示,几乎所有的IO口、串口、I2CSPIAD等,都能够仿真。呵呵,够强大了吧?下面以外围IO口的流水灯仿真及AD转换为例,来慢慢说明。


大家可以下载下面这个软件包进行结合我的例子同步:


 


rar


 


点击看大图


 


下载完后直接可以编译,编译后,没有错误和警告,然后就可以点击上图中的那个红色的d字形按钮进行 debug,然后点击“peripherals”按钮,选择GPIO,再在子菜单中选择Port0(因为在程序中我是将流水灯写在对应的Port0管脚上的)。再按一下全速运行,呵呵,是不是发现IO0SET的第十六位到第二十三位的钩依次打上呢?这是因为它们依次就高电平,如果我们在实际的开发板上接上LED(阳极接限流电阻再接IO口,阴极接地)的话,这样就会使我们的LED闪啊闪的,像流水一样~~~~~~~~


AD转换呢?我们有AD转换,首先要模拟出一个模拟电压才行。点击Debug后,不要点全速运行,在Debug菜单中选择function editor (open Ini file),会提示我们打开一个脚本文件,把下面这样文件加进去:


rar


脚本文件的内容是:


//


// Generate Sine Wave Signal on AD Channel 0


//


signal void AIN0(void)  {


  float volts;        // peak-to-peak voltage


  float frequency;    // output frequency in Hz


  float offset;       // voltage offset


  float duration;     // duration in Seconds


  float val;


  long  i, end; 


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


  volts     = 1.5;


  offset    = 1.6;


  frequency = 1800;


  duration  = 0.1;


 


  printf ("Sine Wave Signal on AD Channel 0.\n");


 


  end = (duration * 100000);


  while(1)  {


    val = __sin (frequency * (((float) STATES) / CLOCK) * 2 * 3.1415926);


    AIN0 = (val * volts) + offset;


    swatch (0.00001);                // in 10 uSec steps


  }


}


进行保存,编译,下面按下全速运行,再打开逻辑分析窗口,这个时候你看到正弦波了吗?肯定看不到啦!


这是为什么呢?因为我们还没有把它加到模拟IO口呢!那么怎么添加呢?在下面这个窗口中:


 


 


 


点击看大图

 


 


我们再看看前面这样脚本的内容,那个函数是将一个正弦波信号加到一个叫AIN0的管脚,这可以在command 窗口中输入 dir vtreg”命令来查看这个模拟的CPU有哪些模拟资源。那么,我们将这个函数添加到模拟端口,输入这个脚本函数的名称:“AIN0()”,这个时候看到正弦波了吗?看到了!看到一个正弦波在跳啊跳的,多开心啊!


总体如下图:



 



点击看大图


 


 


呵呵,不用硬件资源,直接可以进行STM32的学习,是不是觉得十分爽啊?


 


如果觉得此文章对你有帮助的话,麻烦帮我点一下文章左上角的“顶一下”,谢谢!


 


 


 



 


 


 


 

文章评论10条评论)

登录后参与讨论

dwwzl 2012-8-23 12:16

USB端口能否也能这么仿真呢?

用户29210 2010-4-13 21:24

很好很强大!

用户1579481 2009-11-13 15:57

qiang

用户1112876 2008-9-17 15:52

HAO YA

用户160037 2008-8-3 09:06

呵呵,I likee it .

用户158443 2008-8-2 22:48

太好了,...

用户95699 2008-7-29 23:23

写得很详细。

用户83475 2008-7-29 20:59

我按照你的方法去做怎么不出来波形呢?流水灯已经出来了。

用户162278 2008-7-28 10:06

果然够详细,谢谢 了!

用户157504 2008-7-25 21:50

看了,对我有帮助
相关推荐阅读
daiqiumiao_806246054 2011-01-06 13:57
linux下yum代理设置
    我们在安装好linux后,经常会使用yum来更新系统,但是系统默认的代理是国外的,国内一般的网络不能访问,这里讲解具体做法,把代理换成国内的。attachment download      ...
daiqiumiao_806246054 2010-12-30 09:48
【转】ORACLE 10g下载地址
Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit...
daiqiumiao_806246054 2010-11-29 11:06
找工作的进来看
如下是我所有的开放性问题回答,希望对大家有帮助!1.      When choosing your first job/employer, what will you consider and wh...
daiqiumiao_806246054 2010-11-29 09:47
中长期规划---螺旋式上升方式修改完善职业之路
一、中长期职业发展的自我准备1、心态上随时做好准备 机会是给有准备的人的------“有准备”是你在做准备的过程中让“别人”认为你“有准备”!别人是包括你现在的老板和别的老板,以及你身边的人!他们对你...
daiqiumiao_806246054 2010-03-17 21:26
移动
分集方式传输损耗和距离关系光纤网络G网...
daiqiumiao_806246054 2010-03-17 09:40
GSM
特点  使用直观  GSM系统有几项重要特点:防盗拷能力佳、网络容量大、手机号码资源丰富、通话清晰、稳定性强不易受干扰、信息灵敏、通话死角少、手机耗电量低。  技术特点  1.频谱效率。由于采用了高效...
EE直播间
更多
我要评论
10
13
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /5 下一条