PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 19-11-2008, 08:44 PM   #1
dientudong
Đệ tử 5 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 95
:
Code:
#include <16F877A.h>                                                            //
#use delay(clock=20000000)                                                      //
#include <lcd.c>                                                                //
float vantoc,soxung;                                                            //
int8 a,b,c,d,a1;                                                                //
int16 sovong,i;                                                                 //
/////////////////ket thuc phan khai bao thu vien va cac bien//////////////////////
////////////khai bao va chuong trinh ngat cho TIMER1/////////////////////
#int_TIMER1                                                            //
void TIMER1_isr(void)                                                  //
 {                                                                     //
   soxung=get_timer0();      //Lay so xung ma Timer0 dem               //
   set_timer1(65535);        // Trong 1ms                              //
   if(tmr1if==1)             //neu Timer1 tran thi co tmr1if =1        //
    {                                                                  //
      intcon=0;              //stop ngat (reset cac thong so ngat )    //
      a1=1;                  //cho a1=1                                //
    }                                                                  //
 }                                                                     //
//////////////////////////ket thuc phan TIMER1///////////////////////////
//////////////////////////bat dau chuong trinh chinh////////////////////////////


void main()
{
   trisa=0xFF;                        //set RA4 input,chan lay xung tu Encoder
   trisb=0;                           //dinh huong portB la ngo ra
   trisc=0;                           //dinh huong portC la ngo ra
   trisd=0;                           //dinh huong portD la ngo ra
   lcd_init();                        //ham khoi tao LCD
   lcd_gotoxy(1,1);                   //den vi tri hang 1 cot 1
   lcd_putc("Beginning....");         //in ra beginning....
   delay_ms(1000);                    // tao tre 1s
   lcd_putc('\f');                    //dau cham nhap nhay
   setup_timer_2(T2_DIV_BY_2,254,1);  //tao f(pwm)=9775Hz hay T(pwm)=0.1023ms
   setup_ccp1(CCP_PWM);               //thiet lap chan CCP1 o che do PWM
   for(i=0;i<1000;i++)                //tu 0 den 1000 thi toc do tang dan
     {
       set_pwm1_duty(i);              // Toc do tang dan
       delay_ms(1);
       set_timer0(0);                 //lam moi Timer0 de chuan bi dem xung
       set_timer1(65535);             //dat gia tri cho Timer1_khoang 1s
       setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1);//setupTimer0_demcanhxuongxungEncoder
       setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);        
       enable_interrupts(INT_TIMER1);  //cho phep ngat Timer1
       enable_interrupts(GLOBAL);      //cho phep ngat toan cuc
       delay_ms(10);  //

       if(a1==1)   //cu moi lan Timer1 ngat thi a1=1 ,roi tinh vantoc,hien thi
         {
           vantoc=((float)(60*soxung)/(0.01*100));    //Tinh van toc
           a=vantoc/1000;                             //chia lay phan nguyen
           b=(int)(vantoc-1000*a)/100;                //chia lay phan nguyen
           c=(int)(vantoc-1000*a-100*b)/10;           //chia lay phan nguyen
           d=(int)vantoc%10;                          //chia lay phan du
           ///////////////////toi phan hien thi LCD/////////////////////////////
           lcd_gotoxy(3,3);         //den vi tri hang 3 cot 3
           lcd_putc(a+48);          //in ra a
           lcd_gotoxy(3,4);         //den vi tri hang 3 cot 4
           lcd_putc(b+48);          //in ra b
           lcd_gotoxy(3,5);         //den vi tri hang 3 cot 5
           lcd_putc(c+48);          //in ra c
           lcd_gotoxy(3,6);         //den vi tri hang 3 cot 6
           lcd_putc(d+48);          //in ra d
           lcd_gotoxy(4,3);         //den vi tri hang 4 cot 3
           lcd_putc("vong/phut");   //in ra "vong/phut"
           lcd_gotoxy(2,2);         //den vi tri hang 2 cot 2
           lcd_putc("toc do dc");   //in ra "toc do dc"
           delay_ms(5);             //
           tmr0if=0;tmr1if=0;       //Xoa co tran cua Timer0 va Timer1
         }
     }
}
Các bạn cho mình hỏi,sao khi biên dịch CCS nó cứ báo lỗi trong file lcd,mong các bạn chỉ bảo.Rất cảm ơn !

thay đổi nội dung bởi: namqn, 19-11-2008 lúc 10:32 PM.
dientudong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-11-2008, 10:33 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi dientudong View Post
...
Các bạn cho mình hỏi,sao khi biên dịch CCS nó cứ báo lỗi trong file lcd,mong các bạn chỉ bảo.Rất cảm ơn !
Nếu bạn được hỏi câu này thì bạn trả lời ra sao, khi người hỏi không cho biết trong file "lcd.c" có những gì?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:41 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam