Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung
Chào Mừng bạn đến với diễn đàn của lớp 32CĐ Cơ - Điện Tử ĐHCN Việt-Hung

Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung

Sân chơi dành cho sinh viên giao lưu học tập
 
Trang ChínhPortalCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Điều chế xung PWM

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
vip
vip
avatar

Tổng số bài gửi : 366
vi phạm : 0
Join date : 15/04/2010
Age : 27
Đến từ : Bình Lục-Hà Nam

Bài gửiTiêu đề: Điều chế xung PWM   Sun Nov 27, 2011 7:04 pm

điều xung led dùng delay trên 89 nè:
#include
unsigned char a,b,so_lan,bien;
void delay(unsigned char time)
{
unsigned long m,l;
for(m=0;m{
for(l=0;l<40;l++){}
}
}
void delay1(unsigned int time)
{
unsigned int m_a,l_b;
for(m_a=0;m_a{
for(l_b=0;l_b<50;l_b++){}
}
}
void sang_P1(void)
{
for(bien=0;bien<50;bien++)//điều chỉnh biến ta có dc thời gian sang tat tuỳ ý.
{
P1 = 0x00;
delay1(50-bien);
P1=0xFF;
delay1(bien);

}
}
void tat_P1(void)
{
for(bien=0;bien<50;bien++)
{
P1 = 0xFF;
P3 = 0xFF;
delay1(50-bien);
P1 = 0x00;
P3 = 0x00;
delay1(bien);
}
}void main(void)
{
while(1)
{
sang_P1();
tat_P1();
delay(800);
}
}

//chuong trinh pwm nhieu kenh
//chi co gia tri tham khao
http://www.khongtenmien.com
//su dung thach anh 12MHz
//chu ki pwm=10ms
#include
#define kenh1 P2_0
#define kenh2 P2_1
#define kenh3 P2_2
#define kenh4 P2_3
#define kenh5 P2_4
#define kenh6 P2_5
#define kenh7 P2_6
#define kenh8 P2_7
unsigned char t_on=0,chu_ki=100,pwm1=0;pwm2=0;pwm3=0;pwm4=0,pwm5 =0,pwm6=0,pwm7=0,pwm8=0;
void timer0() interrupt 1
{

TR0=0;
t_on++;
if(t_on>chu_ki)t_on=0;
TR0=1;
}
void pwm()
{

kenh1=(pwm1>t_on)? 0:1;
kenh2=(pwm2>t_on)? 0:1;
kenh3=(pwm3>t_on)? 0:1;
kenh4=(pwm4>t_on)? 0:1;
kenh5=(pwm5>t_on)? 0:1;
kenh6=(pwm6>t_on)? 0:1;
kenh7=(pwm7>t_on)? 0:1;
kenh8=(pwm8>t_on)? 0:1;
}
void main()
{

TMOD=0x02; //timer 0 mode 2
TH0=155; //timer 0 chay 100uS
TL0=155;
ET0=1; //cho phep ngat timer 0
EA=1; //cho phep ngat toan cuc
pwm1=10;//gia tri pwm
pwm2=70;
pwm3=40;
pwm4=50;
pwm5=70;
pwm6=80;
pwm7=30;
pwm8=100;
TR0=1;
while(1)
{

pwm();
}
}
Về Đầu Trang Go down
Xem lý lịch thành viên http://loveanhthao.co.cc
 

Điều chế xung PWM

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung :: Thông Báo-
Chuyển đến 
Đăng NhậpNhanh
.:Đăngkí:. | .: Quên mật khẩu:.