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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 09-11-2008, 12:45 PM   #3
dientudong
Đệ tử 5 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 95
:
thắc mắc nhờ chỉ bảo

///////////khai bao cac thu vien va cac bien toan cuc/////////////////////////////
#include "D:\Baibaocaonhom7\CODE\nhom7.h" //
#include <16f877a.h> //
#include <def_877a.h> //
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT //
#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(55535); // Trong 1ms //
if(tmr1if==1) //
{ //
intcon=0; //stop ngat //
a1=1; //
} //
} //
//////////////////////////ket thuc phan TIMER1///////////////////////////
//////////////////////////bat dau chuong trinh chinh////////////////////////////


void main()
{
trisa=0xFF; //set RA4 input
trisb=0;
trisc=0;
trisd=0;
lcd_init();
lcd_gotoxy(1,1);
lcd_putc("Beginning....");
delay_ms(1000);
lcd_putc('\f');
setup_timer_2(T2_DIV_BY_16,255,1);
setup_ccp1(CCP_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);
set_timer1(55535);
setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1); //Che do counter
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
delay_ms(50);cai vao

if(a1==1)
{
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
/////////////////////////////////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); //Vong for tu 0->1000 nen delay it thoi
tmr0if=0;tmr1if=0; //Xoa tran
}
}
}
CÁC BẠN VUI LÒNG CHO MÌNH HỎI :đoạn code viết về điều khiển động cơ Dc dùng Encoder,Pic 16F877a,hien thị LCD,PWM.Nhưng mình không hiểu sao khi biên dich trong CCS nó hiện ra dòng"Can not change device type this far into the code "
dientudong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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à 12:09 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