proteus下控制LED灯
- 格式:docx
- 大小:33.31 KB
- 文档页数:6
实验二 P1口控制LED发光二极管一、实验目的1、进一步熟练Proteus及Keil软件的基本操作2、掌握8051单片机P1口的使用方法3、掌握LED发光二极管的原理及使用方法4、学习汇编程序的调试及仿真方法二、实验电路三、实验内容及步骤:要求:8个LED发光二极管循环左移显示(发光的移位),间隔时间为一秒。
1、使用Proteus画出电路原理图2、在Keil uVision中完成程序编辑、调试及编译,生成.HEX文件3、进行Protues与Keil uVision联动的相关设置:4、在Proteus中仿真运行。
四、思考1、将本实验的实验现象改为“不发光二极管循环移位”。
2、将本实验的实验现象改为“每隔0.5秒发光二极管循环移位”。
参考程序:ORG 0LJMP MAINORG 30H MAIN: MOV A,#0FEH LOOP: MOV P1,ALCALL DELAYRL ASJMP LOOP DELAY: MOV R7,#20H DELAY1:MOV R6,#200 DELAY2:MOV R5,#123DJNZ R5,$DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND实验三数码管静态显示实验一、实验目的1、进一步熟悉51系列单片机2、了解8051单片机P0口的使用方法3、掌握共阴极数码管的原理及使用方法4、学习8051的编程、调试、编译、仿真。
二、实验电路图3 数码管静态显示电路原理图注:数码管要从元件库选择Optoelectronics类中的7SEG-COM-CAT-GRN。
三、要求及步骤:要求:在七段数码管上以递增方式循环显示数字0—9,间隔时间为一秒。
1、使用Proteus画出电路原理图2、在Keil uVision中完成程序编辑、调试及编译,生成.HEX文件3、进行Protues与Keil uVision联动的相关设置:4、在Proteus中仿真运行。
四、思考1、为什么要将P0口各引脚通过电阻R3-R9接到电源?2、如何在共阴数码管上循环显示十六进制数字0—F(不区分字母的大小写)?3、怎样修改程序使数字以递减方式循环显示?4、若用共阳极数码管应如何修改电路和程序,才能完成本实验的功能?参考程序:ORG 00HLJMP STARTORG 30HSTART: MOV DPTR,#TABLES1: MOV R4,#00HS2: MOV A,R4MOVC A,@A+DPTRMOV P0,ALCALL DELAYINC R4CJNE R4,#0AH,S2SJMP S1DELAY: MOV R5,#20 ;延时子程序D2: MOV R6,#200D1: MOV R7,#123DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE: DB 3FH,06H,5BH,4FH,66H ;段码表DB 6DH,7DH,07H,7FH,6FHEND实验四基本输入/输出实验一、实验目的1、进一步熟悉8051单片机并行I/O口的使用方法3、掌握并行I/O口输入/输出操作的方法4、学习8051的编程、调试、编译、仿真。
结合proteus实现路路彩灯—电路仿真实验路灯是城市道路的重要设施之一,可以提供夜间行车和行人活动的安全保障。
随着科技的不断发展,彩灯逐渐取代传统的白灯,给城市增添了一抹亮丽的色彩。
在本文中,我们将结合Proteus软件实现路灯电路的仿真实验。
路灯电路主要由三个部分组成:电源部分、控制部分和照明部分。
电源部分提供电能给整个电路系统,控制部分负责控制灯的开关和亮度,照明部分则是实现灯光的发光。
首先,我们需要选择合适的元件来搭建电路。
在Proteus中,我们可以在元件库中找到各种电子元件。
对于电源部分,我们可以选择一个直流电源和一个电容器来实现稳定的输出电压。
控制部分可以选择一个单片机,用来控制彩灯的开关和亮度。
照明部分可以选择一个LED灯和一个电阻,来实现灯光的发光。
接下来,我们需要将这些元件进行连接。
在Proteus中,我们可以通过拖拽元件并连接它们的引脚来完成电路的搭建。
首先,将直流电源和电容器连接在一起,以提供稳定的电压输出。
然后,将单片机的引脚连接到LED灯和电阻上,以控制灯的开关和亮度。
最后,将LED灯和电阻连接在一起,以实现灯光的发光。
完成电路搭建后,我们可以进行仿真实验了。
在Proteus中,我们可以设置各个元件的参数和初始状态,并运行仿真实验来观察电路的工作情况。
通过调整单片机的引脚状态,我们可以控制灯的开关和亮度,并观察LED灯的发光情况。
在仿真实验中,我们可以通过改变电源电压和电阻值来模拟不同的工作情况。
例如,可以降低电源电压来观察灯的亮度变化,或者改变电阻值来观察灯的颜色变化。
通过这些实验,我们可以更好地理解电路的工作原理和性能特点。
总结起来,通过结合Proteus实现路灯电路的仿真实验,我们可以更好地理解电路的工作原理和性能特点。
通过调整参数和运行实验,我们可以观察电路的工作情况,并优化电路设计。
这对于提高路灯电路的可靠性和性能具有重要意义,也为我们进一步研究和开发新型路灯电路提供了基础。
proteus控制led灯闪烁的简单电路及程序LED灯作为电子元件中广泛应用的一种,通过闪烁可以提供一种视觉提示。
在这篇文章中,我们将介绍如何使用Proteus软件设计一个简单的电路,并编写程序控制LED灯的闪烁效果。
本文将分为以下几个部分展开讨论。
1. 硬件设计在Proteus软件中,我们首先需要设计电路图。
请先插入一个微处理器芯片,例如Arduino UNO,然后将LED灯连接到芯片的一个数字引脚上。
确保LED的正极连接到数字引脚,负极连接到芯片的地线上。
为了实现闪烁效果,可以连接一个电阻到LED的负极,然后将另一端连接到芯片的VCC引脚。
2. 软件编程在设计了硬件电路后,我们需要编写控制LED闪烁的程序。
在Proteus软件中,可以使用Arduino IDE来完成这一任务。
以下是一个简单的C代码示例:```cvoid setup() {pinMode(2, OUTPUT); // 选择使用的数字引脚}void loop() {digitalWrite(2, HIGH); // LED灯亮起delay(1000); // 延时1秒digitalWrite(2, LOW); // LED灯熄灭delay(1000); // 延时1秒}```代码中的`setup`函数用于设置程序运行时的初始状态,其中`pinMode`函数用于配置数字引脚为输出模式。
`loop`函数则是程序的主要循环,其中`digitalWrite`函数用于控制LED灯的亮灭状态,`delay`函数用于给LED保持亮灭状态的时间间隔。
3. 仿真验证完成软件编程后,我们需要在Proteus中进行电路仿真验证。
打开Proteus软件,将设计好的电路图和编写好的程序导入到仿真环境中。
然后点击开始仿真按钮,程序将开始运行,并控制LED灯按照设定的时间间隔闪烁。
通过仿真验证,我们可以判断程序的逻辑是否正确,同时可以观察LED灯的正常工作情况。
以下是一个基于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仿真环境的使用方法。
太原理工大学单片机原理与应用技术课程实验报告专业班级学号姓名指导教师LED 灯闪烁控制一、实验目的(1)掌握C语言、汇编语言编写单片机控制程序的方法;(2)掌握使用Keil C软件编写、编译、调试程序的方法;(3)掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试;(4)理解LED灯控制电路原理和延时程序的编写。
二、实验硬件和软件计算机1台,并安装Proteus软件和Keil C51软件。
三、实验任务在单片机I/O口上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停地一亮一灭,亮、灭持续时间均为0.2秒。
四、实验电路及分析实验电路如图所示,在P1.7口(也可选择其它端口)外接一个发光二极管D1,分析可知P1.7输出“0”时,D1点亮,P1.7输出“1”时D1熄灭。
LED 灯闪烁控制电路图五、实验程序编写1.程序编写(1)C语言程序#include <reg51.H>sbit D1=P1^7;void Delayms(unsigned int n){ unsigned int i, j;for(j=n; j>0;j--)for(i=112; i>0; i--);}int main( ){ while(1){ D1=0;Delayms(200);D1=1;Delayms(200);}}(2)程序流程图六、实验步骤1.利用Proteus软件绘制仿真电路图(1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验1.pdsprj”。
(2)创建原理图(schematic),默认模板为default,可根据电路规模选择合适的图纸大小。
(3)选择“Do not create a PCB layout”,即不绘制PCB图。
(4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。
主题:发光二极管(LED)在proteus中的使用内容:1. 介绍发光二极管(LED)的定义和特点1.1 发光二极管是一种半导体器件,具有发光功能1.2 LED具有低功耗、长寿命和抗震动等特点2. Proteus软件简介2.1 Proteus是一款专业的电子设计软件,可以用于模拟电路和PCB 设计2.2 Proteus具有直观的用户界面和丰富的元器件库3. 在Proteus中使用发光二极管的方法3.1 打开Proteus软件并新建电路文件3.2 在元器件库中选择“LED”或“发光二极管”并拖入工作区3.3 连接LED的正负极与其他器件进行电路设计4. 发光二极管的参数设置4.1 在Proteus中双击LED元件可以对其参数进行设置,如颜色、亮度等4.2 根据实际需求调整LED的参数以达到预期的效果5. LED电路的仿真和调试5.1 在Proteus中进行电路仿真,观察LED的发光效果5.2 可通过改变电路中其他元器件的数值来调试LED的工作状态6. LED在Proteus中的应用案例6.1 以LED为指示灯的电路设计6.2 以LED为光源的照明电路设计6.3 以LED为显示器的数字电路设计7. 结语在Proteus中使用发光二极管(LED)是电子工程师在电路设计和仿真中经常会遇到的任务。
通过本文的介绍,读者可以了解到LED的基本特点、Proteus软件的使用方法以及LED在Proteus中的应用技巧。
希望本文可以对读者有所帮助,让大家能更加熟练地使用Proteus软件进行电路设计和仿真。
8. 发光二极管(LED)在Proteus中的优势8.1 与传统的电路设计相比,Proteus软件可以提供更直观的仿真效果,让用户可以在计算机上模拟LED的发光情况,而无需实际搭建电路8.2 利用Proteus软件,用户可以快速地改变LED的参数,如电压、电流等,从而更好地理解LED的工作原理和特性8.3 Proteus软件还可以帮助用户在LED电路设计中发现潜在的问题和缺陷,提前解决各种工程上的挑战,减少实际制作线路时的失败率,提高工作效率9. 发光二极管(LED)在不同类型电路中的应用9.1 LED作为指示灯的应用:LED的快速响应和明亮的光照度,使其成为电路中理想的指示器件。
⽤单⽚机控制8位LED灯的流⽔点亮及其PROTEUS仿真⽤单⽚机控制8位LED灯的流⽔点亮及其PROTEUS仿真摘要:LED灯的流⽔控制可以由多种⽅式实现,这⾥选⽤80c51系列单⽚机作为CPU,采⽤函数型指针的⽅式编程,⽤Proteus进⾏电路图绘制和仿真,⽤keil进⾏编译和虚拟写⼊,得到了理想的仿真效果。
Abstract: LED lights from a variety of water control can be achieved, 80c51 chosen here as a series of single-chip CPU, the use of functional programming guide way, using Proteus for drawing circuit diagrams and simulation, carried out using keil compiler and virtual write, be an ideal simulation of the effect.1引⾔1.1 AT89C51简介AT89C51是⼀种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,⾼性能CMOS8位微处理器,俗称单⽚机。
AT89C2051是⼀种带2K字节闪烁可编程可擦除只读存储器的单⽚机。
单⽚机的可擦除只读存储器可以反复擦除100次。
该器件采⽤ATMEL⾼密度⾮易失存储器制造技术制造,与⼯业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯⽚中,ATMEL的AT89C51是⼀种⾼效微控制器,AT89C2051是它的⼀种精简版本。
AT89C单⽚机为很多嵌⼊式控制系统提供了⼀种灵活性⾼且价廉的⽅案1.2 Proteus简介Proteus(海神)的ISIS是⼀款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并⽀持单⽚机,元件库齐全,使⽤⽅便,是不可多得的专业的单⽚机软件仿真系统。
实验课程:单片机原理及应用
一、实验目的
学习汇编语言指令系统的编程与调试方法
二、实验内容
1、参照教材图A.21完成实验二电路原理图的绘制;
2、根据图A.22的程序流程图编写汇编语言程序;
3、利用ISIS的汇编工具查找并修正程序的语法错误和逻辑错误;
4、观察仿真结果,完成实验报告。
三、实验要求
提交的实验报告中应包括:1、完成的电路图(含绘图过程简述);2、编写的汇编源程序(含程序简要说明);3、使用的程序调试方法;4、实现的仿真效果(含运行截图与文字说明);5、实验小结(结论与体会)。
提交实验报告主题及存盘文件名格式(学号+姓名+实验**),例如:2011041220张三实验一。
1、电路原理图
图1
如图1所示,从左往右、从上往下看,如图,这是由晶体振荡器和电容组构成的并联谐振回路,产生单片机的时钟
信号。
如图,当单片机出现死机时,可以利用它来复位。
这种叫上电复位,产生复位的条件为:在高电平状态下,时间等于系统
时钟振荡周期建立时间和两个机器周期时间(一般小于10ms)。
如图
,这是80c51芯片共有40个引脚,4只电源及晶振引脚—Vcc,Vss,XTAL1,XTAL2。
4只控制引脚—(PSEN)[注:用“()”括着的为低电平有效,下同],ALE,(EA),RST 。
32只并行I/O 引脚—P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7。
如图,这是外部Rom允许访问/编程电源输入,当连接高
电平时,cpu从片内rom读指令。
如图和
,连接它们用于在80c51的控制下,实现相应功能,这里是使led灯闪烁,并使开关能控制。
2、汇编源程序
mov R5,#3
lOOP1:MOV P2,#0
ACALL DELAY
MOV P2,#0FFH
ACALL DELAY
DJNZ R5,LOOP1
LOOP2:MOV P2,P1
SJMP LOOP2
DELAY:MOV R0,#100
DEL0:MOV R1,#50
DEL1:MOV R2,#25
DEL2:DJNZ R2,DEL2
DJNZ R1,DEL1
DJNZ R0,DEL0
RET
END
说明:首先设置循环变量为3(实现灯闪三次),LOOP1为第一个条件入口。
给P2赋值0,然后调用DELAY,给P2赋值#0ffh,再调用DELAY。
以此来实现三次循环。
LOOP2为第二个条件入口,实现最终开关控制灯。
DELAY在这里只是用于耗费时间,共0.1秒/单位。
3、程序调试方法
根据图1及汇编源程序实现8盏led灯先亮三下,然后根据图
控制灯的亮或灭。
具体实现如下:安装proteus软件及keil UV4软件,proteus可用于模拟电路图连接,UV4可用于编译汇编程序。
汇编编译成功后,在proteus描绘的的80c51芯片中右击属性,选择汇编源程序生成的.hex文件,加载,确认,运行试试。
4、仿真运行效果
图2
分析:开始会闪烁三下(间隔时间根据自己而定),然后根据开关
控制灯的亮灭。
如图2,左下的开关1,4,5,7,8闭合,相应地右下角1,4,5,7,8亮。
5、实验小结
本次实验了解自己编写程序及了解汇编语言,话说如果不是四处寻找资料,我还真做不出来。
感谢小伙伴和网友的贡献。
还有希望老师下次做实验时给我们讲解详细一点或提供什么资料什么的。
我觉得盲目的搜资料只是浪费时间。
但有人又会认为,老师给出资料,那同学不是不会自己思考吗?我的答案是否定的,没有人第一次就会的,所以我认为还是有参考资料好。
况且如果自己不想思考的话,那些忙于交作业的人只会搜答案,可想而知百度的强大。
还不如你好我好大家好,给出参考资料。
用心做的始终有收获,不用心的始终还是不会学。
附件:(这是在keil UV下用c语言编的)
#include"REG51.H"
void delay(int num)
{ int i=0,j;
for(;i<num;i++)
for(j=0;j<1000;j++);
}
void my_led1()
{
int i;
P2=0x00;
delay(100);
P2=0xff;
delay(100);
}
void main()
{
int i,j;
for(i=0;i<3;i++)
{
my_led1();
}
while(1)
{
P2=P1;
}
}
附件2(proteus下完整实验图):。