精华内容
下载资源
问答
  • 因涉及无功功率,而直流潮流算法简化后误差太大,因此本论文中采用牛拉法和PQ分解法均可。牛拉法和PQ分解法的程序见附录一。而该问题中7个节点网络的潮流计算用PQ分解法代入计算,并用Powerworld软件仿真计算潮流,...
  • 要使得发光二极管点亮,就需要有电流通过它,5mA左右电流即可(电流越大,其亮度越强,但电流过大,会烧坏二极管,一般控制在3~20mA之间。)。由上图可知:Q0~Q7端为低电平时,发光二极管就会被点亮。发光二极管与...
  • 发光二极管点亮实验

    千次阅读 2017-03-05 12:57:00
    点亮发光二极管实验  本文主要介绍点亮一个发光二极管的小实验,发光二极管(LED)是一种由磷化镓(GaP)等半导体材料制成的、能直接将电能转变成光能的发光显示器件。当其内部有一定电流通过时,它就会发光。发光...

    点亮发光二极管实验

      本文主要介绍点亮一个发光二极管的小实验,发光二极管(LED)是一种由磷化镓(GaP)等半导体材料制成的、能直接将电能转变成光能的发光显示器件。当其内部有一定电流通过时,它就会发光。发光二极管也与普通二极管一样由PN结构成,也具有单向导电性。它广泛应用于各种电子电路、家电、仪表等设备中、作电源指示或电平指示。

      发光二极管的电路图型如下图1所示:

    图1 发光二极管电路图型

      我在实验中用的发光二极管的实物如下图2所示,在百度上搜索了一下,发光二极管的分类好像也挺多的。

    图2 发光二极管实物图

      发光二极管的特性,发光二极管和普通二极管的特性基本相同,正向导通反向截止,然而其正向压降比普通二极管要大,我实验使用的大约在2V左右,反向击穿电压一般比普通二极管也要小的多。

      发光二极管正、负极的判断,通常发光二极管的引脚中,较长的引脚为正极,较短的引脚为负极。如图3所示,这里其中一种判断的方法。

     

    图3 识别发光二极管正负极

     

      点亮发光二极管的条件,主要是电流大约几毫安到10几毫安吧,在网上查了查不通厂家的发光二极管的导通电流也是不一样的,如果正向电流过大则有可能会烧毁发光二极管光,所以电路中需要增加一个限流电阻。由于本身发光二极管存在压降,所以在选择限流电阻大小时应使用如下公式计算:

        R=(E-UF)/IF

      式中E为电源电压,UF为LED的正向压降,IF为LED的正常工作电流。

      

      接下来将介绍来说一下我实验用的物品,1个电池盒、4节5号电池、1块面包板,1个4.7kΩ电阻,2个发光二极管,如下图4所示。这里找了两个发光二极管实际实验只用到了一个。

    ZHDouble

    图4 所需器件图

     

      实验的电路图如下图5所示:

    图5 点亮发光二极管电路图

      实验的实物图如下图6所示:

     

    图6 点亮发光二极管实物图

      总结,一个简单的小实验,其实有点像我们小学时学习自然课点亮一个小灯泡的实验,也算是做个回忆吧。

    转载于:https://www.cnblogs.com/ZHDouble/p/5515411.html

    展开全文
  • 发光二极管循环点亮程序,发光二极管循环点亮程序,发光二极管循环点亮程序
  • 利用8255A和8253使发光二极管按一定规律轮流点亮,发光二极管点亮方式:将发光二极管分为n 组,每组12/n 个灯管,从左到右依次点亮 这些灯管,每组灯管发光时间为t。设有8种发光组合: (1)n=12,t=1s:每个灯管...
  • 单片机控制发光二极管点亮(C语言)单片机控制led灯点亮;主要内容;一、点亮板子上的第一个灯D0;引脚:; ;硬件说明;点亮D0灯:D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 1 1 1 1 0从二进制转化为十六进制:0xfe;源程序;十六进制...

    单片机控制发光二极管灯点亮(C语言)

    单片机控制led灯点亮;主要内容;一、点亮板子上的第一个灯D0;引脚:; ;硬件说明;点亮D0灯:D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 1 1 1 1 0从二进制转化为十六进制:0xfe;源程序;十六进制;二进制和十六进制的转换;十六进制整常数; 各种进位制的对应关系 ;Keil的使用;1.启动?Vision ?Vision2是一个标准的Windows应用程序,双击Keil ?Vision2图标即可启动,也可以选择“开始”→“程序”Keil ?Vision2”命令来启动运行。其主界面如图1-28所示。;2.创建一个项目并选择单片机 选择“Project”(项目)→“New Project”(新建项目)命令,如图1-29所示,将弹出“Greate New Project”(新建项目)对话框;随后会弹出一个对话框,要求选择单片机的型号。在该对话框中显示了?Vision2的器件数据库,从中可以根据使用的单片机来选择。;3.创建一个新的源程序文件,并把这个源文件添加到项目中 单击工具栏中的新建文件图标(或选择“File”(文件)→“New”(新建)命令),文件操作窗口即可出现新建文件。保存该空白文件,单击工具栏中的保存图标(或选择“File”(文件)→“Save”(保存)命令),弹出如图1-32所示的“Save as”(保存为)对话框,在“文件名”文本框中输入欲保存的文件名,保存时注意加上正确的后缀名。;单击Target 1前面的+号,然后在Source Group 1上单击鼠标右键,弹出快捷菜单。 选择“Add Files to Group ’Source Group 1’”(添加文件到项目)命令,弹出如图1-34所示的对话框。选中文件(注意选择文件类型),然后单击“Add”(添加)按钮,即可添加选中文件到项目中。 ;4.输入源程序:此时就可以输入源程序了。5.设置目标硬件的工具选项 程序编写完成后,还要对项目进行进一步的设置,以满足要求。;“Output”选项卡 如图所示,其中有多个选项,此处选择“Create HEX File”复选框用于生成可执行代码文件,该文件可以用编程器写入单片机芯片,文件的扩展名为.HEX,默认情况下该项未被选中,如果要写芯片做硬件实验,就必须选中该项。其余选项均取默认值,不做任何修改。;6.编译项目并创建HEX文件可以通过工具栏中的图标直接进行。从左到右的图标分别是:编译、编译连接、全部重建、停止编译和对工程进行设置。;对源程序编写之后编译,最终要得到结果,提示0个错误,0个警告。同时还可看到,该程序的内部RAM的使用量(data=8.0),外部RAM的使用量(xdata=0),代码量(code=18)等一些信息。;7.将生成的hex文件,通过ISP下载到板子中。

    请观察现象!;源程序;C语言复习;C语言-51单片机的头文件;二、点亮板子上的0、2、4、6灯,与1、3、5、7灯交替闪烁;点亮0、2、4、6灯:D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 0 1 0 1 0从二进制转化为十六进制:0xaa

    点亮1、3、5、7灯:D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 0 1 0 1从二进制转化为十六进制:0x55

    ;#include#define uint unsigned int #define uchar unsigned char void main(){ uint a; while(1){ P1=0xaa;a=50000; while(a--);P1=0x55;a=50000; while(a--); }}

    };1)宏定义 #define uint unsigned int #define uchar unsigned char#define 标识符 字符串 C语言中的例子: #define PI 3.1415926 2)函数声明 函数声明是指函数的定义在后面,而前面需要对它进行调用,这样就需要预先作声明,一般来说函数的声明只是函数首部加上分号即可。 ;3)数据类型Int signed int 范围是

    展开全文
  • 通过单片机控制一个按键点亮发光二极管,这里我们通过将按键一端接地,一端接到单片机引脚且通过上拉电阻连接+5V电源。当`按键按下`时单片机引脚输入为`低电平(0)`,而`没有按下`时由于通过上拉电阻连接+5V电源,...

    一、实验要求

    1.根据设计思路,使用Proteus ISIS仿真软件绘制仿真电路原理图,并合理设置元件参数。
    2.用KeilC51软件编写一个独立按键点亮一个发光二极管的程序。
    3.Keil C51与Proteus联调,仿真调试观察实验现象。
    4.将程序烧录至开发板,硬件调试观察实验现象。

    二、分析

    (一)电路原理

    因为是通过单片机控制一个按键点亮发光二极管,这里我们通过将按键一端接地,一端接到单片机引脚且通过上拉电阻连接+5V电源。当按键按下时单片机引脚输入为低电平(0),而没有按下时由于通过上拉电阻连接+5V电源,引脚输入为高电平(1)
    我们通过设置检测与按键相连的引脚的电平来检测按键的状态,本次实验选用的是P2口,其中按键和上拉电阻与P2.0口相连,如下:
    在这里插入图片描述

    (二)机械式按键的抖动时间与解决方法

    机械式按键在按下按键到按键松开时的实际电平变化波形如下图,即按键在按下何松开时会产生抖动,抖动时间与按键的机械特征有关。
    在这里插入图片描述
    而若在按键的抖动时间内对单片机引脚上的电平信号进行检测时就会出错,此时我们就要消除抖动,消除抖动分为两种方法:软件延时硬件延时
    1、软件延时是通过在检测按键按下时(按键连接的单片机引脚为低电平时)执行一条延时语句(大约10ms)后确认按键已经按下,从而跳过抖动时间。
    在这里插入图片描述
    例本次实验可以这样设置延时语句:

    unsigned char i;
    for(i=0;i<100;i++);
    

    或者也可以通过设置一个延时函数,晶振频率为12MHz,由于for()循环大约为8μs,调用该延时函数,delay(10)表示延时10ms,即125×8μs=1ms,1ms×10=10ms。

    void delay(unsigned int x)//设置一个延时函数
    {
    	unsigned int i,j;
    	for(i=0;i<x;i++)
    		for(j=0;j<125;j++);
    }
    
    delay(10)

    2、硬件延时是通过采用两个与非门构成的硬件R-S触发器来消除抖动。

    三、Proteus仿真软件画原理图

    发光二极管选用的是P1口,按键选用的是P2口,当然也可以选择其它口(比如发光二极管选用P0口要加上拉电阻),各元器件的取值原理图如下:
    在这里插入图片描述

    四、Keil编程软件编写程序

    对发光二极管LED位定义,当按键Button按下时可以通过if(Button==0)来检测,然后通过一段延时后再次确认按键按下,此时点亮发光二极管,即LED=1,而若按键没有按下则LED=0,程序代码如下:

    //单片机控制按键点亮发光二极管实验
    #include<reg51.h>
    sbit Button=P2^0;	//对按键字节操作法定义
    sbit LED=P1^0;	//对发光二极管字节操作法定义
    void delay(unsigned int x)
    {
    	unsigned int i,j;
    	for(i=0;i<x;i++)
    		for(j=0;j<125;j++);
    }
    void main()
    {	
    	unsigned int i;
    	while(1)	//定义一个while(1)循环,无限循环
    	{	
    		if(Button==0)	//按键按下时执行以下语句
    		{
    			delay(10);	//延时10ms
    			if(Button==0)	//若按键按下则执行以下语句
    				LED=1;	//发光二极管点亮
    		}
    		else	//按键没按下时执行以下语句
    			LED=0;	//发光二极管熄灭
    	}					
    }
    

    五、实验结果

    (一)仿真结果

    当没按下按键时,发光二极管D1是熄灭的:
    在这里插入图片描述
    按键按下时,发光二极管D1点亮:
    在这里插入图片描述

    (二)连接电路烧录

    在这里插入图片描述
    通过烧录软件,导入可执行文件,当按键按下时,发光二极管D1点亮:
    在这里插入图片描述

    展开全文
  • 点亮第一个发光二极管如图所示 六、总线法点亮二极管 点亮前四个二极管 #include void main() { P1=0xf0;//直接对P1口进行操作,让低四位的四个二极管亮,如果用位操作法就麻烦一点了,f0即十六进制11110000,前四...

    一、前言
    第一次写博客,菜鸟一枚,权当记录自己学习的过程。因为之前自己学习了一下51单片机和C语言,时间长了感觉忘了很多,之前基本按步骤走的多,理解的不够深,而且没有做笔记的习惯,所以博客就当自己的在线笔记吧,以后查找起来也方便。所以写的时候只会标注我自己容易忘和理解的不到位的地方,这样也能督促一下自己持续的学习下去。
    使用的开发板是郭天祥的51开发板,教材也主要参考他的新概念51单片机C语言教程,keil2版本,烧录软件是stc-isp下载烧写软件v6.86.exe.
    二、keil2新建一个工程
    第一步:在D盘下新建一个文件夹stc89c52rc
    在这里插入图片描述
    补充:1、文件名尽量用英文,不要用中文。因为有些单片机或平台软件不支持中文名2、新建的文件夹尽量放在某盘的根目录下,因为有些平台软件不支持嵌入层次太深的的文件目录
    第二步:新建工程
    双击打开keil2软件,打开后如果有工程的话,如图所示关闭工程,Close Project
    在这里插入图片描述
    再建立一个新的工程,New Project
    在这里插入图片描述
    新建完之后选择路径,我是选择在STC89C52RC文件夹下创建lesson1_1文件,要保存的文件名也用lesson1_1,点击保存,注意:要保存的文件名选择尽量和路径上的文件名一致,因为有些平台软件要求相同
    在这里插入图片描述
    保存后弹出选择单片机型号,选择AT89c52,因为在keil2平台上没有stc89c52,51系列的单片机是兼容的,点击确定
    在这里插入图片描述
    点击确定后会出现下图这个英文询问框,选择是和否都可以,在弹出的英文询问框,大致意思是“是否要复制 STARTUP.A51 这个文件到工程里?”,STARTUP.A51 是一个启动程序文件,在单片机进入.c 程序执行 main 函数之前,先去执行这个启动程序,这个启动程序是专门用来初始化 RAM 和设置堆栈等,如果我们选“否”不添加这个启动程序, 编译器也会自动加入一段我们不能更改的默认启动程序。如果选“是”,那么这个文件就会出现在我们工程里, 我们可以根据需要对它进行更改。但是大多数的情况下,我们都不会去更改此文件,所以无论你选“是”还是 “否”,只要你不更改 START.A51 文件,对我们来说都是一样的。
    在这里插入图片描述
    第三步:添加文件
    此时并没有建立好一个完整的工程,因为工程里没有文件和代码。点击file选项中的new,可以看到界面中显示出代码编辑处的text1文件
    在这里插入图片描述
    接着再次点击file文件下的save按钮
    在这里插入图片描述
    路径还是选择上面的lesson1_1文件夹下,把文件名改为lesson1_1.c,点击保存。注意:文件名一定要用.c扩展名,这是C文件格式,如果是汇编语言则是.asm。(此时打开 D 目录下“lesson1_1”的文件夹,你会发现此文件夹有一个“lesson1_1.c”的文件,这个文件就是在这一步被新建添加进来的,但是此文件“lesson1_1.c”目前跟整个工程还没有关联。)
    在这里插入图片描述
    第四步:将新建的文件与工程关联起来
    单击target1,右击source group 1,选择add files to group ’source group 1‘
    在这里插入图片描述
    然后选中lesson1_1.c文件,单击add,再选择close即可
    在这里插入图片描述
    最后在source group1下看见lesson1_1.c文件夹,工程建立完成。

    在这里插入图片描述
    三、编辑代码
    位操作法点亮第一个发光二极管

    #include <reg52.h>//头文件,目的是将这个头文件中的全部内容放在这个位置,以免以后每次编写同类程序都要将头文件中的内容重复编写
    sbit led1=P1^0;//将P1口的的最低位定义为led1
    void main()
    {
    	led1=0;//将P1口的最低位置0
    	while(1);//让程序停止在这里,因为已经点亮了二极管,注意:单片机不会停止工作,只是一直在循环里
    }
    

    四、将.c源程序编译成.hex机器码
    单片机只能下载HEX文件和BEN文件,即十六进制和二进制,因为机器只认识这两种文件,即平台软件充当了程序员和机器之间的中介,将高级语言翻译成了机器语言。
    将.c源代码编译后无错误,在project目录下单击options for target ’target1‘。
    在这里插入图片描述
    点击output下的create HEX File勾选上,单击确定
    在这里插入图片描述
    再次编译可以看到输出栏多了一行creating hex file from “lesson1_1”…,HEX文件编译完成
    在这里插入图片描述
    五、将.hex文件烧录(就是下载)到单片机中
    烧录就如同将电影下载到手机上一样,烧录程序的本质是:把单片机当做一个存储器,每一条程序指令都对应一个唯一的存储 地址,把这些指令以字节为单位一条条存储到指定的存储地址中,这就是烧录程序的本质。对于 STC89C52RC 单片机,在下载程序时需要上位机软件和一根 USB 转串口线。上位机软件负责把.hex 格式的机器码文件打开,机器码文件里面记录着每条程序指令所对应的地址信息,下载过程时,上位机软件根据.hex 文件记录的指令内容和对应的地址信息,经过 USB 转串口线,跟单片机的预置系统程序进行串口通讯,从而把.hex 记录的信息传输到单片机内部的 flash 存储器中,实现了程序的烧录下载。转自独闷闷网,下面网址,(他的一些比喻好恰当,特别容易理解,说的透彻)(http://www.dumenmen.com/forum.php)
    设置单片机型号,串口号和波特率,单击打开程序文件,选择lesson1_1.hex文件,单击打开即可
    在这里插入图片描述
    单击下载/编程可以看到操作成功,即下载完成
    在这里插入图片描述
    五、结果
    实验板上的二极管接线如图所示,接锁存器的目的是A/D芯片也接到P1口,在做A/D实验时,二极管就会随着A/D的变化而变化。因为OE三态允许控制端接地,而单片机上电时所有未控制的I/O口默认高电平,LE锁存端就为高电平,所以没有设置锁存器。输出端就随着输入端变化而变化。
    在这里插入图片描述
    点亮第一个发光二极管如图所示
    在这里插入图片描述
    六、总线法点亮二极管
    点亮前四个二极管

    #include <reg52.h>
    void main()
    {
    	P1=0xf0;//直接对P1口进行操作,让低四位的四个二极管亮,如果用位操作法就麻烦一点了,f0即十六进制11110000,前四个数码管亮
    	while(1);
    }
    

    在这里插入图片描述
    七、总结
    到这里点亮一个发光二极管的全部过程完成了。这里我有几个容易忘的知识点。1、#include <reg52.h>头文件的作用,鼠标右击头文件,点击open document <reg52.h>,可以看到头文件的内容,如下面两张图所示。reg52.h是被宏定义好的,在第一段代码中,单片机是不认识P1的,通过sfr关键字(特殊功能寄存器的数据声明,声明一个8位寄存器)将单片机0x90地址的寄存器命名为P1,这样单片机才认识P1。所以我们操作P1就相当于对0x90地址的寄存器进行操作。sbit(特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位)可以看到先通过sfr TCON = 0x88;再由sbit TR0 = TCON^4将TCON寄存器的第四位重命名为TR0;以后就可以直接操作定时器TR0了,而不用每次都去定义了。
    在这里插入图片描述
    在这里插入图片描述
    2、74HC573锁存器的真值表
    在这里插入图片描述

    展开全文
  • 本文主要简单介绍了如何用单片机点亮一个发光二极管
  • 用定时器中断方式实验如下要求: 系统有8只发光二极管,一只功能按钮,一只停止按钮功能要求为: 1、当按一下按钮1时,左边4只发光二极管 点亮,右边四点发光二极管 不亮; 2、当按二下按钮1时,1、3、5、7发光...
  • 自己设计电路,利用51单片机点亮一个发光二极管。(汇编语言和c语言两种方式实现 ) 实验步骤 首先打开PROTEUS软件,完成仿真电路图的绘制 然后用KEIL软件进行源程序的编写和编译工作 ASM(汇编语言) MOV P0,#01H ...
  • 3、点亮发光二极管 51单片机所有的I/O口上电之后默认都是高电平,根据单向导电性,将连接芯片的P1端口上低电平后就能点亮二极管。(可忽略中间的74HC573锁存器,感兴趣参考我发的第六课中最后的代码) #include//...
  • 点亮一个发光二极管【C语言】.zip
  • 发光二极管历史

    2017-06-25 15:05:22
    二极管介绍
  • 用Keil点亮一个或多个发光二极管

    千次阅读 2020-04-20 11:29:04
    首先,打开我们的keil5,新建一个工程项目 点击保存后会出现如下窗口,并对以下进行设置: 新建一个文件 直接保存 把新建的文件(以上为demo.c)添加到目标项目: 开始写代码啦: ...接下...
  • proteus+keil,keil代码工程文件加上proteus仿真文件 本人博客有配套博文教程,欢迎各位学者前来学习和指教 想要入门51单片机的学者可以点击头像查看博文教程
  • 功能:点亮发光管LED并闪烁
  • //P1=00000001B while(1)//死循环,不停的点亮和熄灭LED { for(t=0;t;t++) { LED=~LED;//按位取反,点亮一个LED delay_ms(100);//延时0.1s LED=~LED;//按位取反 LED;//左移一位,点亮不同的LED } LED=0X80;//P1=...
  • 然后开始在文件里面写程序去点亮第一个发光二极管。 #include <reg52.h> /*52系列单片机头文件,安装Keil软件时候已经copy了reg52.h文件到电脑中,把 reg52.h文件在这里调用一下,就不用把这个文件里面写过...
  • 1357亮-全灭-2468亮-全灭短暂延时后1-8-1循环-全亮全灭,二极管亮时蜂鸣器响
  • (2)幕布式:从中间两个发光二极管开始点亮,向两边每次增加点亮2个发光二极管,直至点亮16个发光二极管;然后再从两边开始每次灭掉2个发光二极管,直至所有发光二极管灭掉,依次往复,每个状态持续时间为0.5s; ...
  • 内容不多,才开始入门,终于搞明白怎么点亮二极管了   终于弄明白怎么使用keil 和STC 这两个开发单片机必备的软件了 接下来就是学习中的代码整合 移位操作 #include&lt;reg52.h&gt; //点亮第一个...
  • 用Keil点亮一个发光二极管

    千次阅读 2021-05-23 02:50:32
    } } 如果你想要点亮其他指定的几个LED,可以如下: #include "reg52.h" typedef unsigned char u8; typedef unsigned int u16; //sbit led=P1^0; sbit led1=P1^1; sbit led3=P1^3; sbit led5=P1^5; sbit led7=P1^7;...
  • 发光二极管电路

    千次阅读 2017-06-29 19:42:25
    项目驱动之发光二极管电路电路目标:220交流输入实现在开关按下时发光二极管亮操作对象及其技术参数:普通发光二极管,一般发光二极管的正向导通工作典型电压(Forward Voltage)为3.3V,正常工作电流(Forward Current...
  • 本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导。本文章会陆续推出,隔几天一个章节。所使用单片机为ATMEL公司的AT89C52,...单片机轻松入门之一点亮一个发光二极管 其用Proteus画
  • 2.1 简单点亮发光二极管实例 51单片机应用开发从入门到精通单片机最简单的实例之一就是点亮发光二极管(LED)闪烁。本节通过点亮1只发光二极管的实例来介绍单片机的I/O口操作。 本节首先介绍单片机I/O口结...
  • 发光二极管工作原理-二极管是什么 发光二极管通常称为LED,它们虽然名不见经传,却是电子世界中真正的英雄。它们能完成数十种不同的工作,并且在各种设备中都能找到它们的身影。 它们用途广泛,例如它们可以组成...
  • 点亮一个发光二极管

    2015-08-07 19:12:18
    stm32f103vet6型号 点亮一个发光二极管 代码
  • 发光二极管

    2021-04-23 10:28:58
    通俗单色发光二极管具有体积孝工作电压低、工作电流孝发光均匀不变、响应速度快、寿命长等优点,可用各种直流、交流、脉冲等电源驱动点亮。它属于电流控制型半导体器件,应用时需串接合适的限流电阻。常用的国产通俗...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,785
精华内容 1,514
关键字:

发光二极管怎么点亮