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
Bài viết mới nhất
Collapse
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -
-
bởi dinhthuong92Không biết nó thiết kế kiểu gì mà dùng chung được cuộn cảm L cho cả mạch Buck hạ áp để sạc pin và Boost nâng áp cho Led. Muốn vẽ mạch để xem mà nhiều linh kiện quá, e không kham nổi!
Bác nào có sơ đồ xin up lên cho mọi người tham khảo nhé!...-
Channel: Nguồn!
04-09-2026, 11:09 -
-
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
30-08-2026, 21:08 -

Comment