Truyen2U.Top - Tên miền mới của Truyen2U.Net. Hãy sử dụng ứng dụng 1.1.1.1 để đọc truyện nhé!

ngắt RB4 đến RB7thay đổi kiểutốc độ chớp nháy con led

Màu nền
Font chữ
Font size
Chiều cao dòng

Còn đây là ứng dụng ngắt ngoài trên RB4 đến RB7 để thay đổi kiểu cũng như tốc độ chớp nháy mấy con led chỉ để....ngắm cho vui mắt !

Ấn sw1, led1 nhấp nháy với delay 250ms

Ấn sw2, led1,2 nhấp nháy với delay 200ms

Ấn sw3, led1,2,3 nhấp nháy với delay 150ms

Ấn sw4, led1,2,3,4 nhấp nháy với delay 100ms

Code:

//*****************************************************************************

// Author : nhh

// Date : 03/04/06

// Hardware: PIC16F877A

//*****************************************************************************

#include <16F877A.h>

#fuses NOWDT,PUT,XT,NOPROTECT

#use delay(clock=4000000)

#use fast_io(b)

#byte portb=0x06

#byte intcon=0x000B

#bit RB4=portb.4

#bit RB5=portb.5

#bit RB6=portb.6

#bit RB7=portb.7

#bit RBIF=intcon.0 //dinh nghia co ngat RB

#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB

int led=0,speed;

// Chuong trinh ngat

#int_RB

void ngat_RB()

{

if((RBIF)&&(RBIE))

{

//Kiem tra sw1

{

if(RB4==0)

{

led=0b00000001; //led1 sang

speed=250;

}

}

//Kiem tra sw2

{

if(RB5==0)

{

led=0b00000011; //led1,2 sang

speed=200;

}

}

//Kiem tra sw3

{

if(RB6==0)

{

led=0b00000111; //led1,2,3 sang

speed=150;

}

}

//Kiem tra sw4

{

if(RB7==0)

{

led=0b00001111; //led1,2,3,4 sang

speed=100;

}

}

RBIF=0; //Xoa co ngat RB

}

}

// Chuong trinh chinh

main()

{

set_tris_b(0b11110000);

portb=0b00001111;

enable_interrupts(global);

enable_interrupts(int_RB);

ext_int_edge(H_to_L);

while(true)

{

portb=led;

delay_ms(speed);

portb=0;

delay_ms(speed);

}

}

Không như trong MPLAB, đã định nghĩa sẵng các thanh ghi và bit tương ứng, còn CCS C chỉ định nghĩa chân PIC, những thanh ghi, những bit mà CCS C cho là cần thiết, ta xem trong file PIC16F887A.h, thanh ghi, bit nào chưa định nghĩa mà muốn sử dụng thì phải định nghĩa nó.

Ta có thể viết riêng 1 file.h loại này sao cho mình dễ nhớ nhất, đến khi muốn sử dụng chỉ cần khai báo #include<file.h> vào là xài thôi!

Bạn đang đọc truyện trên: Truyen2U.Top