单片机中LED发光二极管的编程探讨

合集下载

单片机控制发光二极管实验报告

单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。

2、掌握用查表方式实现AT89C51 单片机IO 口的控制。

3、练习单片机简单延时子程序的编写。

4、熟练运用Proteus 设计、仿真AT89C51 系统。

二、实验内容1、编写延时子程序,延时时间为0.1S。

代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。

通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。

代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。

通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。

代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。

4-1 控制LED发光二极管隔1秒闪烁

4-1 控制LED发光二极管隔1秒闪烁
第4章 看看单片机的闹钟——定时/计数器
任务4-1 控制LED发光二极管隔1秒闪烁
任务4-1 控制LED发光二极管隔1秒闪烁
1、任务要求: 任务要求: 通过P1.x口线控制外接的LED发光二极管亮1 P1.x口线控制外接的LED发光二极管亮 循环不止。 通过P1.x口线控制外接的LED发光二极管亮1秒、灭1秒,循环不止。 2、相关知识 实现1秒的时间定时可以使用我们之前给大家介绍的CJNE CJNE指令来实现多 实现1秒的时间定时可以使用我们之前给大家介绍的CJNE指令来实现多 层嵌套循环延时,但这种实现方法有两大缺陷: 层嵌套循环延时,但这种实现方法有两大缺陷: 占用了CPU资源; CPU资源 (1)占用了CPU资源; 定时精度低。 (2)定时精度低。 对于精确定时,一般需要采用定时/计数器来实现。 对于精确定时,一般需要采用定时/计数器来实现。 16位加法计数器 1)16位加法计数器 (Timer0)和 (Timer1); MCS-51单片机集成有两个定时 计数器, T0(Timer0) T1(Timer1) 单片机集成有两个定时/ MCS-51单片机集成有两个定时/计数器,即T0(Timer0)和T1(Timer1); 定时器和计数器的区别: 定时器和计数器的区别: 定时器与计数器从本质上来说是一致的,都是对脉冲计数,不同的是, 定时器与计数器从本质上来说是一致的,都是对脉冲计数,不同的是, 定时器是对单片机机器周期计数,而计数器则是对单片机引脚T0(P3.4) 定时器是对单片机机器周期计数,而计数器则是对单片机引脚T0(P3.4) 和引脚T1(P3.5)上的输入脉冲计数; T1(P3.5)上的输入脉冲计数 和引脚T1(P3.5)上的输入脉冲计数;
任务4-1 控制LED发光二极管隔1秒闪烁
②利用下面的表达式计算初值,写入TH0、TL0或TH1、TL1。 利用下面的表达式计算初值,写入TH0、TL0或TH1、TL1。 TH0 作计数器时:初值=最大计数值作计数器时:初值=最大计数值-计数次数 作定时器时:初值=最大计数值-定时时间/机器周期 作定时器时:初值=最大计数值-定时时间/ 机器周期=12/fosc(fosc是晶振频率) =12/fosc(fosc是晶振频率 【机器周期=12/fosc(fosc是晶振频率)】 最大计数值由选择的工作方式决定,可选2^13 方式0)、2^16 2^13( 2^16( 最大计数值由选择的工作方式决定,可选2^13(方式0)、2^16(方式 )、2^8 方式2 2^8( 的方式3 1)、2^8(方式2和T0 的方式3) 若定时/计数器工作在中断方式下,则通过对IE IE寄存器赋值开放相应 ③若定时/计数器工作在中断方式下,则通过对IE寄存器赋值开放相应 中断; 中断; TR0或TR1置 启动定时/计数器。若将GATE位设为1 GATE位设为 ④将TR0或TR1置1启动定时/计数器。若将GATE位设为1,用于检测送到 ________ ________ INT0/ INT1 引脚的正脉冲宽度,只有正脉冲送达中断引脚时才开始运行 引脚的正脉冲宽度, (不常用)。 不常用)。

使用at89s52单片机实现发光二极管控制,实验报告心得

使用at89s52单片机实现发光二极管控制,实验报告心得

使用at89s52单片机实现发光二极管控制,实验报告心得一、引言随着科技的不断发展,单片机技术在我国得到了广泛的应用。

其中,AT89S52单片机作为一种高性能、低功耗的8位微控制器,被广泛应用于各种电子设备中。

本文将介绍如何使用AT89S52单片机实现发光二极管的控制,并通过实验报告的形式分享实验心得。

实验目的:掌握AT89S52单片机的编程和应用,学会使用发光二极管实现简单的灯光控制。

二、实验原理1.AT89S52单片机简介AT89S52单片机是一款基于Flash存储器的8位微控制器,具有32KB的程序存储器和128KB的数据存储器。

其内部包含多个定时器、中断控制器、串行通信接口等功能模块,便于进行各种控制应用。

2.发光二极管工作原理发光二极管(LED)是一种半导体器件,当通过电流时,能发出可见光。

其工作原理是利用PN结的正向电压导通,使电子与空穴复合释放出能量,形成光子。

3.控制电路设计本实验采用AT89S52单片机的一个IO口作为发光二极管的控制端。

通过编写程序,实现对发光二极管的闪烁控制。

电路图如下:(此处插入电路图)三、实验过程1.硬件电路搭建根据电路图,将AT89S52单片机与发光二极管连接。

其中,发光二极管的正极接到单片机的IO口,负极接到地。

2.程序编写与调试编写程序,实现以下功能:(1)初始化:设置单片机工作模式,初始化定时器、中断等;(2)通过定时器中断实现发光二极管的闪烁控制;(3)在程序中添加调试语句,观察发光二极管的闪烁情况。

3.实验结果分析将编写好的程序烧录到AT89S52单片机中,观察发光二极管的闪烁情况。

通过调试,验证了程序的正确性,实现了对发光二极管的控制。

四、心得与总结1.实验经验分享本次实验让我们更深入地了解了AT89S52单片机的基本原理和应用,掌握了发光二极管的控制方法。

此外,实验过程中还学会了电路搭建、程序编写与调试等技能。

2.问题与解决方案在实验过程中,我们遇到了一些问题,如电路连接错误、程序调试等。

通过51单片机控制24个发光二极管形成流水灯效果的亮灭状态

通过51单片机控制24个发光二极管形成流水灯效果的亮灭状态

成绩实验名称:单片机系统简单扩展实验
一、实验目的
1、了解单片机系统的扩展方法
2、熟悉8255A在单片机系统扩中的使用方法。

3、熟悉仿真软件Proteus以及编程软件Keil的使用。

二、实验仪器
三、实验内容
四、实验原理
实验报告
五、实验步骤
步骤:
1、根据给定的实验要求,分析实验的目的以及实验要求。

2、通过计算机仿真软件Proteus,根据实验目的设计电路,并且绘制电路原理图。

3、根据自己设计的电路,编写控制程序。

4、调试所编写的控制程序,直至程序没有语法及语意错误,可以通过编译。

5、将所编写的无错误的程序下载至仿真软件,并进行调试,根据仿真结果修改程序。

6、重复上一步骤,知道仿真效果达到实验要求,即可完成。

六、实验程序
#include <reg51.h>
#include<absacc.h>。

单片机试验一:点亮一个发光二极管

单片机试验一:点亮一个发光二极管

单片机试验一:点亮一个发光二极管拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89S52 的芯片,下面就看一下如何给它连线。

1、电源:这当然是必不可少的了。

单片机使用的是5V 电源,其中正极接40 引脚,负极(地)接20引脚。

2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19 脚。

只要买来晶振,电容,连上就可以了,按图1 接上即可。

3、复位引脚:按图1 中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。

4、EA 引脚:EA 引脚接到正电源端。

至此,一个单片机就接好,通上电,单片机就开始工作了。

当然:您并不一定完全需要一片89S52, 实际上我们用8051 系列的任何一种芯片都是可以的。

例如89s51,89c52 等等。

我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED 必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的5 个引脚,还有35 个,将这个LED 和1脚相连。

(见图1,其中R2 是限流电阻)按照这个图的接法,当1 脚是高电平时,LED 不亮,只有1 脚是低电平时,LED 才发亮。

因此要1 脚要能够控制,也就是说,要能够让1 引脚按要求变为高或低电平。

即然要控制1 脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51 芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。

名字有了,又怎样让它变高或变低呢?叫人做事,说一声就可以,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。

让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是CLR。

因此,要P1.0 输出高电平,只要写SETB P1.0,要P1.0 输出低电平,只。

单片机汇编语言入门实例

单片机汇编语言入门实例

一、用单片机控制发光二极管图1为单片机控制发光二极管的实验电路图。

图中用P1口作为输出端,P1口的P1.0~P1.7引脚分别接了8个LED。

实例1:用单片机控制LED闪烁发光源程序如下:MAIN:SETB P1.0LCALL DELAYCLR P1.0LCALL DELAYLJMP MAINDELAY:MOV R7,#250D1:MOV R6,#250D2:DJNZ R6,D2DJNZ R7,D1RETEND程序说明:1、SETB P1.0:将P1.0口置“1”,既让P1.0输出高电平,让LED 熄灭。

2、LCALL DELAY:LCALL称为子程序调用指令,指令后面的参数DELAY是一个标号,用于标识第6行程序,执行LCALL指令时,程序转到LCALL后面的标号所指示的程序行处执行,如果执行指令过程中遇到RET指令,则程序就返回到LCALL指令下面的一条指令继续执行。

3、CLR P1.0:将P1.0口置“0”,既让P1.0输出低电平,让LED 亮。

4、LCALL DELAY:调用延时子程序DELAY。

5、LJMP MAIN:跳转到第1条指令处执行第1条指令。

6、第6~10条指令是一段延时子程序,子程序只能在被调用时运行,并有固定的结束指令RET。

7、END:不是S51单片机的指令,不会产生单片机可执行的代码,而是用于告诉汇编软件“程序到此结束”,这类用于汇编软件控制的指令称为“伪指令”。

延时程序说明:1、程序中的R6、R7代表工作寄存器的单元,用来暂时存放一些数据。

2、MOV指令的含义是传递数据。

指令“MOV R7,#250”的含义是:将数据250送到R7中。

250前面的“#”号表示250是一个数,而不是一个地址,“#”号后面的数称为立即数。

3、DJNZ指令后面有两个符号,一个是R6,一个是D2。

R6是寄存器,D2是标号。

DJNZ指令的执行过程是:将其后面第一个参数中的值减1,然后看这个值是否等于0,如果等于0,往下执行,如果不等于0,则转移到第二个参数所指定的位置去执行,这里是转移到由D2所标识的这条语句去执行。

基于MCS51单片机的LED显示屏控制器设计与实现

基于MCS51单片机的LED显示屏控制器设计与实现

基于MCS51单片机的LED显示屏控制器设计与实现一、概述随着科技的飞速发展,LED显示屏已广泛应用于各种公共场合,如商场、车站、广场等,成为信息传播和展示的重要工具。

要使LED 显示屏正常工作并呈现出丰富多彩的视觉效果,就需要一个高效、稳定的控制器。

基于MCS51单片机的LED显示屏控制器,以其性价比高、编程灵活、稳定性强等特点,在LED显示屏控制领域得到了广泛的应用。

MCS51单片机,作为一种经典的8位单片机,自问世以来就在工业自动化、智能仪表、消费类电子等领域发挥着重要作用。

其强大的IO处理能力、灵活的编程方式以及稳定的性能,使得它成为LED显示屏控制器的理想选择。

本文将详细介绍基于MCS51单片机的LED显示屏控制器的设计与实现过程。

我们将对LED显示屏的基本原理和工作方式进行阐述,接着分析MCS51单片机的特点和在LED显示屏控制中的应用优势。

我们将从硬件设计和软件编程两个方面,详细介绍如何构建一个稳定、高效的LED显示屏控制器。

我们将通过实例展示,验证所设计的LED显示屏控制器的实际效果和应用价值。

通过本文的阅读,读者将能够深入了解基于MCS51单片机的LED 显示屏控制器的设计与实现过程,为实际工程项目中的LED显示屏控制器的设计与开发提供有益的参考和借鉴。

1. LED显示屏的发展背景和应用领域随着科技的飞速发展,信息显示技术也取得了巨大的进步。

LED 显示屏作为一种先进的显示技术,以其高亮度、高清晰度、色彩鲜艳、寿命长、功耗低等优点,逐渐在各个领域取代了传统的显示设备。

LED 显示屏的发展背景和应用领域广泛,为现代社会的信息传播和视觉呈现提供了强有力的支持。

在LED显示屏的发展背景方面,其技术进步是扩大市场需求及应用的最大推动力。

随着半导体材料和芯片制造技术的不断突破,LED 的性能得到了极大的提升,从而推动了LED显示屏的快速发展。

同时,随着大规模集成电路和计算机技术的不断进步,LED显示屏的控制技术也得到了显著提升,使得LED显示屏在显示效果、稳定性和可靠性等方面都有了很大的提高。

《单片机与嵌入式控制技术》实验书

《单片机与嵌入式控制技术》实验书

《单片机与嵌入式控制技术》实验书机电工程学院目录安全注意事项 (1)实验一keil软件平台实验 (2)实验二按键控制实验 (10)实验三查表实验 (12)实验四中断实验 (14)附录......................................................................................................... 错误!未定义书签。

安全注意事项1、不要在实验室吃东西。

2、不要穿拖鞋进入实验室,下雨天雨伞不要带入实验室。

3、使用实验箱时轻拿轻放,插拔排线时,对准,不要把排针插歪或者弄折,同时注意别被排针扎手。

4、接线时,必须把实验箱电源关闭。

5、下课后整理实验箱,设备,导线,椅子归原位,电脑正常关机,产生的垃圾带走。

实验一keil软件平台实验一、实验目的认识单片机MCS-51最小系统的构成和相关的开发软件。

任何一个用户系统的开发都需要一个界面良好的调试平台,以方便地、快捷地完成系统的设计与调试。

单片机的开发也是如此。

Keil是目前最流行,使用最广泛的开发平台,也是我们学习单片机的良好工具。

因此,我们必须首先熟悉这个工具,掌握这个工具。

二、实验内容及原理(一)实验内容要求实现某一个I/O口控制八个LED发光二极管左移或者右移流水。

(二)实验原理实验是通过对一些简单程序的调试,帮助我们直观地了解与掌握Keil调试软件的基本功能,掌握如何利用Keil来调试应用系统的硬件与软件的基本方法。

1、硬件(1)实验箱开发板主控芯片采用单片机型号为STC89C52RC,总共四组八位并行I/O口,均可实现数据输入输出,一个全双工串口,可支持的振荡频率范围为2~48Mhz,具有三个16位可编程定时器/计数器,八个中断源,四级优先级,其引脚分布如图1-1所示。

此外实验箱开发板还配备了共阴极数码管显示模块、共阳极八字形流水灯模块、点阵模块、独立按键模块、矩阵按键模块、LCD1602液晶显示模块、蜂鸣器、实时时钟模块、直流电机模块、A/D转换模块等外围模块、超声波模块、温度传感器模块等,可供相关实验与单片机配合使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机中LED发光二极管的编程探讨
0 引言
单片机由于体积小、价格低廉、功能强、可靠性高、面向控制和价格低廉等
优点,不仅成为工业测控领域使用的智能化控制工具,而且已渗入到人们工作
和生活的各个角落。

在工科学校中基本都开设有《单片机原理及应用》这门课,而对所有学习单片机的人来说最入门的就是对发光二级管LED 的控制。

1 发光二级管的工作原理
发光二极管Light- Emitting Diode 简称为LED,由镓(Ga)与砷(As)、磷(P)的化合物制成的二极管。

发光二极管与普通二极管一样是由一个PN 结组成,也具
有单向导电性。

当给发光二极管加上正向电压后,从P 区注入到N 区的空穴和由N 区注入到P 区的电子,在PN 结附近数微米内分别与N 区的电子和P 区的空穴复合,产生自发辐射的荧光,因而可以用来制成发光二极管。

在电路及
仪器中作为指示灯,或者组成文字或数字显示。

磷砷化镓二极管发红光,磷化
镓二极管发绿光,碳化硅二极管发黄光。

LED 只能往一个方向导通,发光二极管的反向击穿电压约5 伏。

它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流来控制LED 的亮度。

限流电阻R 可用下式计算:
R=(E-UF)/IF
式中E 为电源电压,UF 为LED 的正向压降,IF 为LED 的一般工作电流。

2 LED 的编程方法
假设LED 的连接电路图如图1 所示,八个红色发光二极管通过限流电阻分别接到单片机P1 端口的8 个引脚上,单片机选用AT89C51.
2.1 单个发光二极管的控制。

相关文档
最新文档