View Single Post
Old 14-11-2008, 11:39 AM   #1
nguyenquoctoan
Đệ tử 6 túi
 
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
:
hiển thị giá trị xung trên lcd

tiểu đệ điều xung xuất giá trị ra lcd tăng giảm độ sáng của một bóng đèn,đoạn code như sau:

Code:
#include<16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#device PIC16f877a*=16 ADC=10
#use delay(clock=4000000)
#include<lcd_lib_4bit.c>
#byte porta = 0x05
#byte portb = 0x06 
#byte portc = 0x07   
#byte portd = 0x08
#byte porte = 0x09
void main()
{     
      
         set_tris_b(0);
         set_tris_e(0);
         LCD_init();
         delay_us(10);
         LCD_putcmd(0x80);
         delay_us(10);
         printf(LCD_putchar,"do_sang !");
         setup_ccp1(CCP_PWM);   // CCP1 la chan PWM

                        //(1/4000000)*4*16*128= 2048 us or 488 Hz

         setup_timer_2(T2_DIV_BY_16, 127, 1);
         set_pwm1_duty(500);
         LCD_putcmd(0xc0);
         delay_us(10);
         printf(LCD_putchar," %lu",CCP_1);//xuat gia r\tri g
     while(1)
      {
     
     }
}
chương trình đã chạy ok,nhưng khi hiển thị lcd giá trị của ccp_1 thì lại là 32125,kô biết giá trị này ở đâu ra trong khi giá trị duty của đệ là 500us,và chu kỳ là 2048us,xin các sư huynh chỉ giáo

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