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
-
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 -
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -

Comment