View Single Post
Old 11-08-2008, 06:07 PM   #51
cong1810
Đệ tử 4 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 62
:
Send a message via Yahoo to cong1810
các bác cho em hỏi.em viết 1 đoạn code PWM nhỏ và mô phỏng.
lúc để value là hằng số thì mô phỏng đúng.
còn để value là biến số thì mô phỏng ko chạy gì hết.em mất cả buổi mà ko biết tại sao?
các sư huynh chỉ giáo!!em dùng 1 phím nhấn để tăng duty!!

Code:
#include<16f877a.h>
#fuses XT,NOPROTECT,NOLVP,NOWDT
#use delay(clock=4000000)
#byte portb=0x06
int8 value=0,period=200,percent=0;
#int_RB
void inter_RB()
{
if(percent==100)
   {
   percent=100;
   }
else
  {
  percent=percent+5;
  } 
}
main()
{
set_tris_c(0x00);
set_tris_b(0b00010000);
portb=0x00;
enable_interrupts(INT_RB);
enable_interrupts(global);
ext_int_edge(l_to_h);
setup_CCP1(CCP_PWM);
setup_timer_2(t2_div_by_1,199,1);

while(1)
{
 value=percent*period/100; 
  set_pwm1_duty(value);
}
}

thay đổi nội dung bởi: namqn, 11-08-2008 lúc 06:55 PM.
cong1810 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn