单片机实验一 LED灯实验

这篇具有很好参考价值的文章主要介绍了单片机实验一 LED灯实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验一 LED灯实验

一、实验目的

1.熟悉实验软件和硬件,进行正确的接线;
2.编程使得LED的闪烁;
3.编程实现跑马灯效果。

二、实验软硬件

1.Keil uVision4
2.PZISP自动下载软件
3.HC6800S开发板
三、实验原理
连接单片机管脚与共阴极二极管,并对于单片机的P0口进行编程。如果需要闪烁,可以先让P0口输出高电平,然后延时一段时间,让P0口保持高电平,此时二极管亮;然后再让P0口输出低电平,然后延时一段时间,让P0口保持低电平,此时二极管灭;如此循环,便实现了二极管亮灭的功能。
单片机实验一 LED灯实验
单片机接口
如果需要实现流水灯,可以先让P0口输出0X01(0000 0001),然后延时一段时间,让P0口保持,此时二极管最右边的灯亮,其余的灭;然后再让P0口输出0X02(0000 0010),然后延时一段时间,让P0口保持,此时第二个二极管亮;如此对于P0口进行写入,便实现了流水灯的功能。
单片机实验一 LED灯实验

共阴二极管电路
其中,74LS373:8数据锁存器。主要用于数码管、按键等等的控制。当使能为低时,将输出锁存在已建立的数据电平上。MCU的引脚有限,锁存器对于外设的控制非常有必要。
锁存器的真值表
Dn LE OE Qn
H H L H
L H L L
X L L Qo
X X H Z
H为高电平 L为低电平 X为不定 Z为高阻

四、软件流程图

单片机实验一 LED灯实验

二极管亮灭程序流程图
单片机实验一 LED灯实验
流水灯程序流程图

五、实验代码

1.// 二极管亮灭程序:  
2.#include <reg51.h>  
3.void Delay10ms(unsigned int c);   //延时10ms  
4.void main()  
5.{   
6.    while(1)  
7.    {     
8.        P0  = 0x00;       
9.        Delay10ms(50);    
10.        P0  = 0xff;           
11.        Delay10ms(50);   
12.    }  
13.}  
14.void Delay10ms(unsigned int c)   //误差 0us  
15.{  
16.    unsigned char a, b;  
17.    for (;c>0;c--)  
18.    {  
19.        for (b=38;b>0;b--)  
20.        {  
21.            for (a=130;a>0;a--);  
22.        }            
23.    }        
24.}  
25.//流水灯程序:  
26.#include <reg51.h>  
27.#include <intrins.h>  
28.void Delay10ms(unsigned int c);   //延时10ms  
29.void main(void)  
30.{  
31.    unsigned char LED;  
32.    LED = 0x01;  
33.    while(1)  
34.    {  
35.        P0 = LED;  
36.        Delay10ms(50);  
37.        LED = _crol_(LED,1);   
38.    }  
39.}  
40.void Delay10ms(unsigned int c)     
41.{  
42.    unsigned char a, b;  
43.    for (;c>0;c--)  
44.    {  
45.        for (b=38;b>0;b--)  
46.        {  
47.            for (a=130;a>0;a--);  
48.        }           
49.    }  
50.} 

六、实验步骤

1.连接开发板LED模块相关电路连线
单片机实验一 LED灯实验

硬件路线图
2.打开开发板电源
单片机实验一 LED灯实验

电源位置
3.编写调试LED程序,生成hex文件,下载程序。
单片机实验一 LED灯实验

程序下载界面
流水灯程序下载之后,发光二极管按照预定的方向相继点亮,亮灭的间隔时间基本符合预定的时间。

七、实验思考

这是用51单片机做的第一个实验,也是一个单片机入门的经典程序——点亮一颗灯。
我最大的收获是明白了为什么要用延时函数。因为单片机执行一条代码所需要的时间是微秒级别的,人是分辨或者感觉不出来的。比说,我们要灯闪烁,如果灯亮灭的频率太快,我们就会觉得灯是一直亮的,可能亮的程度有所变暗。这是实验中有切身体会到的事情,合理应用延时函数非常重要,关系到单片机的效率和功能实现等问题。
对寄存器进行读写非常接近单片机的底层,要对与硬件电路非常熟悉才行。单片机大部分时间是一直在工作的,如果代码写的非常短,这些代码执行完了之后,单片机就不工作了。所以一定要有一个死循环,作为主程序,一般用While(1)来实现。但是死循环是最初学C语言所极力避免的,因为之前学的课程所编写的代码需要确切的结果,要么是一个计算结果,要么是一段显示。但是单片机是一个系统,需要长时间保持工作,因此我们将会面临一个不会结束的程序。在程序执行过程中会遇到各种情况,我们需要在最初的编码时候想到并规避。总之,单片机不同以往我们所接触到的东西,里面还有很多东西需要探索。文章来源地址https://www.toymoban.com/news/detail-476697.html

到了这里,关于单片机实验一 LED灯实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机Proteus软件仿真二(按键控制LED灯逐个点亮)

    通过2个按键控制8个LED逐个点亮,系统启动默认点亮LED1,按K1则逐次向右点亮灯2、灯3、灯4···,按K2则逐次向左点亮。 在LED流水灯电路图上直接增加2个按键即可,接P3_0/P3_1口,电路图没有大的变动。上拉电阻统一100欧,Proteus软件感觉用起来比实物开发板要方便点,我之前还

    2024年02月08日
    浏览(50)
  • 51单片机实验3-中断控制的LED灯(单一外部中断控制LED灯,两个外部中断控制LED灯,交通管制路口)

    1、编写程序通过单一外部中断控制LED灯,每按一次开关,中断服务程序中,低4位led和高4位led交替闪烁5次; 2、编写程序利用两个外部中断控制LED灯。上电后8个led以流水灯方式点亮间隔100ms,K1按下,流水灯反向显示1次间隔50ms;按下K2,8个led同时闪烁3次,间隔50ms。 电路连接

    2024年02月08日
    浏览(48)
  • 51单片机LED点阵控制原理、74HC595工作原理和字母和滚动显示实验代码

    目录 1. 74HC595工作原理图解  2.LED点阵控制原理 3.点阵LED实验 3.1 配置74HC595代码 3.2 D点阵LED显示H   3.3 滚动LED  (1) 滚动扫描图示  (2)程序代码 4.遇到奇怪的bug    :        输出使能,输入低电平允许输出,因此需要用接线帽j24让oe和地短接。 (但是我普中A2的板子,不

    2024年02月04日
    浏览(61)
  • 单片机Proteus软件仿真一(手把手教你实现LED流水灯)

    1 单片机8051系列 爬虫是不能发了,审核总是不通过,算了,发点其他的。 51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入

    2024年02月01日
    浏览(45)
  • 使用74HC595完成16*16led矩阵广告牌(51单片机软件仿真)

    目录 74HC595简介(个人理解)与模块代码 软件仿真和代码  SHCP是写入595芯片数据的配置 STCP是发送595芯片内信息的配置 DS是数据配置的区域 595芯片有9个输出引脚,最后一个是供给下一块串联的595使用的,下一块串联的595stcp和shcp与上一块连接的引脚一致,下一块的DS与上一块

    2024年02月06日
    浏览(54)
  • 51单片机定时器。实验(六):定时器实验:使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)

    目录 题目: proteus仿真: 代码: 分析题目: 定时器: 工作方式寄存器TMOD设置: 控制寄存器TCON设置: 设定计数初值:  定时器四种工作方式: 实验过程讲解: 配置定时器:设置TMOD寄存器 设定定时器初值:THx和TLx(x=0,1) 设置IE寄存器: 启动定时器: 中断检测: 使用

    2023年04月20日
    浏览(54)
  • 在STM32上实现一个数据采集和存储系统(单片机软件与硬件)

    1. 硬件选择: 选择合适的STM32系列微控制器,根据采集数据的要求选择处理器型号和性能。同时,根据需要考虑外设模块,如ADC、SPI、I2C等。 2. 连接传感器: 根据需要选择合适的传感器,并将传感器与STM32的相应引脚连接。注意检查引脚的电平和电流要求,确保接口匹配。

    2024年02月03日
    浏览(54)
  • 51单片机(普中HC6800-EM3 V3.0)实验例程软件分析概览

    引言:本专栏将对历程中的关键代码进行分析与拓展,再学习一遍51,记录与各位一起进步。 下面是文件列表:

    2024年02月14日
    浏览(49)
  • 单片机-LED介绍

    LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光 电流 越大,其亮度越强,但若电流过大,会烧毁二极管,一般我们控制在 3 mA-20mA 之间,通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极 管的电流不要太大,因此这些电阻又可以称为“

    2024年02月09日
    浏览(63)
  • 如何使用单片机点亮LED灯,并使用按键控制[51单片机]

    首先先看一下我的板子,如果我们板子不相同,可能操作也不太相同 我们就不讲底层原理了,直接看,我们可以看到板子上有 8个LED灯   那这个8个LED用什么来控制呢,我们先看底层的线路图,所有的LEDD都连接到了P2带后缀的接口上, 那么只需要操作这几个接口的高低电频,

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包