Proteus仿真51单片机
基于Proteus的51系列单片机设计与仿真PPT课件
把单个分散控制的测量设备变成网络节点,以现场总线为 纽带,把他们连接成可以相互沟通信息、共同完成自控任 务的网络控制系统。
返回本节首页
1.1.3.3 典型应用系统
典型的较全面的单片机测控系统 系统特点 受集成度限制/系统扩展/在线控制功能强 典型通道及特点 前向通道、后向通道、人机通道
高性能化 大容量 内装化
返回本节首页
1.1.3 单片机应用领域
1.1.3.1 单机应用 1.1.3.1 多机应用 1.1.3.1 典型应用举例 1.1.3.4 应用系统设计内容
返回本章首页
1.1.3.1 单机应用
测控系统
在线控制,将计算机与控制系统组合在一起,进行实时监控, 体积小,功耗低,可靠性高;适用于单片机。
返回本章首页
1.1.1 微型计算机概述
微型计算机的发展
电子管
半导体晶体管 小规模集成电路 大规模集成电路
返回本章首页
1.1.1 微型计算机概述
微型计算机的应用 举例:.....1 单片机的特点 1.1.2.2 单片机的发展
返回本章首页
1.1.1 微型计算机概述
微型计算机的概念
微处理器(Microprocessor)又称CPU,芯片内部集成运算器和 控制器,是构成微型计算机系统和网络工作站的核心部件。 1971年Intel公司制成第一个CPU—Inter 4004
微型计算机
单片机—将CPU、存储器、I/O接口、中断系统 集成在一块芯片上,程序存放在ROM中。 单板机--将CPU、存储器、I/O接口、中断系统 集成在一块印制电路板上,程序存放在ROM中。 多板机--- 将CPU、存储器、I/O接口、中断系统 集成在多块印制电路板上,程序存放在ROM中。 微型计算机系统,在多板机基础上发展而来,有更为丰富的 软硬件资源(计算机,电脑)。
单片机KEIL51和proteus仿真软件的使用
实验:KEIL51和proteus仿真软件的使用一、实验目的1、掌握KEIL51软件的使用方法2、掌握proteus仿真软件的使用方法二、实验设备及软件1、单片机实验板2、PC机3、KEIL514、proteus三、实验任务KEILC和proteus仿真软件的使用方法四、实验步骤1、Proteus ISIS 设计单片机电路的基本步骤:(1) 新建设计文件夹或打开一个现有的设计文件。
(2) 选择元器件(通过关键字或分类检索)。
(3) 将元器件放入设计窗口。
(4) 添加其他模型(电源、地线、信号源等)和相关的虚拟仪器。
(5) 编辑和连接电路。
(6) 编写单片机所需的源程序。
(7) 加入源程序,并通过构造,得到仿真程序或目标程序。
(8) 根据需要,设置对象的属性,如将单片机的”Program File”属性设置为上述仿真调试程序或目标程序。
(9) 启动仿真功能,对电路进行仿真操作,验证其功能。
2、Keil 51基本步骤(1)单击Project菜单项,选择New Project项。
此时弹出Create New Project对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。
单击保存。
(2)根据所用的器件,选择CPU的型号,单击确定。
(3)Keil51询问是否生成默认的配置文件,这个可选可不选。
单击NO,观察项目文件管理窗口的变化。
(4)在File菜单下单击New选项,新建文件。
此时在代码窗口出现一“Text1”空白文档。
(5)在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。
注意在对文件命名时必须加扩展名.asm。
(6) 在项目导航栏中Source Group 上单击右键,选Add File to Group ‘Source Group 1’。
弹出Add File 对话框。
选中刚才保存的xxxx.asm.文件,单击Add,然后关闭对话框。
此时在项目文件管理窗口中就会出现刚才所添加的文件xxxt.asm。
Proteus仿真51单片机入门
Proteus 7 Professional仿真51单片机入门教程初学单片机时,拿着一块实验板发呆,电路也不懂、程序也不懂,只好慢慢弄,等弄懂了,实验板也差不多报销了。
而proteus 正好可以解决这个问题,它功能强大,这里只讨论仿真MCU 的功能。
它可以在原理图上仿真,不用出PCB 板,不怕你“啥弄”。
下面就先认识一下proteus.上图是启动后的画面。
我们点中的“P”后,弹出下面的画面:在里输入at89c51 后:右侧出现AT89C51,双击它,左侧空白框中出现AT89C51.左键单击它,它上面框中显示出它的原理图,把鼠标移到右侧框中,鼠标变成铅笔形状,单击左键,框中出现一个AT89C51 原理图的轮廓图,可以移动。
鼠标移到合适的位置后,按下鼠标左键,原理图放好了。
好了,一个单片机的原理图放好了。
按这个方法依次把元件led-red、res 放到右侧的框中(单片机旁)。
这张图太小了,看得不清楚,要是大的就好了。
别着急,把鼠标放在LED 旁,向前滚动鼠标中键,图像放大,向后滚动鼠标,图像缩小。
如果你的鼠标没这个键,你可以试试上面工具栏上这二个图标,也是一样的。
选择左侧工具栏上的“箭头”图标,把鼠标移到右侧的原理图中,鼠标经过元件时会就成“手形”,把鼠标移到LED-RED 上,按下左键,LED-RED 高亮显示,鼠标变成“手形”并带有方向键头。
松开鼠标后,形状没变,指着LED-RED 按住鼠标左键,移动鼠标,哈哈!元件移动了。
好了,现在你应该明白它们了吧!不用我说你应该明白刚才用到的工具的作用了。
在任何情况下,右键单击元器件时,元件会亮显示并弹出菜单:非常直观,都是一些一目了然的图标。
从上到的几个菜单分别是:移动物体、编辑属性、删除物体、顺时针旋转90 度(后面几个就不用说了吧)。
单击鼠标左键操作。
当元件高亮显示时,再右键击它,会删掉它。
把原理图中的元件摆放好。
左键单击左侧工具栏上的元件图标,把鼠标移到LED-RED引脚上,引脚上高亮的小方框,单击左键,有一条绿色的线拉出来了。
《单片机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软件进行51系列单片机仿真的制作和演示教程
用Proteus软件进行51系列单片机仿真的制作和演示过程教程一、ISIS界面简介假如读者的电脑上已成功安装了Proteus,则可以从电脑桌面的“开始”-“程序”-Proteus 6 Professional-ISIS 6 Professional,启动ISIS。
ISIS是仿真模拟设计SCH设计程序。
ISIS成功启动后的界面如图1所示,分为菜单栏、工具栏,工具箱、编辑窗口(显示正在编辑的电路原理图)、预览窗口(显示整个电路图的缩略图)、对象选择器,对象旋转工具和模拟调试时用的快捷调试按钮。
二、绘制仿真电路的原理图笔者以图2所示的电路为例,介绍电路原理图的绘制过程。
操作过程为,用鼠标左键点击工具箱的元器件“”按钮,使其选中,再选中ISIS对象选择器左边中间的“”按钮,出现“Pick Devices”对话框,如图3所示,在这个对话框里读者可以选择元器件和一些虚拟仪器。
在“Libraries”下面找到“MICRO”选项,找到单片机A T89C51,双击“A T89C51”,这样在左边的对象选择器就有了A T89C51这个元件了,点击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把A T89C51放到原理图区。
按照同样方法把所需的其它元器件都放到原理图编辑区。
元器件放置完后,若位置不合适,需要调整元器件的位置,可先通过鼠标右键选中对象,此时被选中的对象变成红色显示,再用鼠标左键点击被选中的对象不放并拖到合适的位置后再释放鼠标左键。
若要旋转对象,可在选中对象时按旋转按钮进行旋转。
若要编辑对象的属性,在对象被选中时,用鼠标左键点击对象,此时出现属性对话框,比如要改变电阻的属性,可右键选中电阻,再用左键点击被选中的电阻,出现如图4所示的对话框。
在这里我们可以改变电阻的标号,电阻值,PCB封装以及是否把这些东西隐藏等,修改后,点击“OK“按钮即可。
在Proteus,许多器件没有Vcc和GND引脚,其实它们被隐藏了,在使用时可以不加电源。
基于proteus的51单片机仿真实例八十三-PROTEUS技术交流区-PROTE...
基于proteus的51单片机仿真实例八十三-PROTEUS技术交流区-PROTE...proteus, 单片机, 实例, 仿真1、SPI总线器件与单片机的连接需要3跟线:时钟线SCK,数据线MOSI(主机发送,从机接收)和MISO(主机接收,从机发送)。
X5045是一种集合了看门狗、电压监控和串行EEPROM三种功能于一身的器件。
上电复位功能:在系统上电时产生一个足够长时间的复位信号,以确保单片机正常工作前,系统电路已处于稳定状态。
看门狗功能:如果在规定的时间内单片机没有在CS引脚产生规定的电平变化(喂狗信号),芯片内的看门狗电路将产生复位信号。
利用该功能,可让单片机死机后自动复位并开始工作。
电压检测:当电源电压下降到一定的值后,虽然单片机仍能工作,但可能已经不能稳定工作了,此时X5045将产生复位信号,直到电压恢复正常后,才能正常工作。
串行EEPROM:X5045自带512字节的数据存储空间,数据可掉电保存。
2、x5045的引脚及功能CS/WDI:片选输入端。
低电平时选中该芯片SO:串行数据输出端,数据在sck的下降沿输出WP:写保护端,该脚接地,写操作被禁止,接高电平,所有功能正常VSS:电源地SI:串行数据输入端,数据在sck的上升沿写入(高位在前)SCK:串行时钟端,RESET:复位输出端,用于电源监测和看门狗超时输出VCC:电源3、使用方法1)上电复位:当器件通电并超过规定值时,X5045内部的复位电路将会产生一个约200ms的复位脉冲,使单片机正常复位。
2)电压检测:工作过程中,X5045能不断检测VCC端的电压,在电压下降到一定值后,将产生一个复位脉冲,使单片机停止工作,这个复位脉冲一直有效,直到VCC下降到1V以下,整个系统停止工作。
如果VCC在下降后又升高,则当超过规定值后200ms,复位信号消失,单片机可以继续工作。
3)看门狗定时器:看门狗定时器电路通过检测WDI端的输入来判断单片机工作是否正常,在规定的时间内,单片机必须在WDI端口产生一个由高到低的电平变化。
proteus仿真AT89C51单片机测试试验[无须keil](1)
proteus仿真AT89C51单片机测试试验[无须keil](1)前面,我们测试了在proteus下仿真arduino的试验。
有伙伴问到proteus下的单片机仿真应该如何搭建环境(咱们这里不讲解51单片机的知识,侧重讲仿真环境的搭建),这里我们就来将详细步骤陈述一下。
一、proteus的器件选择与电路器件选择,主要是AT89C51,电容,晶振,电阻,单刀开关,led灯,BOM清单如下:元器件连接图如下,连接完成后记得在Design下面设置一下电源将使用默认的电源连接勾上,如下图,否则就有可能会报错接下来我们来编写C代码,代码其实很简单,但我们必须首先配置好环境,否则不能编写代码,首先右键单击51芯片,选择右键菜单中的“edit source code”,进入新固件工程对话框,如下图:点击编译器按钮进入编译器配置对话框,将我们使用的单片机编译器进行配置:请伙伴们注意,这里我们采用Keil for 8051编译,那么我们就必须在上述图中写入我们安装的keil的安装目录,然后一定记得点击下面的check按钮,这样才能配置成功。
配置成功后,点击ok则可以直接进入代码编辑界面,并且系统自动为我们配置好了头文件,这个比keil更加方便(如果在keil中必须手动配置头文件以及添加主程序的c文件),如下图:我们为这个程序添加一个延时程序,代码很简单:void delay(int x) { unsigned char i=x; unsigned char j=x; while(--i); while(--j); }•1•2•3•4•5•6•7•1•2•3•4•5•7接下来,我们就可以在主程序中调用了,完整的程序如下:#include <reg51.h>#define LED_pinP1void delay(char x);void main(){while(1){LED_pin=0x00;delay(1000);LED_pin=0xC;delay(2000);}}void delay(int x){unsigned char i=x;unsigned char j=x;while(--i);while(--j);}•1•2•3•5 •6 •7 •8 •9 •10 •11 •12 •13 •14 •15 •16 •17 •18 •19 •20 •21 •22 •23 •24 •1 •2 •3 •4 •5 •6 •7 •8 •9•11•12•13•14•15•16•17•18•19•20•21•22•23•24这里的LED_pin的设置我们可以根据电路图来设置,很显然,我们将LED接在了P3的3、4号管脚上了,那么我们要使LED灯亮,则按照二进制的配置应该是00001100,置为高电平1为灯亮,所以我们将这个数字表述为16进制就是0xc了。
基于proteus的51单片机仿真
基于proteus的51单片机仿真实例及应用开发说明一、单片机系统的开发流程1、搭建硬件电路;2、编写控制程序;3、将程序“装”到单片机里面;4、运行单片机系统,并检查、调试运行结果。
二、学习单片机的基本条件单片机是一门实践性很强的技术,它牵涉到软件和硬件的学习。
软件指的是单片机控制程序;硬件则是保证单片机运行的基本电路。
无论是程序设计还是电路设计,都需要经过大量的实践练习才能够准确理解和熟练掌握。
1、软件条件:单片机软件的开发流程是:1)编写控制程序;2)对程序进行编译、排错、仿真、调试;3)生成可以用特定软件能烧写到单片机里面的二进制或十六进制文件。
一般的单片机的软件开发用到以下软件:程序编写、编译软件(其中用到最广泛的Keil51):用来编写、编译单片机的控制程序(其中用到最广泛的是AVR fighter或者是STCISPV38A);仿真软件:proteus软件能很好地模拟展示单片机程序是否完成了既定功能;2、硬件条件:程序编写调试完成后,需要在硬件系统中运行,才能够组成一个完整的单片机系统。
一般的必备硬件有:编程器:用来将程序烧录到单片机中的工具;单片机学习板:用来演示和检验单片机系统是否实现了既定功能。
三、对于单片机的硬件电路的设计需要指出的是,单片机的硬件电路是千差万别的,尤其是在制作电路板的时候,牵涉到元器件的布局、走线、抗干扰等多种环境问题,所以单单依靠一个仿真软件是很难真实模拟单片机系统的工作的。
所以在这里的学习,只是作为一种辅助开发的手段,我们可以先将我们的电路和程序在该软件上进行验证,验证通过后在制作电路板进行实际验证。
四、下面简单地对proteus软件的入门进行以下介绍PROTEUS软件是英国Labcenter electronics公司研发的EDA工具软件。
它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。
是目前同类软件中最先进、最完整的电子类仿真平台之一。
Proteus仿真--51单片机串口转RS232
Proteus仿真——51单片机串口转RS232口单片机串口是单片机通信的基本途径,可以进行多单片机间的通信,也可以通过接口转换实现与计算机间的通信。
其中与计算机通信可以通过计算机的串口(232口)或USB口实现。
本文是本人做的一个小实验,内容是在Proteus ISIS中仿真51单片机串口转RS232口,实现单片机通过串行口与计算机通信。
单片机串行口有四种不同的工作方式:方式0:移位寄存器输入/出方式,波特率固定为:fosc/12。
方式1:10位UART(通用异步接口电路),一帧数据包括1位起始位(0),8位数据位和1位停止位(1)。
波特率可变,公式为:其中X为定时器T1的初值,当然我们一般都是先确定波特率然后算初值的,所以我们更想知道X等于多少。
把上面的式子变一下就可以得到初值X了:方式2/3:这两种方式都是11位的UART,它们比方式1多了一个第9位数据。
他们不同的是:方式2波特率固定为fosc/32或fosc/64,由SMOD位决定。
方式3:波特率同方式1;本例中采用方式1,波特率为9600(计算机默认值),根据波特率算出初值X=253(定时器T1工作方式2)。
我们以9600的波特率向计算机循环发送00H;proteus中的接口转换电路如下:计算机端用串口调试软件接收;不过我们要说明一下,为了实现串口的连接,我们要用计算机串口模拟软件模拟出两个232口,模拟出的这两个232口是设计为连接着的。
我们用Virtual Serial Port Driver这个软件(到网上去搜,很容易找到)。
安装好后打开,界面如下:在上图里可以看出我的机器有一个物理口COM1,现在已经模拟出了两个口COM2和COM3,而且他们是一组是连接着的。
我们在proteus中的compim默认是连到com1的,在我们这边改成com2,然后在串口调试软件中测试com3,如下两个图现在硬件连接已经到位,下面就是软件了:通过串口以波特率为9600的速度发送00H,程序如下:ORG 0000HLJMP STARTORG 0030HSTART: SETB EASETB ESSETB ET1CLR SM0;串行口工作于方式1:sm0=0,sm1=1SETB SM1MOV PCON,#00H;波特率不加倍MOV TMOD,#20H;T1定时器方式2MOV TL1,#253MOV TH1,#253SETB TR1MOV A,#00HLOOP: MOV SBUF,AJNB TI,$;等待发送完CLR TI;清除中断标志LJMP LOOP;循环END结果如下:说明一下:发送00H,收到FFH是因为电平转换电路MAX232对数据进行了取反。
7基于proteus的51单片机仿真实例六、运行你的第一个仿真实例
基于proteus的51单片机仿真实例六、运行你的第一个仿真实例
1、在第三节,我们实现了利用keil c51创建一个新的项目,并且项目编译后生成了一个能够烧入单片机的.hex格式的十六进制文件。
在第四和第五节,我们完成了在proteus里面建立第一个单片机系统电路图。
在这一节,我们将把这两者联系起来,实现运行我们的第一个仿真实例。
2、在上一节,我们创建了如下图所示的电路图
3、现在我们将第三节编译生成的.hex文件“装入”单片机中,将鼠标移动到at89c51上面,单击鼠标右键,选择“编辑属性”选项,将我们在第三节编译生成的.hex文件“装载”单片机中,并设置晶振频率为11.0592MHz。
到如下图所示,
3、设置完成后,单击仿真运行按钮,系统就会自动启动仿真,仿真启动、停止操作按钮如下图所示
本例的仿真效果如下图所示,我们看到,LED灯变黄了(即被点亮了),这就说明我们的程序和电路图都是正确的。
PROTEUS 51单片机的电路仿真
s LPI 6= 16I bi P s n PL 7 P l7- h =
单片机 的 电路仿 真
邓力 桂林 电子科 技 大 学
v i d l t ( tc u t od e y i i o n) a me n v i a (ed od m i r i) n
P i tve Mod l r mi i 、 e ,Sc e h matc i Mo l de 、
Il 2 ’ =1 E
d !yh e 0 ) ea tn ( 0 } 5
}l3 ; ] =1
dl t ( 0I ea i 5 ) y me 0
PL4 。 -l
d yL ( 0 ) ea i 5 0 l me
v i ea t ei tC U [ od d ly i ( O U ) m n
I
I
itj kl n ,
whl( K  ̄ i C R eO
! O =)
f】 = ; O j ) 0( 0 j ; _ j <l 一} frk 0 k 2 kf o (= t<7 t }
i() l1 e
Pl= x 0 =O 0 。
d l tn (0 e y i e50 a l d l t e5 0I e y i (0 ) a m
PI =I I I
d lyi ( 0 ea t 5 ) me 0
芯片的字符 L D,基于 T6 6 C 芯片的 C 93 点阵 L CD, I C 存 储 器 RAM .P D 2 L 拳主通 过跑 马灯的 实制夼 拓 了p 0ES的单片 grI j 等,选屿 丰宦 的元器件使得 PROTEUS 机佑鼻 瘟 用.提 出 了特 P O E S K l 行关 E T U 和 el 进 不仅 适合单 片机八 f ,也同样 可以 用于 ] 联 调 试 的 方 法 嘲霸圈冁—基磨露蔼震鲢 孽 I单片 机开发 其 最大的特 色在 色能 够 仿 真基 于微 控制 器的设 计系统 。有 比较 P O U {K ‘  ̄ T S 酣 单片机 恬嘉 E 丰富的元器件模型 .P O U J 很方 R TE S口以 蠛曛圈 职啊酗寡离 照嘲 便地与 KeiC l集成开发环境连接 ,程 i 5 I ' s )p r № i r dcd h 卸 邮ctO n I e ,  ̄ n o g e t e t l In f a o PJT U P ES 3 螂 咖 ea p f te lh o D x m l o h i t fhI e g 序编译好之 后,立即町以进行软 、硬件结 台的 系统 份真 。 f ,融讲 『 嘲 I I g佃 c,y o P O E S a RZ ar n R T U e ' s P T S中火多数器什都是呵以仿 RO EU te∞Ⅱ啪 n 如9 t ty恤 t0 . h n 4 " o r hd I T 暖啊 嚆豳——■葩鞭 埔电 f真的 ,那怎 幺匿分哪 些是 不 n以 仿真的 呢? P ROTE US中有四种 仿真 模型.即 p O ES { } R TU ; 蛳 靳 州 I 】 n_ m
51单片机制作的电子时钟的proteus仿真
通过proteus仿真51单片机制作的电子钟----------by lyz这是一个利用proteus仿真简易电子钟的例子,通过c51单片机和一块1602液晶显示屏来工作,十分简单,这样的实践是初学者不错的练习。
第一步:首先,点开isis.exe(切记不是ARES.EXE),如图1通过proteus把原理图布好。
单片机可以选用AT89c51,液晶显示可通过搜索关键字LM016L得到。
由于本电路选用P0口,因此加上了RP1排阻作为上拉电阻。
图1第二步:编写程序如下,时间略有误差(us级),可通过keil中的debug调试地更为精确:#include<reg52.h>typedef unsigned char uchar;typedef unsigned int uint;sbit rs=P3^2;sbit wr=P3^3;sbit lcden=P3^4;uchar timecount=0;void delay(uint i){uint a,b;for(a=i;a>0;a--)for(b=10;b>0;b--);}/********************1602*****************/ void write_com(uchar com){P0=com;rs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void write_date(uchar date){P0=date;rs=1;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void init(){wr=0;write_com(0x38);delay(20);write_com(0x0f);delay(20);write_com(0x06);delay(20);write_com(0x01);delay(20);}/*********************************************************主函数**********************************************************/void main(){uchar a,second=0,minute=0,hour=0;uchar table[8];TMOD|=0x01; //定时/计数器0工作于定时器模式,方式1TH0=(65536-5000)/256;TL0=(65536-5000)%256; //50ms定时常数EA=1; //开总中断ET0=1; //允许定时/计数器0 中断TR0=1; //启动定时/计数器0 中断P0=0;P2&=0x1F;init();while(1){if(timecount>19) //*****20乘50为1000ms {timecount=0;second++;}if(second==60){second=0;minute++;}if(minute==60){minute=0;hour++;}if(hour==24){hour=0;}table[0]=hour/10+48; //***数字加上48对应的它的ascll码,用来显示在液晶上table[1]=hour%10+48;table[2]=58; //***58对应冒号table[3]=minute/10+48;table[4]=minute%10+48;table[5]=0;table[6]=second/10+48;table[7]=second%10+48;write_com(0x80);delay(20);for(a=0;a<8;a++){write_date(table[a]);delay(20);}}}/*********************************************************中断服务函数**********************************************************/void Time0(void) interrupt 1 // using 0{TH0=(65536-5000)/256;TL0=(65536-5000)%256; //50ms定时常数timecount++;}/*********************************************************/第三步:双击电路图中的单片机,如下添加hex文件。
使用软件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单片机的设计仿真方法
本科毕业设计论文基于PROTUES的数控直流源的仿真方法****:**班级:电信062学号:**************:***所在单位:电气工程学院答辩日期:2010年 6月 21日摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域。
本系统以AT89S51单片机作为系统的核心,由D/A数字模拟转换模块、按键、LED串口显示模块等模块组成一个数控电源。
具体介绍应用Proteus的ISIS软件进行单片机系统的数控电源设计与仿真的实现方法。
本系统由单片机程控输出数字信号,经过D/A转换器(AD0832)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电压的变化而输出不同的电压。
仿真结果表明,本系统实际应用于需要高稳定度小功率恒压源的领域。
关键词:单片机;数控电源;D/A;直流电源;Proteus;AbstractIn recent years, with computers in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in various fields.The AT89S51 SCM is the heart of the NC Power,which is made up of Digital-analog converter module,key module and LED display module.Describes the application of Proteus's ISIS software of the numerical control power source to achieve the design and simulation methods in details. This system consists of microcontroller program output digital signal, through D/A converter (AD0832) output analog amplifier, through isolating amplifier output power, control of base, with the power to change the passive tube voltage output of different voltage. Test results show that this system application in need of high stability of small power constant-voltage source fields.Key words:Microcontroller ;numerical control power source;D/A;direct-current power supply Proteus;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1课题背景和研究意义 (1)1.2 本文研究内容 (1)第二章整体方案设计与主要器件选择和介绍 (3)2.1 整体方案论证 (3)2.2 整体方案设计 (3)2.3单片机的选择 (3)2.4 89S51芯片内部结构简介 (5)2.5数模转换器D/A的选择与介绍 (8)2.6 可调稳压芯片的选择与介绍 (9)第三章数控直流源的硬件设计 (10)3.1 最小系统设计 (10)3.2 DAC0832及其外围电路 (11)3.3 D/A 转换的计算 (11)3.4 LED数码管显示模块 (12)3.5 键盘控制电路 (14)3.6 稳压输出电路设计 (15)3.7数控直流源的整体原理图 (16)第四章数控直流源的软件设计 (17)4.1 开发工具介绍 (17)4.2系统软件设计流程图 (18)4.3 主程序和中断程序设计 (19)第五章系统仿真 (21)5.1 PROTUES软件介绍 (21)5.2 PROTEUS软件的强大功能 (21)5.3用PROTEUS绘制电路图 (22)5.4 PROTEUS和KEIL编译器的结合使用 (22)5.5 数控直流源系统PROTUES仿真 (24)第六章调试与功能说明 (25)6.1系统性能测试与功能说明 (25)6.2系统数据分析 (25)6.3软件调试问题及解决 (25)结论 (26)致谢 (27)参考文献、资料索引 (28)附录一:源程序 (29)第一章绪论1.1课题背景和研究意义单片机技术作为计算机技术的一个分支,广泛地应用于工业控制、智能仪器仪表、电机一体化产品、家用电器等各个领域。
基于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系列单片机设计与仿真
————沈阳理工大学装备工程学院
基于proteus的51单片机仿真实例四、第一个proteus仿真实例
基于proteus的51单片机仿真实例四、第一个proteus仿真实例现在来做第一个基于proteus的仿真实例,同时也了解、熟练一下proteus的使用方法1、打开proteus的智能原理图输入系统ISIS,进入工作环境,2、这个实例中,我们建立如下的电路图。
下面就开始一步一步的实现这个目标吧。
3、单击菜单栏“文件”--“新建设计”选项,弹出模板选择窗口,如下图所示,选择默认模板“DEFAULT”,选择“OK”按钮,即可创建一个新的设计文件。
4、文件创建成功后,要养成立即保存的习惯。
点击“保存”选项,选择保存的路径和文件名。
5、元件的选取。
操作步骤如下图6、点击“P”按钮后,弹出元器件选择对话框。
元器件的选取有两种方法:输入关键字查找、在分类元件中查找。
如下图所示7、添加单片机,在关键字文本框中输入“at89c51”,然后从搜索结果中选择所需要的型号,如下图所示。
选中元件后双击该元件名,该元件就被自动添加到对象选择器。
8、添加电阻。
输入关键字“resistors 470r”,搜索结果栏中将显示所有的匹配元件。
在这里我们选择参数为470R,0.6W的电阻,双击元件名将其添加到对象选择器中。
用同样的方法添加10K电阻(0.6W)到对象选择器中。
9、添加发光二极管。
输入关键字“led-yellow”,在搜索结果栏中选择所需的发光二极管,双击将其放入对象选择器。
10、添加晶振。
输入关键字“cycrtal”,结果搜索栏内只有一种晶振类型,双击将其加入对象选择器。
11、添加电容。
添加33P电容:输入关键字“capacitors”,在搜索结果栏内列出了各种类型的电容,接着输入“33pF”。
则列出各种33pF的电容,选择耐压为50V的电容,双击将其加入对象选择器。
添加10U电容,输入关键字“capactions 10u”,选择“50V radial electrolytic”(圆柱形电解电容),双击将其添加到对象选择器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一 概述
Proteus软件是英国Labcenter electronics公司出版的 EDA工具软件。它不仅具有其它EDA工具软件的仿真功
能,还能仿真单片机及外围器件。它是目前最好的仿真单
片机及外围器件的工具。
第一个实验
用proteus实 现这个实验
用 开关K0 控制 灯L0 的亮/灭。 取一根连接线连接P10和L0,另取一根连接线连接P11和K0,打 开实验箱电源。
4. 仿真并查看结果
单击
开始仿真,单击
19
停止仿真。
U1
XTAL1 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 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
(3)放置电源和地
切换到“终端模式”下,选择电源和接地,POWER、 GROUND,放置到原理图编辑窗口中了,并右键编辑属性,
标号栏选择为VCC、GND。
(4)元器件之间的连线
单击鼠标左键,移动鼠标,靠近连接点时,可以完成自动连
线。ESC键或者单击鼠标的右键来放弃画线。
U1
19 XTAL1 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 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
2 用Proteus实现51单片机
实验步骤: (1) 用Proteus绘制原理图;
(2) 用Keil编写程序,并生成二进制文件(HEX);
(3) 将HEX文件装载到仿真软件; (4) 仿真并查看结果; (5) 实现Keil与Proteus的联调。
1. 用Proteus绘制原理图
U1
19 XTAL1 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 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
18
XTAL2
9
RST
R1
10k
L0
29 30 31 PSEN ALE EA
K0
R2
300
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
(1)将所需元器件加入到对象选择器窗口
本例要用到的元件有:AT89C51、 电阻(RES)、开关 (SW)、发光二极管(LED) 在“元件模式” 示 下,单击对象选择器按钮 ,如图所
最终结果:
(2)放置元器件至图形编辑窗口
在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑 窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。 同理,将其他器件放置到图形编辑窗口中。如图所示。
对象位置可以移动,可以旋转,可以改变属性等。将鼠标移 到该对象上,单击鼠标右键,此时我们已经注意到,该对象 的颜色已变至红色,表明该对象已被选中,调整好各器件的 位置和方向,修改各器件的属性值。
弹出“Pick Devices”页面,在“关键字”输入AT89C51, 系统在对象库中进行搜索,并将搜索结果显示在“结果” 中,如图所示。
在“结果”栏中的列表项中,双击“AT89C51”,则可将 “AT89C51”添加至对象选择器窗口。然后用同样的步骤添加 其他器件,完成后单击“OK”按钮,结束对象选择。
AJMP MAIN
LIGHT: CLR P1.0 AJMP KEY
;如键没按下,再准备检测
;灯点亮
END
3. 将HEX文件装载到仿真软件
双击AT89C51,或者右击AT89C51,选择Edit Properties,出 现如图所示窗口:单击 出现文件浏览对话框,找到*.hex 文件,单击确定完成。
18
XTAL2
9RSTR11kL029 30 31 PSEN ALE EA
K0
R2
300
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
2. 用Keil编写程序并生成二进制文件(HEX)
ORG 0000H MAIN: SETB P1.1 JNB SETB P1.0 ;将P1.2置位高电平 ;灯灭 P1.1, LIGHT ;检测开关状态
18
XTAL2
9
RST
R1
10k
L0
29 30 31 PSEN ALE EA
K0
R2
300
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