学习笔记——LED跑马灯
目录
- 一、任务简述
- 二、实现方法
- 三、参考代码
一、任务简述
在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跑马灯相关推荐
- HaaS学习笔记 | HaaS框架环境下基于MicroPython的LED跑马灯实现及比较
[1]题目要求 [案例]:在HaaS框架下用原生MicroPython实现LED跑马灯. 蓝蜻蜓ESP32开发板的LED灯电路连接如下: D3灯----GPIO14,高电 ...
- HaaS学习笔记 | 基于HaaS Python轻应用的LED跑马灯明细教程
[1]题目要求 [案例]:在HaaS框架下实现LED跑马灯. 蓝蜻蜓ESP32开发板的LED灯电路连接如下: D3灯----GPIO14,高电平点亮,低电平熄灭. ...
- 阿里云python轻应用学习笔记(二)---开发一个LED跑马灯程序
摘要:本篇文章将使用python开发一个LED闪烁的程序.程序源代码从官方帮助文档复制过来,开发的时候会遇到一些错误,本篇文章也一并提供解决方法. 实验目的:编写python程序,实现LED跑马灯. ...
- TQ2440+RealViewMDK调试LED跑马灯(成功!)
去年买的TQ2440的开发板,搁了一年,没咋用,今年心血来潮,想学学了,于是又翻开了板子,结果是个伤脑筋的活啊......果然比单片机.AVR的来的难啊,搞了两天,也参考了网上的资料,竟然(居然)才弄 ...
- STM32如何使用STLINK下载程序:点亮LED跑马灯(库版本)
系列文章目录 STM32F103ZE学习记录:主要参考正点原子教程 文章目录 系列文章目录 前言 一.环境的搭建 1.新建编程文件操作步骤 2.ST_LINK烧录搭建 3.STlink下载出现st-l ...
- 基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯
基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯仿真设计 (程序+proteus仿真+报告) Proteus仿真版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C ...
- web展现mysql_web页面实现LED跑马灯效果(涉及web前端、原生JS、PHP、mysql)
本帖最后由 yoin 于 2019-11-21 16:24 编辑 产品需求: LED跑马灯页面展示内容(班级电脑展示) setLED更改内容(老师电脑更改内容) LED页面及时更新内容设计思路: 最初 ...
- 手机屏大字滚动_LED跑马灯屏-LED跑马灯屏App下载-
LED跑马灯屏软件是一款模拟LED显示屏应用软件,LED跑马灯软件可轻易实现发光LED跑马灯,使用这款LED跑马灯软件可以随你喜欢自行定义滚动的文字和文字样式. LED跑马灯软件是演唱会电子灯牌.机场 ...
- ADI Blackfin DSP处理器-BF533的开发详解14:LED跑马灯(含源代码)
接口讲完了,下面写点应用程序,GPIO最典型的应用,LED跑马灯. 硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DS ...
最新文章
- 小程序判断屏幕是长屏还是短屏手机,iPhone X 类型还是 iPhone 6类型
- linux dbus-daemon进程 消息转发 简介
- 黄金矿工游戏demo
- 初步了解qemu虚拟机
- pythonpostapi_python post接口测试第一个用例日记
- 002---tcp/ip五层详解
- Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性
- 50 岁程序员创业说:两个月提交 50 个 PR,三个月内融资 2000 万美元
- 终于有人对语音技术来了次彻头彻尾的批判!
- [转]WampServer localhost 图标不显示解决办法
- Android APK系列4-------Android编译APK后的系统结构
- 全新Java高级工程师学习路线图(附学习资料)
- 运营商网络IP地址分配原则
- CodeForces703D Mishka and Interesting sum(树状数组)
- python根据出生年份计算年龄_python根据出生日期计算年龄的代码详解
- 【cocos源码学习】解决cocos2d-x-4.0 Android Demo构建遇到的问题
- Requests 和 Scrapy 添加动态IP代理
- VS连接Linux服务器
- SAS软件sid最新
- [计算模型]%90的银弹
热门文章
- VMware虚拟机配置IP地址
- 一笔画问题中用奇点判断是否可以一笔完成
- 初学者笔记:Scanf间隔符号的使用
- 手机电池电量测试软件,如何查看手机的电池电量以及如何测试电池电量
- 将字符串格式yyyy/MM/dd的字符串转为日期,格式“yyyy-MM-dd“
- ksql kafka
- RGB转换HSL,HSV及切割车牌
- status_breakpoint谷歌浏览器如何解决?
- 学习Linux系统清理/var/log/journal/垃圾日志教程
- java翻译程序_有没有java代码翻译软件?