用Proteus仿真单片机的方法

合集下载

在proteus中仿真MSP430单片机的设置方法

在proteus中仿真MSP430单片机的设置方法

在proteus中仿真MSP430单片机的设置方法
将MSP430单片机仿真库文件分别复制到proteus7.1安装目录相应地方,即可仿真MSP430单片机了。

1、选择芯片型号
如图1所示选择MSP430F2274,。

图1选择芯片型号
2、改变Linker设置
单击Linker/Output,选中Override default,更改t1.d43为t1.hex,即更改文件后缀为可执行文件hex。

选中Format中的Other,更改Output为intel-extended。

其它不变,如图2所示。

设置完成后,重新编译make生成t1.hex文件,路径为d:\mywork430\t1\debug\exe\t1.hex。

图2 Linker设置
3、打开proteus选择msp430芯片
图3 选择MSP430F2272芯片
4、装载可执行文件t1.hex
双击msp430f2272芯片图标,在edit compnent/program file装载可执行文件
d:\mywork430\t1\debug\exe\t1.hex
图4装载可执行文件t1.hex
5、仿真运行
在proteus中点击仿真运行,可观察到P1.0引脚电位变化,红色为高电位,蓝色为低电位。

接上发光二极管,可看见发光二极管的闪烁,如图5所示。

图5 仿真运行。

基于Proteus的单片机设计仿真

基于Proteus的单片机设计仿真

第三, 实例的难度要由浅入深、 循序渐进, 并呈
础。 教学实践证明, VB 是一 门 集 知 识 和 技 能 于 一 体 、 现出一定的梯度。
逻辑分析和实践操作都很强的课程, 且由于教学内容
总之, 实例要以教学的内容为依据, 以现实的对
枯燥、 难懂, 学生学起来非常困难, 甚至会产生放弃 象为材料, 既要包含基本的教学知识点, 又要调动学
·职 业 教 育
2009年1月 总第138期
149
览对象方位控制按钮、 仿真进程控制按钮、 预览窗口、 对象选择器窗口、 图形编辑窗口等。
标 (不用拖动), 将鼠标的指针靠近另一个元件的连接 点时, 接着鼠标的指针就会又出现一个 “×” 号, 表明 找到了该元件的连接点, 同时屏幕上出现了粉红色的 连接, 单击鼠标左键, 粉红色的连接线就变成了深绿 色, 该条连线绘制完成。 再用同样的方法绘制其他连 接线, 电路原理图的编辑就完成了。 如图 4 所示。
图 3 元件选择窗口 在 “Results” 的列表项中 , 双击 “AT89C51”, 则 可 将 “AT89C51” 添 加 至 对 象 选 择 器 的 窗 口 中 。 用 同 样的方法将 “CD4094” 和 “led-bargraph-red” 添加至 对象选择器窗口, 单击 “OK” 按钮, 结束对象选择。 经过以上操作, 在对象选择器窗口中, 已有了 CD4094、 AT89C51、 led-bargraph-red 这三个元器件对 象。 在对象选择器的窗口中, 选中 CD4094, 将鼠标置 于图形编辑窗口该对象的欲放位置、 单击鼠标左键, 从而完成放置。 同理, 将 AT89C51 和 led-bargraph-red 放置到图形编辑窗口中。 接下来, 用导线连接各接点: Proteus 的 智 能 化 可 以在你想要画线的时候进行自动检测。 当鼠标的指针 靠近元件的连接点时, 跟着鼠标的指针就会出现一个 “×” 号, 表明找到了连接点; 单击鼠标左键, 移动鼠

单片机proteus仿真篮球比赛计时计分课程设计

单片机proteus仿真篮球比赛计时计分课程设计

单片机proteus仿真篮球比赛计时计分课程设计设计一个基于单片机的篮球比赛计时计分系统是一个涉及硬件和软件协同工作的项目。

在Proteus仿真环境中实现这个系统,你可以进行前期的设计和测试,以便在实际硬件上实现之前找出并修复潜在的问题。

下面是一个基本的步骤指南,用于在Proteus中设计一个篮球比赛计时计分系统。

1. 确定系统需求首先,明确你的系统需要完成的任务。

通常,篮球比赛计时计分系统需要:开始/停止计时显示当前比赛时间(分钟、秒)显示当前得分实现上下限时间的设定(例如,每节比赛时间)可能的附加功能,如犯规/罚球计数、球员技术统计等2. 选择单片机和外设选择一个适合你需求的单片机。

例如,常用的单片机有51系列、STM32等。

根据需求选择适当的显示器、按钮和可能的扩展外设。

3. 设计硬件电路在Proteus中创建电路图。

将所选的单片机、显示器、按钮等外设添加到电路图中,并按照你的设计意图进行连接。

这通常包括单片机的电源、地线以及与外设通信的端口。

4. 编写和测试软件代码为所选的单片机编写代码。

这通常涉及初始化外设、设置计时函数、处理输入按钮事件等。

使用Proteus的调试功能,在仿真环境中测试代码以确保其功能正常。

5. 配置定时器和中断为了实现计时功能,你需要配置单片机的定时器。

这决定了计时的精度(例如,每秒更新一次时间)。

根据需要设置定时器的中断,以便在时间到达预设值时触发特定的事件(如停止计时、增加/减少得分等)。

6. 显示和用户界面编写代码以驱动显示器,根据当前的时间和得分更新显示内容。

考虑使用动态显示技术,如扫描显示,以节省单片机的I/O端口。

同时,编写处理用户输入的代码,如开始/停止计时、重置计分等。

7. 测试和调试在Proteus中全面测试你的系统。

模拟不同的比赛场景,如时间是否正确更新、计分是否正确增加等。

通过调试找出并修复代码中的错误或问题。

8. 优化和改进根据测试结果优化代码和硬件设计。

proteus单片机实验报告

proteus单片机实验报告

proteus单片机实验报告
Proteus单片机实验报告
一、实验目的
本次实验旨在通过Proteus单片机仿真软件,探索单片机的基本原理和应用,加深对单片机工作原理的理解,提高对单片机编程的熟练程度。

二、实验内容
1. 搭建单片机电路
在Proteus中选择合适的单片机模型,搭建基本的单片机电路,包括单片机、晶振、电源等。

2. 编写程序
利用Proteus提供的编程环境,编写简单的单片机程序,如LED灯闪烁、数码管显示等。

3. 仿真调试
通过Proteus的仿真功能,调试程序,观察单片机在仿真环境下的运行情况,检查程序是否正常运行。

三、实验步骤
1. 打开Proteus软件,选择合适的单片机模型,搭建单片机电路。

2. 编写简单的单片机程序,如让LED灯交替闪烁。

3. 在Proteus中进行仿真调试,观察程序运行情况。

四、实验结果
通过实验,我们成功搭建了单片机电路,并编写了简单的程序。

在Proteus的仿真环境下,LED灯按照设定的程序交替闪烁,证明程序正常运行。

五、实验总结
通过本次实验,我们加深了对单片机的理解,掌握了在Proteus中搭建单片机电路、编写程序并进行仿真调试的基本方法。

同时,也提高了对单片机编程的熟练程度。

总之,Proteus单片机实验为我们提供了一个良好的学习平台,使我们能够更好地理解单片机的工作原理和应用,为以后的学习和实践打下了坚实的基础。

希望通过不断地实践和探索,能够更深入地理解单片机的原理,并在实际应用中发挥其巨大的作用。

单片机仿真软件PROTEUS入门教程

单片机仿真软件PROTEUS入门教程

单片机仿真软件PROTEUS入门教程PROTEUS是一款广泛使用的电子电路仿真软件,它具有友好的用户界面和强大的仿真功能。

本篇文章将向大家介绍PROTEUS的基本操作和仿真流程。

第二步是绘制电路图。

在PROTEUS中,可以使用元件库中的元件来绘制电路图。

首先,点击左侧的“Pick from Libraries”按钮来打开元件库,然后选择合适的元件库。

接下来,点击元件库中的元件,并将其拖放到绘图区。

绘制完电路图后,可以使用线连接元件,建立电路连接。

第三步是设置元件的参数。

在PROTEUS中,可以通过双击元件来打开参数设置对话框。

在对话框中,可以设置元件的名称、型号、参数等信息。

第四步是设置仿真器。

在PROTEUS中,可以使用不同的仿真器来进行仿真。

可以选择Digital Simulation来进行数字电路仿真,或选择Mixed mode simulation来进行混合信号仿真。

第五步是运行仿真。

在PROTEUS中,可以点击“Run”按钮来运行仿真。

在仿真过程中,可以观察电路中各个元件的状态以及输出结果。

第六步是分析仿真结果。

在仿真完成后,可以点击“Debug”按钮来查看仿真结果。

在仿真结果窗口中,可以查看电路中各个元件的输入和输出波形,并进行波形分析。

第七步是进行调试。

在PROTEUS中,可以使用调试工具来排查电路中的错误。

可以使用断点功能来暂停仿真过程,并查看电路的当前状态。

同时,可以使用单步运行功能来逐步执行仿真过程。

第八步是保存仿真结果。

在PROTEUS中,可以将仿真结果保存为图像文件或数据文件。

可以将波形数据保存为.csv或.txt格式的文件,以便进行后续分析。

最后,建议在使用PROTEUS进行仿真时,可以参考相关的教程和文档,学习更多高级操作和功能。

通过不断练习和实践,掌握PROTEUS的使用方法,提高电路设计和仿真的能力。

总之,PROTEUS是一款功能强大的电子电路仿真软件,通过本文介绍的基本操作和仿真流程,读者可以快速上手PROTEUS,进行电路设计和仿真。

单片机的C语言程序设计与应用——基于Proteus仿真(第2版)

单片机的C语言程序设计与应用——基于Proteus仿真(第2版)

单片机的C语言程序设计与应用——基于Proteus仿真(第2版)单片机的C语言程序设计与应用——基于Proteus仿真(第2版)单片机的C语言程序设计是嵌入式系统开发的基础,也是现代电子产品设计中不可或缺的重要环节。

借助Proteus仿真软件,可以更加方便、快捷地进行单片机程序的开发与调试。

本文将介绍单片机的C语言程序设计与应用,以及如何在Proteus仿真环境中进行程序的调试。

一、单片机的C语言程序设计基础C语言是一种高级编程语言,被广泛应用于单片机程序设计中。

在进行单片机的C语言程序设计之前,我们需要掌握一些基本概念和常用语法。

1. 数据类型与变量在C语言中,需要首先定义所使用的数据类型和变量。

常见的数据类型包括整型、浮点型、字符型等。

通过定义变量,并为其分配内存空间,我们可以在程序中存储和处理数据。

2. 控制语句与循环结构控制语句可以用来控制程序的执行流程和逻辑。

常见的控制语句包括条件语句(如if-else语句)、选择语句(如switch语句)等。

循环结构可以用来重复执行一段代码,提高程序的效率。

3. 函数与库函数函数是C语言程序的基本模块,可以封装一段特定的功能。

通过自定义函数和调用库函数,我们可以实现各种功能的组合与调用。

二、Proteus仿真环境的使用Proteus是一款强大的电子设计自动化软件,常用于单片机程序的仿真和调试。

在进行单片机的C语言程序设计时,我们可以借助Proteus 提供的仿真环境进行代码的调试和性能分析。

1. 新建项目与配置在Proteus中,首先需要新建一个项目,并配置所使用的单片机型号和外部电路等。

通过添加合适的元件和连接引脚,可以搭建出一个完整的单片机电路。

2. 编写C语言代码在Proteus的项目中,可以添加一个“C源文件”来编写自己的C语言代码。

通过编写代码,可以实现所需的功能和逻辑。

在编写代码时,需要注意与所使用的单片机型号和引脚连接的兼容性。

3. 仿真与调试在编写完C语言代码后,我们可以进行仿真和调试。

单片机Proteus仿真实验指导书

单片机Proteus仿真实验指导书

单片机Proteus仿真实验指导书目录1、Proteus软件使用方法 (3)2、实验一LED闪烁电路实验 (8)3、实验二数码管静态显示实验 (11)4、实验三数码管动态显示实验 (13)5、实验四外部中断实验 (15)6、实验五T0波形发生器实验 (17)7、实验六计数器实验 (19)8、实验七串口通信实验 (22)9、实验八I2C读写实验 (25)10、实验九AD转换实验 (30)Proteus软件使用方法Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。

Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。

通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。

本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS 模块。

在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。

这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。

下面我们首先来熟悉一下Proteus的界面。

Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:如图中所示,区域①为菜单及工具栏,区域②为预览区,区域③为元器件浏览区,区域④为编辑窗口,区域⑤为对象拾取区,区域⑥为元器件调整工具栏,区域⑦为运行工具条。

下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。

单片机仿真软件PROTEUS使用入门ppt课件

单片机仿真软件PROTEUS使用入门ppt课件

最新课件
2
Proteus整体功能预览
Proteus软件和我们手头的其他电路设计仿真 软件最大的不同即它的功能不是单一的。它的强大 的元件库可以和任何电路设计软件相媲美;它的电 路仿真功能可以和Multisim相媲美,且独特的单片 机仿真功能是Multisim及其他任何仿真软件都不具 备的;它的PCB电路制版功能可以和Protel相媲美。 它的功能不但强大,而且每种功能都毫不逊于 Protel,是广大电子设计爱好者难得的一个工具软 件。
这种方法主要用于对元件名熟悉之后,为节约
时间而直接查找。对于初学者来说,还是分类查找 比较好,一是不用记太多的元件名,二是对元件的 分类有一个清楚的概念,利于以后对大量元件的拾 取。
最新课件
35
• 图1-17 直接拾取元件示意图
最新课件
36
按照电容的拾取方法,依次把五个元件
拾取到编辑界面的对象选择器中,然后关闭 元件拾取对话框。元件拾取后的界面如图118所示。
最新课件
17
交直流电压表和电流表(AC/DC voltmeters/ammeters)。
SPI调试器(SPI DEBUGGER)。
I2C调试器(I2C DEBUGGER)。
Proteus 的部分虚拟仪器(虚拟终端显示器、 四通道示波器和SPI、I2C调试器)
最新课件
18
Proteus 激励源的可编辑格式示例如图1-3所示。
有器件.引脚.端口.图形线.总线等
移动鼠标到框的一角,按下左键拖动,释放后完成.
移动鼠标到圆心,按下左键拖动,释放后完成.
鼠标移到起点,按下左键拖动,释放后调整弧长,点击鼠标完成.
鼠标移到起点,点击产生折点,闭合后完成.

用Proteus仿真单片机的方法

用Proteus仿真单片机的方法

用PROTEUS对单片机进行仿真实例Proteus软件是英国Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB 的设计; ISIS模块用来完成电路原理图的布图和仿真。

它可以进行模拟电路仿真、数字电路仿真,也可以进行单片机及其外围电路组成的系统的仿真;软件提供了各种虚拟仪器,如示波器、逻辑分析仪、信号发生器、电压表、电流表等。

和其它仿真软件相比,Proteus ISIS最大特色是对单片机系统的仿真,目前支持的单片机类型有: 68000系列、8051系列、ARM系列、AVR系列、PIC系列、Z80系列、HC11系列等。

本文主要介绍Proteus软件在单片机方面的仿真功能,即ISIS模块的用法。

在单片机学习开发的过程中,程序的调试是一个很重要的环节,要安装电路进行实验,而且电路在调试过程中往往要进行调整和改变,这不紧增加了费用和难度,而且也影响了学习和开发的进度,这也成了一些初学者学习的障碍。

如果使用Proteus 软件就可以大大节省时间和开发费用,可以在软件仿真通过后再制作印刷电路板进行电路实验。

一、Proteus ISIS软件的工作环境和一些基本使用方法下面通过一个流水灯的实例来说明Proteus的基本使用方法,使用的软件版本是Proteus.Professional 7.1 SP2。

流水灯使用AT89C51单片机,用P2口作输出口。

先在Keil uVision编译器中输入下列程序:#include <reg51.h>void Delay1ms(unsigned int count)//延时子程序{unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}main() //主程序{unsigned char LEDIndex = 0;bit LEDDirection = 1;while(1){if(LEDDirection)P2 = ~(0x01<<LEDIndex);elseP2 = ~(0x80>>LEDIndex);if(LEDIndex==7)LEDDirection = !LEDDirection;LEDIndex = (LEDIndex+1)%8;Delay1ms(200);}}将上述程序编译生成目标文件LED.hex。

单片机c语言程序设计实例100例--基于805i+proteus仿真

单片机c语言程序设计实例100例--基于805i+proteus仿真

以下是一个基于8051单片机和Proteus仿真环境的C语言程序设计实例:实例1:点亮LED灯
在这个例子中,我们将使用C语言编写一个简单的程序来控制8051单片机的一个I/O引脚,使其驱动一个LED灯。

c代码:
要使用Proteus进行仿真,你需要按照以下步骤操作:
1. 打开Proteus软件,创建一个新的设计工程。

2. 在元件库中搜索并添加相应的8051单片机型号(如AT89C51)和LED 元件到工作区。

3. 根据实际硬件连接,正确配置单片机的引脚和LED的连接。

4. 右键单击单片机元件,选择“Edit Component”打开编辑窗口。

5. 在“Program File(s)”区域,点击右侧的浏览按钮,选择你的C语言源文件(如上述的main.c)。

6. 点击“OK”关闭编辑窗口,然后点击工具栏上的“Play”按钮开始仿真。

在仿真过程中,你应该能看到LED灯被点亮,这表明你的C语言程序已经在Proteus环境中成功运行。

以上只是一个基础的例子,实际的"单片机C语言程序设计实例100例--基于8051+Proteus仿真"会包含更复杂和多样化的应用场景,包括定时器/计数器
应用、中断处理、串口通信、ADC/DAC转换、液晶显示等等。

每个实例都会详细介绍程序设计思路、代码实现以及如何在Proteus中进行仿真调试。

通过这些实例的学习和实践,你可以逐步掌握8051单片机的C语言编程技巧和Proteus仿真环境的使用方法。

《单片机Proteus仿真C51参考程序实验》

《单片机Proteus仿真C51参考程序实验》

1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C51 CLOCK=12MHz
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
void delay_ms(uint x) {
uchar t;while(x--)for(t=0;t<120;t++); }
班级:
学号:
姓名
void main() {
uchar i,j=0x01; while(1) {
P2=j; j=_crol_(j,1); delay_ms(100); } } 将以上程序补充完整,流水时间间隔为 100ms。 3.将.HEX 文件导入仿真图,运行并观察结果;
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h>
班级:
学号:
姓名
#include<intrins.h> #define uchar unsigned char #define uint unsigned int void delay_ms(uint x) {

用Proteus和Keil建立单片机仿真工程的步骤

用Proteus和Keil建立单片机仿真工程的步骤

1.新建工程目录:最好是英文名称,如e盘的sy1
2.打开Proteus软件(桌面上的ISIS.EXE)
3.添加元件
单片机AT89C52
电容CAP
电解电容CAP-ELEC
晶振Crystal
电阻RES
发光二极管LED-GREEN/LED-RED/LED-BLUE/LED-YELLOW 4.放置元件,设置参数,连线,绘制原理图
5.保存到工程目录sy1
6.打开keil软件
7.新建工程
右击Target 1
新建源程序文件并保存,注意,后缀要是.c
添加源程序到工程
编写程序并编译生成hex文件
目录下生成了hex文件
回到Proteus界面,双击单片机添加hex文件
运行,查看结果
如果达不到满意的效果,只需要在Keil中修改程序,编译,然后在Proteus中重新运行就可以查看新的运行结果了。

基于Proteus的单片机综合实验仿真平台设计

基于Proteus的单片机综合实验仿真平台设计

基于Proteus的单片机综合实验仿真平台设计基于Proteus的单片机综合实验仿真平台设计一、引言单片机在嵌入式系统中起着非常重要的作用,它能够完成各种各样的控制任务。

为了验证程序在实际硬件上的可行性,需要进行实验验证。

然而,传统的硬件实验需要大量的时间和资源,而且存在许多困难,如硬件组件的购买和组装、故障排除等。

因此,开发一种基于仿真的单片机实验平台对于提高学生和工程师们的实验效率和能力具有重要意义。

二、综合实验仿真平台设计基于Proteus的综合实验仿真平台整体设计如下图所示:1. 系统架构综合实验仿真平台主要由三个模块构成:上位机、仿真器和实验控制模块。

上位机负责程序设计、仿真设置和结果显示;仿真器负责仿真各种外设;实验控制模块提供与示波器、信号源、电压表等外部设备的接口,并负责控制这些设备的动作。

2. 上位机模块上位机模块提供了一个用户友好的图形界面,使用户可以方便地编写和调试单片机程序。

用户可以编写程序并通过仿真器加载到仿真模块中进行仿真。

上位机模块还提供了一个仿真设置界面,用户可以设置仿真时钟频率、在仿真模块中加载外设模块等。

最后,上位机模块还可以显示仿真的结果,如波形图、寄存器状态和程序输出等。

3. 仿真器模块仿真器模块是整个平台的核心部分,它负责加载用户编写的程序,并对程序进行仿真和调试。

仿真器模块通过解析程序指令,模拟单片机的工作过程,包括指令执行、数据传输和外设控制等。

仿真器模块能够提供准确的仿真结果,并支持动态调试,如单步执行、断点设置和变量跟踪等。

4. 实验控制模块实验控制模块负责与外部设备进行通信和控制。

它提供了与示波器、信号源、电压表等设备的接口,并能够通过命令控制这些设备的动作。

实验控制模块还可以检测外设的反馈信息,并将其显示在上位机的界面上。

三、功能与特点基于Proteus的综合实验仿真平台具有以下功能和特点:1. 真实性:平台能够准确模拟真实硬件环境,包括单片机的指令集和外设的工作原理。

基于proteus的51单片机仿真实例六十、8位数码管显示实例

基于proteus的51单片机仿真实例六十、8位数码管显示实例

基于proteus的51单片机仿真实例六十、8位数码管显示实例1、本例实现在8位数码管上同时显示多个不同字符。

2、本例使用了8只集成式7段共阳数码管(pruteus中元件标识为7seg-mpx8-ca-blu,共阳为ca,共阴为cc),所有8个数码管的段码引脚a,b,c,d,e,f,g,dp都是分别并联在一起,任何时候发送的段码均会传送到所有数码管上,所有的数码管的共阳极是独立的,本例中个数码管的共阳极分别与8只NPN三极管射极相连,程序运行时,任意时刻仅允许一只数码管的共阳极连接+5V,当向连接段码的端口发送段码值时,相应数字只会显示在某一只数码管上。

3、为了使不同数码管显示不同字符,本例使用的是集成式多位数码管常用的动态扫描显示技术,他利用了人的视觉暂留特征,选通第一只数码管时,发送1的段码;选通第二只数码管时,发送2的段码,...每次仅选通一只数码管,发送相应的段码,每次切换选通下一数码管并发送相应段码的时间间隔非常短,视觉惰性使人感觉不到字符是一个接一个显示在不同的数码管上的,而会觉得所有的字符很稳定的同时显示在不同数码管上。

在控制两位数码管选通的时间间隔时,要注意全屏的扫描频率要高于视觉暂留频率16-20Hz。

对于程序中的点亮一位数码管的延时时间,我们可以尝试将延时时间改为其他数值,观察会出现什么样的效果。

4、在keil c51中新建工程ex48,编写如下程序代码,编译并生成ex48hex文件/***************************************************************************** * LED数码管显示演示程序** 在8个LED数码管上依次显示1,2,3,4,5,6,7,8 ******************************************************************************** /#include <reg51.h> //包含头文件#include <intrins.h> //包含移位函数头文件//段码表unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off//毫秒级延时函数void delay(unsigned int x){unsigned char i;while(x--){for(i=0;i<120;i++);}}//主函数void main(){unsigned char k,m=0x80; //变量定义P0 = 0xff; //先关闭数码管P2 = 0x00; //while(1){for(k = 0;k < 8;k++) //循环8次{P2 = 0x00; //每显示一位都要关闭位选端口一次m=_crol_(m,1); //循环左移P2=m; //每次选通一个位选端口P0=dis_code[k+1]; //段码送P0口delay(2);}}}5、在proteus中新建仿真文件ex48.dsn,电路原理图如下所示6、将ex48.hex文件载入at89c51中,启动仿真,观察程序运行结果,下图是程序运行结果。

单片机软件仿真系统Proteus(海神)介绍及使用

单片机软件仿真系统Proteus(海神)介绍及使用

附录A 单片机软件仿真系统Proteus(海神)介绍及使用一、该软件的特点:①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

③目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18系列、Z80 系列、HC11 系列以及各种外围芯片。

④支持大量的存储器和外围芯片。

总之,该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。

二、ISIS智能原理图输入系统ISIS是Preoteus系统的中心,具有控制原理图画图的超强的设计环境。

ISIS有以下特性:1、出版质量的原理图ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。

2、良好的用户界面IsIs有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。

3.自动走线只要单击想要连接的两个引脚,就能简单地实现走线。

在特殊的位置需要布线时,使用者只需在中间的角落单击。

自动走线也能在元件移动的时候操作,自动解决相应连线。

节点能够自动布置和移除。

既节约了时间,又避免了其他可能的错误。

4.层次设计ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。

5、总线支持ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。

因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。

Proteus仿真单片机实验

Proteus仿真单片机实验

目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。

以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。

在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。

利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。

1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。

1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。

Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

可以按照设计的要求选择不同生产厂家的元器件。

此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。

除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。

使用软件Proteus仿真51单片机的基本方法

使用软件Proteus仿真51单片机的基本方法

使用软件Proteus仿真51单片机的基本方法初学者学习单片机的一个比较好的方法是进行实践。

可以采用单片机芯片,也可以采用软件仿真。

Proteus是比较常用的仿真软件,下面介绍如何使用Proteus 软件仿真51系列单片机。

添加最主要的仿真元件——单片机。

点击左侧工具栏中的Component Mode(元件模式)按钮,再单击Pick form Libraries(从库中选择)按钮,如下图红框所示位置。

该按钮仅显示一个字母“P”。

会弹出如下图所示对话框,在Keywords文本框(下图红框区域)输入“89C”,就可以在右侧看见大量的单片机型号。

Proteus7.8中可以仿真89C51/89C52以及89C55等多种型号的单片机。

可以根据自己仿真的单片机型号进行选择。

对于初学者,选择89C51就可以。

点击89C51后,点击上图中的OK按钮。

此时鼠标会变成一支笔的形状,在绘图区域的蓝色框内直接点击鼠标左键,鼠标会变为一个单片机的预览,此时将鼠标移动到合适的位置点击鼠标左键,就可以将单片机放置在该位置。

至此我们就已经将AT89C51单片机放置到仿真软件中了。

搭建单片机最小系统读者注意,单片机最小系统可以说是单片机可以正常运行所需要最少的元件组成的系统。

在仿真软件Proteus中,即使没有搭建单片机最小系统,单片机也可以正常仿真运行。

为了让仿真图更加规范合理,建议大家把单片机最小系统搭建出来。

添加电容、电阻以及晶振等电子元件方法类似于单片机,这里不再赘述。

绘制电路图如下图所示。

其中X1为晶振,关键词为“crystal”;C1和C2为瓷片电容,关键词为“cap”,C3为有极性电容,一般为电解质电容,关键词为“cap-elec”;R1为电阻,关键词为“res”。

在上图所示的单片机最小系统中,搭建的自动复位电路需要连接VCC以及GND。

点击左侧工具栏中Terminal Mode按钮,选择按钮右侧的POWER或GND就可以添加了,如下图所示,添加方法与添加元件方法类似。

基于Proteus的51系列单片机设计与仿真

基于Proteus的51系列单片机设计与仿真


主电源引脚VCC和VSS 外接晶振引脚XTAL1 和XTAL2 控制或电源复用引脚
RST/ Vpd(复位/备用电源) ALE/PROG(地址锁存/编程) EA/Vpp(片外程序存储器/编程电源) PSEN (片外程序存储器读选通)
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3
7FH
堆栈/数据缓冲 区
80Byte
30H 2FH 20H 1FH
位寻址区 128bit 00H~7FH 通用寄 存器区 (4组)
16Byte
32Byte
00H
返回本节
1.2.3 MCS-51单片机的内部存储器
一、片内数据存储器(Internal RAM)低128单元
1、通用寄存器区(32Byte)



地址范围:00H~1FH,共4组, 每组R0~R7。 当前寄存器组选择: 通过设置PSW中的位 RS1、 RS0完成。 仅当前R组以寄存器方式 工作,其他组以存储器方式 功能: 存放常用变量,提高访问速度; 在中断或程序调用时使用,可 减少堆栈中的数据保护
课程要求
本课程是实践性较强的课程。通过本课程的学习, 掌握软件编程和硬件电路设计的方法,能够进行单 片机应用系统的设计、调试工作。
第1讲
单片微型计算机概述及其硬件结构
1.1 单片微型机计算机概述 1.2 MCS-51单片机的硬件结构
1.1 单片微型计算机概述

1.1.1 微型机计算机概述
基于Proteus的 51系列单片机设计与仿真
————沈阳理工大学装备工程学院
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用PROTEUS对单片机进行仿真的方法与实例吴汉清Proteus软件是英国Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB 的设计; ISIS模块用来完成电路原理图的布图和仿真。

它可以进行模拟电路仿真、数字电路仿真,也可以进行单片机及其外围电路组成的系统的仿真;软件提供了各种虚拟仪器,如示波器、逻辑分析仪、信号发生器、电压表、电流表等。

和其它仿真软件相比,Proteus ISIS最大特色是对单片机系统的仿真,目前支持的单片机类型有: 68000系列、8051系列、ARM系列、AVR系列、PIC系列、Z80系列、HC11系列等。

本文主要介绍Proteus软件在单片机方面的仿真功能,即ISIS模块的用法。

在单片机学习开发的过程中,程序的调试是一个很重要的环节,要安装电路进行实验,而且电路在调试过程中往往要进行调整和改变,这不紧增加了费用和难度,而且也影响了学习和开发的进度,这也成了一些初学者学习的障碍。

如果使用Proteus 软件就可以大大节省时间和开发费用,可以在软件仿真通过后再制作印刷电路板进行电路实验。

一、Proteus ISIS软件的工作环境和一些基本使用方法下面通过一个流水灯的实例来说明Proteus的基本使用方法,使用的软件版本是Proteus.Professional 7.1 SP2。

流水灯使用AT89C51单片机,用P2口作输出口。

先在Keil uVision编译器中输入下列程序:#include <reg51.h>void Delay1ms(unsigned int count)//延时子程序{unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}main() //主程序{unsigned char LEDIndex = 0;bit LEDDirection = 1;while(1){if(LEDDirection)P2 = ~(0x01<<LEDIndex);elseP2 = ~(0x80>>LEDIndex);if(LEDIndex==7)LEDDirection = !LEDDirection;LEDIndex = (LEDIndex+1)%8;Delay1ms(200);}}将上述程序编译生成目标文件LED.hex。

然后按下列步骤进行:1. 运行Proteus 7 Professional(ISIS 7 Professional)出现如图1所示的界面:这是一种标准的Windows界面,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

2.添加元件到对象选择器元件列表中单击绘图工具栏中的按钮,再单击对象选择按钮P,出现挑选元件对话框,见图2。

按表1添加本例所用的元件。

表1名称元件种类(Category)子种类(Sub-category)单片机AT89C51 Microprocessor ICs 8051 Family按钮开关BUTTON Switches & Relays Switches电容器CAP Capacitors Generic电解电容器CAP-ELEC Capacitors Generic电阻器RES Resistors Generic发光二极管LED-RED Optoelectronics LEDs晶振CRYSTAL Miscellaneous如果一开始对种类不熟悉,可直接在对话框的KEYWORDS中输入元件的名称如AT89C51、CAP等,就可以直接找到所需的元件,如图3。

添加好元件的对象选择器元件列表见图4。

3.放置元件在元件列表中左键选取AT89C51,在原理图编辑窗口中适当的位置单击左键,这样AT89C51就被放到原理图编辑窗口中了,同样放置其它元件。

两次右击可以删除放置的元件,右击选中元件后按方向控制按钮可改变元件的方向。

右击选中元件后再按住左键可移动元件位置。

4.放置“地”、“电源”添加“地”:左键选择模型选择工具栏中的图标,在图5中左键选择GROUND,并在原理图编辑窗口中左击,这样“地”就被放置到原理图编辑窗口中了。

同样地,选择POWER可放置“电源”。

5.编辑元件的属性右击选元件后再左击即可编辑元件的属性,也可以右击后在快捷菜单中选择命令Edit Prorerties。

如R1的属性窗口如图6。

在对AT89C51的属性进行编辑时要加入仿真文件,在Program File中单击出现文件浏览对话框,找出LED.hex文件,单击确定完成添加文件,单击OK退出。

6.连线在要连线的一个点左击,移动鼠标到到另一个点再左击即可画好一条连线,按放置导线连接结点,画好连线的仿真电路图见图7。

AT89C51的VSS、VDD不需要连线,默认VSS=0V、VDD=+5V、GND=0V。

7.仿真单击仿真进程控制按钮中的开始仿真,我们可看到发光二极管分别按两个方向依次点亮。

输出端的小方点红色代表高点平,蓝色代表低电平,灰色代表不确定电平。

在仿真时单片机的晶振电路和复位电路可以省略不画,时钟频率可以在AT89C51的属性中设置,默认值为12MHz。

对于设计好的文件可以保存以便下次调用。

二、单片机仿真实例上面通过一个简单的例子介绍了Proteus ISIS的基本使用方法,下面再通过笔者设计的几个实例进一步介绍Proteus ISIS的使用方法和技巧,同时也能够使大家看到几个单片机应用的实例。

1.电感测试仪电感测试仪以电感加上电压后电流增加的规律作为测量依据,因为电感加上电压后电流增加的速度与电感量相关,通过测量电流达到某一预定值所花的时间就能测量出电感的电感量。

单片机使用AT89C2051,测量电路如图8所示,A为AT89C2051内部构造的电压比较器,利用电压比较器测量电感中电流的变化,合上开关后电源电压E+ 加在电感LX和电阻R的串联回路上,这时回路中电流I L由零开始逐渐增加,在电阻R两端电压从0升到0.632E+的过程中,P3.6口输出为0,当电阻R两端电压一旦超过0.632E+后,P3.6口输出电平即变为1。

以P3.6口的输出状态为依据,用AT89C2051内部的定时器T0对时间进行计数,再将计数结果显示出来即得出测量结果。

量程可分为多档,采用两位半数码管显示,单位为mH。

我们只要仿真其中的一档即可,这里取×10档进行仿真,即读数乘以10为实际电感量。

电感测试仪的源程序如下:#include <reg51.h>unsigned char j,m,n,t,DispBuf[3];unsigned int L;unsigned char codeBitTab[3]={0xdf,0xef,0xf7};//位驱动码unsigned char codeDispTab[11]={0x41,0xcf,0x52,0x46,0xcc,0x64,0x60,0x4f,0x40,0x44,0xff};//字形码sbit P1_2=P1^2;sbit P3_6=P3^6;void Delay1ms(unsigned int count) //延时程序{for(n=0;n<count;n++)for(m=0;m<250;m++);}void main() //主程序{ TMOD=0x01;//定时器T0方式1while(1) //无限循环{t=BitTab[j];//取位值P1=P1|0x38;//P1.3-P1.5送1P1=P1&t; //P1.3-P1.5输出取出的位值t=DispBuf[j];//取出待显示的数t=DispTab[t];//取字形码P3=t; //字型码由P3输出显示Delay1ms(5);j++; //j作为数码管的计数器,取值0-2,显示程序通过它确认显示哪个数码管if(j==3)j=0;TH0=0;TL0=0;P1_2=0;//测试开始TR0=1; //开定时器T0for(;P3_6==0;);//判断电阻上的电压上升到参考电压否TR0=0;//电压达到参考电压,关定时器T0P1_2=1;L=TL0|(TH0<<8);//取定时器T0中的数值L=L-3;if(L>=200){DispBuf[2]=10;DispBuf[1]=10;DispBuf[0]=1; //超量程,百位数显示1,个位、十位不显示(灭)}else //不超量程,取各位数值{DispBuf[2]=L;//取个位数L=L/10;DispBuf[1]=L;//取十位数DispBuf[0]=L/10;//取百位数}}}用Keil uVision将上述程序编译生成目标文件DGZS.hex。

电路中所使用的元件见表2。

表2名称元件种类(Category)子种类(Sub-category)单片机AT89C2051 Microprocessor ICs 8051 Family电阻器RES Resistors Generic可变电阻器POT-LIN Resistors Variable三极管2N2905 Transistors Bipolar电感器IND-AIR Inductors Generic4位共阴数码管7SEG-MPX4-CA Optoelectronics 7-Segment Displays绘制好的仿真电路图如图9。

图中添加示波器时,先左键选择模型选择工具栏中的图标,再选择OSCILLOSCOPE,并在原理图编辑窗口中左击,这样示波器就被放置到原理图中了。

由于AT89C2051的P1.0和P1.1是复用端口,除了作I/O口外,还有一个功能是作为电压比较器的输入端,P1.0为同相输入端,P1.1为反相输入端,这里作电压比较器的输入端使用,因此在设置AT89C2051的属性时要将其设置电压比较器的输入端,即Ehable Comparator选择Yes,如图10。

被测电感器的电感量定为1H。

单击开始仿真,可变电阻RP1是用来校准测量值的,按动RP1的+或-按钮,调节RP1使数码管显示100。

仿真结果见图10。

电阻R2为换挡电阻,改变它的值即可改变挡位。

2. 充电器这是用PIC12F675单片机做的充电器,能对两节镍镉或镍氢电池充电,充电器采用电压监测的方法判断充电是否结束,充电结束后能自动停止充电。

图11是电路图,图中PIC12F675的7脚作模拟信号输入端AN0使用。

单片机使用内部时钟振荡器,引脚3作充电控制电压输出端GP4使用。

相关文档
最新文档