/*
编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示。
要求:
一、P0口外接8个LED、P1.0~P1.2外接三个按键。
二、T0做延时,溢出定为10ms。
三、按键0~2分别控制闪烁间隔时间分别为,0.5s,1s,2s。
四、开机后,LED全部点亮,3s后以0.5s交替。
单片机高手帮下忙,最好用C写。
=======================================================
//以下程序通过了PROTEUS仿真试验,可以满足要求。
#include
#define uchar unsigned char
#define uint unsigned int
sbit K0 = P3^2;
sbit K1 = P3^3;
sbit K2 = P3^4;
uchar t1 = 0, t2 = 0, t3 = 0, aaa = 0x55, delay_time = 0;
//-------------------------------
void TIME0()interrupt 1
{
TH0 = 0xD8; //初值
TL0 = 0xF0; //10ms @ 12MHz
t1++;
if(t1 == 50) { //每到500ms
t1 = 0;
t2++;
if(t2 == 6) { //到了3s
t2 = 5;
t3++;
if (t3 >= delay_time) {
t3 = 0;
aaa = 255 - aaa;
P0 = aaa;
} } }
}
//-------------------------------
void main() //主函数
{
TMOD = 0x01; //T0定时
TH0 = 0xD8; //初值
TL0 = 0xF0; //10ms @ 12MHz
TR0 = 1;
ET0 = 1;
EA = 1;
P0 = 0x00;
delay_time = 1;
while (1) {
if (K0 == 0) delay_time = 1;
if (K1 == 0) delay_time = 2;
if (K2 == 0) delay_time = 4;
}
}
用 PROTEUS 仿真截图如下:
关键字:LED控制 交替显示
引用地址:
编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示
推荐阅读最新更新时间:2024-03-16 16:02
用单片机控制LED亮灭
1.实验任务 如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2.电路原理图 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上; (2).把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1).开关状态的检测过程 单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平
[电源管理]
基于单片机控制LED摇摇棒的解决方案
摇摇棒本为开发套件,全部采用直插的器件。显示的LED采用了5mm超高亮30度聚光发光二极管,共32只。控制芯片采用宏晶单片机STC11F03E,其内部有3K的程序存储空间,256字节的数据存储空间,另外其内部还有2K的EEPROM空间。设计可以通过串口,把下载的画面数据到内部的EEPROM,掉电后,也不会丢失。 本文通过研究利用事先编好程序来控制16个LED发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为“摇摇棒”),设计并制作一个依靠摇动能显示字符、图形的 LED 显示棒。此装置利用AT89C51单片机对发光二极管阵列进行控制。用滚珠开关检测当前摇动状态,单片机控制16个发光二极管进行不同频率的亮灭
[单片机]
LED路灯智能控制系统设计方案
摘要:出于对能源消耗及智能化水平的考虑,传统的路灯控制方式已不能满足社会发展的需求。在分析了单片机MSP430的性能优势之后,从绿色能源、节约能源和性价比的角度出发,提出了一个基于MSP430为控制核心的设计方案。单片机在规定亮灯时间内检测背景光强度,若背景光强度较弱启用热释电红外传感器开始探测人体和车辆发出的红外信号。当有人或车辆进入传感器探测区域,单片机输出脉宽调制信号PWM,并根据背景光强度调整LED路灯的亮度,选用合适的占空比来控制恒定电流源的工作电流来保证道路的可见度,从而完成对LED路灯的智能化控制。实验仿真结果充分证明了系统方案的可行性、高效性和稳定性。 0 引 言 近年来,随着经济的高速发展和汽车的
[单片机]
LED亮度控制方法介绍
引言 为了得到更好的功效和色彩一致性,LED亮度通常通过调节LED驱动器的PWM周期占空比控制。一个PWM周期可以划分成2的“控制位”次方(2CONTROL BITS)个时钟周期。消费类电子应用中,控制位分辨率通常是8位。8位PWM分辨率可对应提供256个不同的亮度电平,相应的PWM周期由256个时钟周期组成。如消费类电子产品中,典型的时钟频率是32kHz,则PWM周期为256/32kHz或8ms。因此,PWM刷新率大约是125Hz,由此得到的PWM分辨率和刷新率足以支持亮度调整,并可消除人眼能够觉察的闪烁。 为LED驱动器提供16位分辨率 对于要求同时达到16位PWM分辨率和2kHz刷新率的应用,设计将面临诸多挑战。16位
[电源管理]
利用低电压电流吸收器控制高电压LED串
大多数采用白色发光二极管(WLED)背光显示器的便携式产品同时还需要辅助的LED照明。一般需要两个IC:一个感性升压转换器,使背光LED获得最大效率( 80%);一个电荷泵,允许独立控制各辅助LED。此外,每个IC都需要一个可编程的电流吸收器来进行亮度控制或者混色,这会导致成本和复杂度迅速上升。本篇设计技巧介绍如何将单个可编程 LED 驱动器与一个低成本升压转换器结合在一起,实现灵活高效且易于编程的解决方案。图1显示使用升压转换器ADP1612(见图 2)和并行LED驱动器ADP8860(见图 3)的实现方案。 图1. 升压转换器ADP1612和LED驱动器ADP8860实现背光和辅助 LED 的可编程驱动。
[电源管理]
DMX512 LED灯光控制器的设计与开发
1 概述 近几年来,作为 半导体 照明领域的一部分,城市景观 照明 及室内外装饰照明的霓虹灯和部分传统光源必将逐步被具有节能、环保、寿命长、可靠性高及可实现全彩变化的LED光源所取代。目前,在装饰照明领域中用 LED 制作的各类灯具正被逐步推广。 DMX灯光控制器是广泛应用于LED灯光系统的控制设备,可以根据用户的需要实现不同的显示方案,实现令人眩目的色彩方案。本控制器采用DMX512协议进行通讯。 2 背景知识 本控制器采用DMX512协议进行通讯。下列知识必须具备: 1) DMX512协议,请参考文章《DMX512协议》。 2) PIC18单片机软硬件开发技术。 3) PCB及电子电路设
[电源管理]
电池供电LED控制器电路介绍
利用MAX684的关断控制引脚或MAX1916的使能控制引脚可以关闭LED。对于正向电压在3.5~4.2V(在20mA条件下)的白光LED 通常需要升压转换器,可以用电荷泵(如MAX682~MAX684)与MAX1916共同构成这种LED 的驱动 电路,如图1所示。MAX682~MAX684能够将2.7V的输入电压转换为5.05V输出,输出电流能够分别达到250mA、100mA、50mA。图1电路中,MAX684在关断模式下,电源 电流降至22μA;RSET=43kΩ时,LED电流为22mA; 图2是利用电荷泵构成LED电流控制电路,反馈调节电压的典型值为1.235V,Ipk=1.235/R SENSE,选用24Ω的检
[电源管理]
直接通过寄存器地址操作控制LED灯(STM32_01)
一、硬件基础 1、开发板:STM32-PZ6806L 2、MCU型号:STM32F103ZET6 (1)内核:32位 高性能ARM Cortex-M3处理器。时钟:高达72M,实际还可以超频一点。单周期乘法和硬件除法。 (2)IO口:STM32F103ZET6: 144引脚 112个IO,大部分IO口都耐5V(模拟通道除外),支持调试:SWD和JTAG,SWD只要2根数据线 (3)存储器容量:512K FLASH,64K SRAM (4)时钟,复位和电源管理: ① 2.0~3.6V电源和IO电压 ② 上电复位,掉电复位和可编程的电压监控 ③ 强大的时钟系统 -4~16M的外部高
[单片机]