View Single Post
Old 17-07-2011, 03:48 PM   #2
tranbahung80
Đệ tử 1 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 22
:
BÀI SỐ 2

2) BAI1-cổng- nháy led
//VAO RA CONG VA NHAY LED CONG D BANG TRE THOI GIAN
#include<pic.h>
__CONFIG(HS & PWRTEN & BOREN & LVPDIS);
//---------Cac dinh nghia va Ngat----------
void init(void);
void delay(void);
//---------Chuong trinh chinh------------------
void main()
{
CLRWDT();
init();
while(1)
{
PORTD = 0b11111111;
delay();
PORTD = 0b00000000;//0x00;
delay();
}
CLRWDT();
}
//------DINH NGHIA CONG VAF CAC NGAT-------------------
void init(void)
{
TRISD = 0b00000000; //=1 laf IN, =0 la OUT
PORTD = 0b00000000;
TRISB = 0b11111111;
TRISC = 0b11111111;
TRISA = 0b11111111; //CONG ALAGOC
TRISE = 0b00000111; // SO
ADCON1 = 0b00000010; // ANi là c?ng s?
}
//---------LAM TRE THOI GIAN------------
void delay (void)
{
unsigned int i;
for(i=0;i<65535;i++)
{
NOP(); // khoang 30 lenh,
CLRWDT();
}
}
//=========THE END=========

3) Bai 2-Nhay led-TMTO
#include<pic.h>
__CONFIG(UNPROTECT & WDTEN & HS & PWRTEN & BOREN & LVPDIS & DUNPROT & DEBUGDIS);
//========Cac dinh nghia dung moi loi=========
void init(void); // su bat dau
bit bNewTMR0; // bit la dieu kien tat mo .....
//===========HAM NGAT================
#define T0 100
unsigned int uiClk0; //la ki tu dem den bao nhieu thi chan
void interrupt MyInt(void)
{
//--------ngat TMRO--------------------
if(TMR0IF)
{
TMR0 = 256-T0;
//Thoi gian co mot ngat= (0.2µs)*(128)*((256-TMR0)=T0) (µs)=2560 µs =2.56ms
if((uiClk0++)==390) //tao thoi gian tre TMR0=1s
{
uiClk0 = 0;
bNewTMR0 = 1; //dieu kien bat tat?,
}
TMR0IF = 0; //xao co ngat,
}
}
//==========Chuong trinh chinh'=================
void main() //chuong trinh trinh
{
init(); //bat dau chuong trinh
while(1)
{
if(bNewTMR0 == 1) //khi =1 thi dung thuc hien
{
RD0 = !(RD0); //dung dao
RD2 = !(RD2); //de dao thi viet tung bit
RD4 = !(RD4);
RD6 = !(RD6);
bNewTMR0 = 0; //soa = 0
}
NOP();
CLRWDT();
}
CLRWDT();
}
//==========THE END MAIN====================
void init(void)
{
//---------Dinh nghi cac cong------------------
TRISD = 0b00000000; //cong X la ra
PORTD = 0b11111111; //CONG RA MUC 0 HAY 1
//----------Khoi tao TMRO--------------
OPTION = 0b00000110; //bA bit cuoi ty le chia 128
TMR0IE = 1; //cho phep ngat TMRO
//-----------Co ngat toan cuc--------------
//PEIE = 1; //cho phép các ng?t ngoài làm vi?c
GIE = 1; //choi phep ngat toan cuc
}
//====THE END==================
__________________
Chuyên sửa các thiết bị công nghiệp-Phân loại Sacmi-Lò nung-máy ép... Sách hướng dãn PIC 16F877A -DĐ 0972.404.298
tranbahung80 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn