giờ thì chỉ là Project trên máy tính thôi anh à! không có điều kiện làm ...
!!! giúp em ( kỹ thuật PWM ) !!!
Collapse
X
-
-
các bác ah! cho em hỏi em điều xung để đk 8 led dùng timer0 làm bộ đếm như vậy! em chạy ko thấy độ sáng giảm đáng kể j cả nói chung là chỉ thấy điẻm sang chạy vòng quanh nhưng ko thấy hiện tượng điều xung!
đây là bảng mã PWM 8 led và 8 trạng thái!#include "regx52.h"
#include "bang_ma.h"
#define LED3 P3
unsigned char pwm_buffer[8][8];
unsigned char pwm0,pwm1,pwm2,pwm3,pwm4,pwm5,pwm6,pwm7;
unsigned char bien=0;
//----------------ham delay------------
void delayms(unsigned int time){
while(--time){
unsigned int time1=121;
while(--time1);
}
}
//--------ham ngat timer0--------------
void isr_t0() interrupt 1 {
unsigned char lap=1000;
EA=0;
TH0=0;
LED3=255;
while(lap--) {
do {
if(TH0==pwm0) P3_0=0;
if(TH0==pwm1) P3_1=0;
if(TH0==pwm2) P3_2=0;
if(TH0==pwm3) P3_3=0;
if(TH0==pwm4) P3_4=0;
if(TH0==pwm5) P3_5=0;
if(TH0==pwm6) P3_6=0;
if(TH0==pwm7) P3_7=0; }
while (TH0==255);
}
bien++;
if(bien>=8) {bien=0;}
EA=1;
}
//---------load hieu ung pwm -------------
void load_data(){
unsigned int i,j;
for (i=0;i<8;i++){
for (j=0;j<8;j++){
pwm_buffer[i][j]= bang_ma[8*i+j];
}
}
}
void khoitao_timer0();
//=======chuong trinh chinh================
void main(void){
khoitao_timer0();
load_data();
P1=0;
while(1){
unsigned char j;
for(j=0;j<8;j++){
switch (j) {
case 0: pwm0=pwm_buffer[bien][j]; break;
case 1: pwm1=pwm_buffer[bien][j]; break;
case 2: pwm2=pwm_buffer[bien][j]; break;
case 3: pwm3=pwm_buffer[bien][j]; break;
case 4: pwm4=pwm_buffer[bien][j]; break;
case 5: pwm5=pwm_buffer[bien][j]; break;
case 6: pwm6=pwm_buffer[bien][j]; break;
case 7: pwm7=pwm_buffer[bien][j]; break;
}
}
}
}
//--------------khoi tao timer0----------------
void khoitao_timer0(){
TMOD=0x01; //timer0 mode 2 8bit auto reload
TH0=0;
TR0=1;
EA=1;
ET0=1;
TF0=0;
}
mong các bác xem và cho em ý kiến để sửa code này chạy cho chuẩn hơn ạ!unsigned char code bang_ma[] =
{
10,75,200,255,0,0,0,0,
0,10,75,200,255,0,0,0,
0,0,10,75,200,255,0,0,
0,0,0,10,75,200,255,0,
0,0,0,0,10,75,200,255,
255,0,0,0,0,10,75,200,
200,255,0,0,0,0,10,75,
75,200,255,0,0,0,0,10,
};Last edited by mr.ngoc; 08-09-2010, 10:37.
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
26-10-2026, 16:33 -
Comment