多语言展示
当前在线:1736今日阅读:2今日分享:38

multisim怎么用C语言仿真51单片机

对于从事电子行业的小伙伴,仿真是必不可少的工具。在进入实物操作之前,进行系统的仿真实验,可以有效避免大部分原理性错误,减少硬件成本。同时也可以在一定程度上检验程序的逻辑,在硬件之前完成程序初步调试,缩短开发周期。目前市面上有很多软件支持电子仿真,比如proteus、spice、matlab、multisim等。对于硬件仿真可能比较好掌握,但单片机软件仿真每个软件操作区别较大,尤其对于multisim,目前很少看到相关的单片机仿真教程,需要读者自行摸索。本人将multisim关于51单片机C语言的仿真的一些心得在这里记录一下,希望对需要的朋友有帮助。
工具/原料

multisim 12

方法/步骤
2

在新建的设计文档的工具栏选择“Place MCU”,在弹出的列表中选择8051单片机,点击“OK”确定选择。

3

将单片机放置在Design上后会弹出MCU向导(MCU Wizard-Step 1 of 3),通过标题可以知道向导有3步。第一步需要自己选择工作空间目录和名称,这个按需求填即可,确认后点击“Next”。

4

进入“MCU Wizar - Step 2 of 3”,即第2步,需要选择的东西比较多,第一个是“Project type”(工程类型),其中Standard就是自己写代码的,而External hex file就是其他编译器生成的hex文件,不需要自己写代码。“Programming language”就不用说了,可以选择C或者汇编,编译器一般默认即可,Project name按需要命名,点击“Next”确认。

5

在第三步需可以选择创建一个空的工程(Create empty project)或者在创建的时候自动添加一个源文件,文件名默认为main.c,建议默认配置,确认后点击“Finish”。

6

工程监理完毕,可以在工程下面看到一个main.c的文件,点击可以查看该文件。

7

通常会自动生成一个main函数,这里需要要注意,由于multisim找不到Hi-Tech C51 Lite compiler编译器的帮助文档,很多东西都需要自己摸索,最让人头疼的是它都没有提供C语言的头文件,连寄存器都需要自己去定义,这里建议使用强制指针将常量地址转换为寄存器地址,然后可以直接赋值访问了。图中是一个对P0的8个端口循环取反的操作,效果是P0端口不停的翻转,生成一个高速的脉冲信号。

8

程序写完后,添加一个示波器,用于查看P0端口信号,然后点击运行按钮。

9

由于我们没有添加电源,软件编译后报错。

10

添加电源后,程序运行OK,可以在虚拟示波器中看到预期中的脉冲方波。

11

更改一下程序,将低电平设置比高电平短,运行后效果一致,说明程序操作是没有问题的。

注意事项

51单片机寄存器的地址请参考相关教程或者相应的51单片机规格书。

推荐信息