单片机proteus电源电路怎么连电路让风扇转?

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
[精品]基于Proteus的单片机汉字点阵显示电路设计
下载积分:420
内容提示:[精品]基于Proteus的单片机汉字点阵显示电路设计
文档格式:PDF|
浏览次数:0|
上传日期: 03:21:44|
文档星级:
该用户还上传了这些文档
[精品]基于Proteus的单片机汉字点阵显示电路设计
官方公共微信proteus单片机最小系统电路
包括4*4按键
数码管显示 - 下载频道 - CSDN.NET
&&&&proteus单片机最小系统电路
包括4*4按键
数码管显示
&proteus单片机最小系统电路
包括4*4按键
数码管显示
此电路包括了4*4按键的电路 数码管显示模块 可以完成对单片机的一些小实验基本的程序的调试,对初学单片机及Proteus的人是一个很好的工具。让您节省连接电路的时间。简洁方便。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
评价资源返积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
proteus单片机最小系统电路
包括4*4按键
数码管显示
所需积分:5
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:基于单片机的交通灯的设计(有proteus仿真源图)基于,仿真,设计,单片机,灯设..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于单片机的交通灯的设计(有proteus仿真源图)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口用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
流水灯使用AT89C51单片机,用P2口作输出口。先在Keil uVision编译器中输入下列程序:
#include &reg51.h&
void Delay1ms(unsigned int count)//延时子程序
&& unsigned int i,j;
for(i=0;i&i++)
for(j=0;j&120;j++);
main() //主程序
&& unsigned char LEDIndex =
&& bit LEDDirection = 1;
&& while(1)
if(LEDDirection)
P2 = ~(0x01&&LEDIndex);
P2 = ~(0x80&&LEDIndex);
if(LEDIndex==7)
LEDDirection = !LEDD
LEDIndex = (LEDIndex+1)%8;
Delay1ms(200);
将上述程序编译生成目标文件LED.hex。
然后按下列步骤进行:
运行Proteus 7 Professional(ISIS 7 Professional)
出现如图1所示的界面:
这是一种标准的Windows界面,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
2.添加元件到对象选择器元件列表中
单击绘图工具栏中的按钮,再单击对象选择按钮P,出现挑选元件对话框,见图2。按表1添加本例所用的元件。
种类(Category)
子种类(Sub-category)
Microprocessor ICs
8051 Family
Switches & Relays
Capacitors
电解电容器
Capacitors
发光二极管
Optoelectronics
Miscellaneous
如果一开始对种类不熟悉,可直接在对话框的KEYWORDS中输入元件的名称如AT89C51、CAP等,就可以直接找到所需的元件,如图3。
3.放置元件
在元件列表中左键选取AT89C51,在原理图编辑窗口中适当的位置单击左键,这样AT89C51就被放到原理图编辑窗口中了,同样放置其它元件。两次右击可以删除放置的元件,右击选中元件后按方向控制按钮可改变元件的方向。右击选中元件后再按住左键可移动元件位置。
4.放置“地”、“电源”
添加“地”:左键选择模型选择工具栏中的 图标,在图5中左键选择
GROUND,并在原理图编辑窗口中左击,这样“地”就被放置到原理图编辑窗口中了。
同样地,选择POWER可放置“电源”。
5.编辑元件的属性
右击选元件后再左击即可编辑元件的属性,也可以右击后在快捷菜单中选择命令Edit Prorerties。如R1的属性窗口如图6。
在对AT89C51的属性进行编辑时要加入仿真文件,在Program
File中单击出现文件浏览对话框,找出LED.hex文件,单击确定完成添加文件,单击OK退出。
在要连线的一个点左击,移动鼠标到到另一个点再左击即可画好一条连线,按 放置导线连接结点,画好连线的仿真电路图见图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的串联回路上,这时回路中电流IL由零开始逐渐增加,在电阻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 code
BitTab[3]={0xdf,0xef,0xf7};//位驱动码
unsigned char code
DispTab[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&n++)
for(m=0;m&250;m++);
void main()& //主程序
TMOD=0x01;//定时器T0方式1&
while(1)& //无限循环
t=BitTab[j];//取位值
P1=P1|0x38;//P1.3-P1.5送1
P1=P1&t;&&
//P1.3-P1.5输出取出的位值
t=DispBuf[j];//取出待显示的数
t=DispTab[t];//取字形码
P3=t; //字型码由P3输出显示
Delay1ms(5);
j++;& //j作为数码管的计数器,取值0-2,显示程序通过它确认显示哪个数码管
P1_2=0;//测试开始
TR0=1; //开定时器T0
for(;P3_6==0;);//判断电阻上的电压上升到参考电压否&&&&&&&
TR0=0;//电压达到参考电压,关定时器T0
L=TL0|(TH0&&8);//取定时器T0中的数值
if(L&=200)
&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
DispBuf[2]=10;
&&&&&&&&&&&&&&&&&&&
DispBuf[1]=10;
&&&&&&&&&&&&&&&&&&&
DispBuf[0]=1;& //超量程,百位数显示1,个位、十位不显示(灭)
&&&&&&&&&&&&
else& //不超量程,取各位数值
&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
DispBuf[2]=L;//取个位数
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
DispBuf[1]=L;//取十位数
&&&&&&&&&&&&&&&&&&&
DispBuf[0]=L/10;//取百位数
用Keil uVision将上述程序编译生成目标文件DGZS.hex。
电路中所使用的元件见表2。
种类(Category)
子种类(Sub-category)
Microprocessor ICs
8051 Family
可变电阻器
Transistors
4位共阴数码管
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为换挡电阻,改变它的值即可改变挡位。
这是用PIC12F675单片机做的充电器,能对两节镍镉或镍氢电池充电,充电器采用电压监测的方法判断充电是否结束,充电结束后能自动停止充电。
图11是电路图,图中PIC12F675的7脚作模拟信号输入端AN0使用。单片
机使用内部时钟振荡器,引脚3作充电控制电压输出端GP4使用。S为复位开关,复位开关主要在重新放上电池后使用。
接上电源后,PIC12F675的GP4输出低电平,三极管VT1饱和导通,两节电池开始充电。随着电池电压的上升,输入到单片机的模拟电压也不断升高,当电压大于预定的设定值3V时,GP4输出高电平使VT1截止,电池停止充电,并自锁在这一工作状态,即使电池在停止充电后电压略有下降也不会重新进行充电。
在PIC单片机的MPLAB IDE编译器中输入下列程序:
#INCLUDE "P12F675.INC"
W_TEMP&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&
MOVLW&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
&&&&&&&&&&&&&
MOVLW&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
&&&&&&&&&&&&&
BSF&&&&&&&&&&&&&
STATUS,RP0
&&&&&&&&&&&&&
MOVLW&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
&&&&&&&&&&&&&
MOVLW&&&&&
B''&&&&&&&
&&&&&&&&&&&&&
MOVLW&&&&&
B''&&&&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
OPTION_REG
&&&&&&&&&&&&&
BCF&&&&&&&&&&&&&
STATUS,RP0
&&&&&&&&&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&
BTFSC&& SW,0
&&&&&&&&&&&&&
GOTO&&& LOOP
&&&&&&&&&&&&&
MOVLW&&&&&
&&&&&&&&&&&&&
MOVWF&&&&&
&&&&&&&&&&&&&
BSF&&&&&&&&&&&&&
ADC&&&&&&&&&&&&
BTFSS&& PIR1,ADIF
&&&&&&&&&&&&&
GOTO&& ADC
&&&&&&&&&&&&&
MOVF&& ADRESH,0
&&&&&&&&&&&&&
SUBWF TEMP,0
&&&&&&&&&&&&&
BTFSC& STATUS,C
&&&&&&&&&&&&&
GOTO&& LOOP
&&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&
GOTO&& LOOP
然后编译生成目标文件charger.hex。
对充电器仿真时有一个难点,就是Proteus元件库中没有可仿真的充电电池,它的电池元件加上充电电流后电压不会上升,为此可在电池上串一只可变电阻,这样改变可变电阻的大小就可以就可以改变充电回路两端的电压,用来模拟电池电压的变化。
电路中所使用的元件见表3。
种类(Category)
子种类(Sub-category)
Microprocessor ICs
PIC12 Family
可变电阻器
Transistors
Switches & Relays
发光二极管
Optoelectronics
Miscellaneous
绘制仿真电路图时添加直流电压表和上例中选择示波器类似,先左键选择模型选择工具栏中的 图标,再选择DC
VOLTMETER即可。
将可变电阻器RP1滑动触点调到中点以下的位置单击 开始仿真,仿真结果见图12。
RP1的滑动触点向上调节,电压表的读数会逐渐上上升,当读数大于3V时,会停止充电,发光二极管VD1熄灭,电压表的读数恢复为2.5V,这时即使我们把RP1
滑动触点调到中点以下也不会重新充电,只有按一下复位键S1才会重新充电。
电机调速控制器
直流电机的调速主要调整其工作电流,通常有两种方式:一种是在电机供电电路中串接一个可变电阻,通过改变可变电阻的阻值调节工作电流,从而调节转速;另一种方法是在直流电机上加直流脉冲电压,通过改变脉冲直流电的占空比来调节转速。前一种方法因为可变电阻上有压降要损耗功率,所以效率不高,只有用小功率直流电机时使用,后一种工作效率高,如目前的电动自行车都采用这种调速方式。
下面用AVR单片机ATmega8设计一个电机调速控制器,使其定时/计数器T/C1工作在PWM模式,作为PWM脉宽调制器。
在ICCAVR编译器中输入下列程序:
#include &iom8v.h&
#define uchar unsigned
char&&&&&&&&&&&&&&&
&&&&&&&&&&
void DelayMs(char
i)&&&&&&&&&&
&for(;i!=0;i--)
& {for(j=143;j!=0;j--);}
#pragma interrupt_handler INT_0:2
void INT_0(void)
&if(k!=250)
&OCR1A=k; //设置PWM参数
&DelayMs(100);
#pragma interrupt_handler INT_1:3
void INT_1(void)
&OCR1A=k; //设置PWM参数
&DelayMs(100);
void main(void)
&DDRD=0X00;&&&&&&&&&&&&&&&&
&PORTD=0 //设置PD口为带上拉电阻的输入口
&DDRB=0& //设置PB口为推挽1输出
&SREG=0x80;& //开全局中断
&GICR=0xc0;& //开外部中断
&TCCR1A=0xc1; //8位PWM,向上计数置位OC1A,向下计数清零OC1A
&TCCR1B=0x01; //时钟1分频,PWM信号频率为1M/512=2KHz
&OCR1A=k; //设置PWM参数
&while(1);
编译生成目标文件djts.hex。
电路中所使用的元件见表4。
种类(Category)
子种类(Sub-category)
Microprocessor ICs
AVR Family
Transistors
Switches & Relays
Miscellaneous
Electromechanical
绘制好仿真电路图,仿真结果见图13。
当按下S1时,PB1输出PWM信号占空比减小,电机速度减小;当按下S2时,PB1输出PWM信号占空比增加,电机速度增加。从示波器上可以看到PWM信号占空比在调节时的变化。
4. 智力竞赛抢答器
用单片机AT89C51做一个抢答器,供8组抢答,当主持人按一下开始键后即可开始抢答,当某一组按下抢答键后,其它各组的按键被锁定,主机上的数码管显示相应的组号,同时该组桌上的发光二极管也点亮,并发出1秒钟的报警声,数码管和发光二极管的显示时间为5秒钟。
&&& 在Keil
uVision编译器中输入下列程序:
#include &reg51.h&
unsigned char n,i;
unsigned long int m,t;
sbit S1=P0^0;
sbit S2=P0^1;
sbit S3=P0^2;
sbit S4=P0^3;
sbit S5=P0^4;
sbit S6=P0^5;
sbit S7=P0^6;
sbit S8=P0^7;
sbit VD1=P1^0;
sbit VD2=P1^1;
sbit VD3=P1^2;
sbit VD4=P1^3;
sbit VD5=P1^4;
sbit VD6=P1^5;
sbit VD7=P1^6;
sbit VD8=P1^7;
sbit SOUND=P3^0;
sbit START=P3^1;
void delay(t) //延时子程序
& for(;t&0;t--)
for(i=0;i&250;i++);& }
void main() //主程序
& while(1) //无限循环
&& if(START==0)//若开始键按下
while(n==0)//若n=0,循环执行
if(S1==0)//若S1按下
& {VD1=0;P2=0x79;n=1;} //发光二极管VD1点亮,数码管显示1
if(S2==0)&&&&&&&&
//若S2按下
& {VD2=0;P2=0x24;n=1;}&
//发光二极管VD2点亮,数码管显示2
if(S3==0)&&&&&&&&
//若S3按下
& {VD3=0;P2=0x30;n=1;}&
//发光二极管VD3点亮,数码管显示3
if(S4==0)&&&&&&&&
//若S4按下
& {VD4=0;P2=0x19;n=1;}&
//发光二极管VD4点亮,数码管显示4
if(S5==0)&&&&&&&&
//若S5按下
& {VD5=0;P2=0x12;n=1;}&
//发光二极管VD5点亮,数码管显示5
if(S6==0)&&&&&&&&
//若S6按下
& {VD6=0;P2=0x02;n=1;}&
//发光二极管VD6点亮,数码管显示6
if(S7==0)&&&&&&&&
//若S7按下
& {VD7=0;P2=0x78;n=1;}&
//发光二极管VD7点亮,数码管显示7
if(S8==0)&&&&&&&&
//若S8按下
& {VD8=0;P2=0x00;n=1;}&
//发光二极管VD8点亮,数码管显示8
for(m=0;m&1000;m++)&&&
//发出1秒报警声
& SOUND=!SOUND;
& delay(1);
delay(5000); //发光二极管、数码管继续点亮5秒
将上述源程序编译生成目标文件vie_answer.hex。
电路中所使用的元件见表5。
种类(Category)
子种类(Sub-category)
Microprocessor ICs
8051 Family
Transistors
共阳数码管
7SEG-COM-ANODE
Optoelectronics
7-Segment Displays
Speakers & Sounders
绘制好仿真电路图,设置好有关元件的属性,仿真后先按一下开始按钮S9,再按一下S1~S8中的任一个按钮比如S6,仿真结果见图14。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 proteus 单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信