目录

  • 一、任务简述
  • 二、实现方法
  • 三、参考代码

一、任务简述

在CT107D单片机上实现LED的基本控制,首先让8路LED指示灯闪烁3遍后熄灭,接着依次点亮LED指示灯,最后依次熄灭指示灯,程序循环实现上述功能。

二、实现方法

实现方法很简单,先弄清逻辑总线:要想用P0去控制LED灯,首先需要M74HC573MIR锁存器导通,就是要Y4C输入高电平,也就是需要74HC02输出高电平,因为它是一个或非门,当51单片机上电复位后,各输出口的状态都是1,当执行指令MOVX@DPTr,A时,这是51单片机写,对应的WR为低电平,则Y4必定为低电平,这样才能通过或非门输出高电平;再利用74HC138译码器使得P25,P26,P27为0,0,1,则三个输入端A,B,C为0,0,1。这样就弄清了总线,逻辑也就清晰了。

三、参考代码

有不明白P2 = (P2 & 0x1f) | 0x80,P2 = (P2 & 0x1f) | 0xa0等代码的,可以看我的上一篇博客。

#include "reg52.h" void initial_HC138(unsigned char n){switch(n){case 4:P2 = (P2 & 0x1f) | 0x80;break;case 5:P2 = (P2 & 0x1f) | 0xa0;break;case 6:P2 = (P2 & 0x1f) | 0xc0;break;case 7:P2 = (P2 & 0x1f) | 0xe0;break;      }
}void OutPutP0(unsigned char channel,unsigned char dat)
{initial_HC138(channel);P0 = dat;
}
void delay_ms(unsigned int nms)   //延时50us误差 0us
{unsigned int i, j;for(i = nms; i > 0; i--)for(j = 110; j > 0; j--);
}void led_runing()
{unsigned char i ;for(i = 0;i < 3;i++){OutPutP0(4,0x00);delay_ms(200);delay_ms(200);OutPutP0(4,0xff);delay_ms(200);delay_ms(200);}for(i = 1;i <= 8;i++){OutPutP0(4,0xff << i);delay_ms(200);delay_ms(200);}for(i = 1;i <= 8;i++){OutPutP0(4,~(0xff << i));delay_ms(200);delay_ms(200);}}
void initial_system()
{OutPutP0(5,0x00); // Y5输出低电平,P0输出低电平,经过ULN2003驱动管为高电平,关闭蜂鸣器和继电器。
}
void main()
{initial_system();while(1){led_runing();}}

学习来源于:https://www.bilibili.com/video/BV1Bt41187hw?p=3

学习笔记——LED跑马灯相关推荐

  1. HaaS学习笔记 | HaaS框架环境下基于MicroPython的LED跑马灯实现及比较

    [1]题目要求 [案例]:在HaaS框架下用原生MicroPython实现LED跑马灯.       蓝蜻蜓ESP32开发板的LED灯电路连接如下:          D3灯----GPIO14,高电 ...

  2. HaaS学习笔记 | 基于HaaS Python轻应用的LED跑马灯明细教程

    [1]题目要求     [案例]:在HaaS框架下实现LED跑马灯.       蓝蜻蜓ESP32开发板的LED灯电路连接如下:       D3灯----GPIO14,高电平点亮,低电平熄灭.   ...

  3. 阿里云python轻应用学习笔记(二)---开发一个LED跑马灯程序

    摘要:本篇文章将使用python开发一个LED闪烁的程序.程序源代码从官方帮助文档复制过来,开发的时候会遇到一些错误,本篇文章也一并提供解决方法. 实验目的:编写python程序,实现LED跑马灯. ...

  4. TQ2440+RealViewMDK调试LED跑马灯(成功!)

    去年买的TQ2440的开发板,搁了一年,没咋用,今年心血来潮,想学学了,于是又翻开了板子,结果是个伤脑筋的活啊......果然比单片机.AVR的来的难啊,搞了两天,也参考了网上的资料,竟然(居然)才弄 ...

  5. STM32如何使用STLINK下载程序:点亮LED跑马灯(库版本)

    系列文章目录 STM32F103ZE学习记录:主要参考正点原子教程 文章目录 系列文章目录 前言 一.环境的搭建 1.新建编程文件操作步骤 2.ST_LINK烧录搭建 3.STlink下载出现st-l ...

  6. 基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯

    基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯仿真设计 (程序+proteus仿真+报告) Proteus仿真版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C ...

  7. web展现mysql_web页面实现LED跑马灯效果(涉及web前端、原生JS、PHP、mysql)

    本帖最后由 yoin 于 2019-11-21 16:24 编辑 产品需求: LED跑马灯页面展示内容(班级电脑展示) setLED更改内容(老师电脑更改内容) LED页面及时更新内容设计思路: 最初 ...

  8. 手机屏大字滚动_LED跑马灯屏-LED跑马灯屏App下载-

    LED跑马灯屏软件是一款模拟LED显示屏应用软件,LED跑马灯软件可轻易实现发光LED跑马灯,使用这款LED跑马灯软件可以随你喜欢自行定义滚动的文字和文字样式. LED跑马灯软件是演唱会电子灯牌.机场 ...

  9. ADI Blackfin DSP处理器-BF533的开发详解14:LED跑马灯(含源代码)

    接口讲完了,下面写点应用程序,GPIO最典型的应用,LED跑马灯. 硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DS ...

最新文章

  1. 小程序判断屏幕是长屏还是短屏手机,iPhone X 类型还是 iPhone 6类型
  2. linux dbus-daemon进程 消息转发 简介
  3. 黄金矿工游戏demo
  4. 初步了解qemu虚拟机
  5. pythonpostapi_python post接口测试第一个用例日记
  6. 002---tcp/ip五层详解
  7. Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性
  8. 50 岁程序员创业说:两个月提交 50 个 PR,三个月内融资 2000 万美元
  9. 终于有人对语音技术来了次彻头彻尾的批判!
  10. [转]WampServer localhost 图标不显示解决办法
  11. Android APK系列4-------Android编译APK后的系统结构
  12. 全新Java高级工程师学习路线图(附学习资料)
  13. 运营商网络IP地址分配原则
  14. CodeForces703D Mishka and Interesting sum(树状数组)
  15. python根据出生年份计算年龄_python根据出生日期计算年龄的代码详解
  16. 【cocos源码学习】解决cocos2d-x-4.0 Android Demo构建遇到的问题
  17. Requests 和 Scrapy 添加动态IP代理
  18. VS连接Linux服务器
  19. SAS软件sid最新
  20. [计算模型]%90的银弹

热门文章

  1. VMware虚拟机配置IP地址
  2. 一笔画问题中用奇点判断是否可以一笔完成
  3. 初学者笔记:Scanf间隔符号的使用
  4. 手机电池电量测试软件,如何查看手机的电池电量以及如何测试电池电量
  5. 将字符串格式yyyy/MM/dd的字符串转为日期,格式“yyyy-MM-dd“
  6. ksql kafka
  7. RGB转换HSL,HSV及切割车牌
  8. status_breakpoint谷歌浏览器如何解决?
  9. 学习Linux系统清理/var/log/journal/垃圾日志教程
  10. java翻译程序_有没有java代码翻译软件?