控制AVR单片机5路PWM波形

本文介绍了使用AVR单片机ATMEGA128控制5路PWM波形的方法,该电路还可同时控制15路直流三色灯板,通过迪文触摸屏按顺序点亮。电路设计中,74HC08用于逻辑编码输出15路PWM信号,并通过ULN2003驱动。程序采用ICC-AVR开发,提供了单片机和灯板的PCB设计图以及程序代码链接。
摘要由CSDN通过智能技术生成

控制AVR单片机5路PWM波形
控制AVR单片机5路PWM波形
现开发了单片机控制5路PWM波形,也可以同时控制15路直流三色灯板,按触摸屏顺序点亮的电路和程序,供大家参考。
电路为

单片机ATMEGA128控制5路PWM方波,按照74HC08逻辑编码输出15路PWM信号,一次按照迪文触摸屏点亮3种颜色灯板的5路发光信号。ULN2003提供12V电压。每个灯板通过一个CMOS管IR3205输出功率。一个74HC08通过一路PWM,这路PWM通过74HC08控制的继电器控制IR3205的开关,进而控制24V,13V,36V灯板的开关,灯板的亮度通过PWM波形的占空比调节电路的PCB如下

上面是单片机PCB,它和灯板PCB通过排线连接

图片在这里插入图片描述

在这里插入图片描述

图片

图片

图片

图片

图片

上面是灯板PCB。下面是单片机程序,程序用ICC-AVR开发,链接:https://pan.baidu.com/s/1X_7zIHR4K1ipaGRTviVtUw ;
提取码:so7m
链接: https://pan.baidu.com/s/1oK1L9I1EFRVYrHcABoS7Cg?pwd=y7nn 提取码: y7nn
复制这段内容后打开百度网盘手机App,操作更方便哦
//ICC-AVR application builder : 2010-6-22 15:14:03
// Target : M64A
// Crystal: 4.0000Mhz
/*
修改宏定义以实现不同功能,
*/

#include “main.h”

/*******************************************
向串口1发送单个数据,查询方式
***************************************/
void TxUart1(unsigned char i)
{
//CLI(); //disable all interrupts
//DelayMs(1);
while (!(UCSR0A & (1<<UDRE0))); /
等待发送缓冲器为空
/
UDR0 = i; /
发送数据
/
//SEI(); //re-enable interrupts
}

/*******************************************
向串口0发送数组,查询方式
参数1:数组指针;
参数2:数组长度;
*******************************************/
void TxArrayUart1(unsigned char *ptr,unsigned char number)
{
//CLI(); //disable all interrupts
uchar i;
for(i = 0; i < number; i++)
{
TxUart1(ptr[i]);
}
//SEI(); //re-enable interrupts
}

/*******************************************
向串口1发送单个数据,查询方式


void TxUart1(unsigned char i)
{
//CLI(); //disable all interrupts
while (!(UCSR1A & (1<<UDRE1))); //等待发送缓冲器为空
UDR1 = i; //发送数据
//SEI(); //re-enable interrupts
}

/*******************************************
向串口0发送数组,查询方式
参数1:数组指针;
参数2:数组长度;


void TxArrayUart1(unsigned char *ptr,unsigned char number)
{
//CLI(); //disable all interrupts
uchar i;
for(i = 0; i < number; i++)
{
TxUart1(ptr[i]);
}
//SEI(); //re-enable interrupts
}

/*******************************************
数据接收ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值