mikroC ile PIC Programlama #06 : Buton ile LED On-Off Uygulaması – 2
Merhaba, mikroC ile PIC programlama eğitimlerimizin bu adımında bir önceki Buton ile LED On-Off uygulamamızda yapmış olduğumuz kara şimşek uygulamasına polis çakarı özelliğini de ekleyeceğiz.
Bölümler
00:00 Proje Dosyalarının Oluşturulması
00:32 Parametreli Fonksiyon Tanımlama
03:10 Karaşimşekli Polis Çakarı Uygulamasının Kodlanması
06:20 Program Kodlarının Test Edilmesi
Şematik Tasarım
Uygulama Kodları
// Connections
sbit LED at LATA4_bit;
sbit LEDB1 at LATD0_bit;
sbit LEDB2 at LATD1_bit;
sbit LEDB3 at LATD2_bit;
sbit LEDB4 at LATD3_bit;
sbit LEDR1 at LATD4_bit;
sbit LEDR2 at LATD5_bit;
sbit LEDR3 at LATD6_bit;
sbit LEDR4 at LATD7_bit;
sbit BUTTON_UP at RB0_bit;
sbit BUTTON_DOWN at RB1_bit;
// Global Variables
unsigned short i,j;
// Functions
void wait(unsigned int time){
while(time--)
delay_ms(1);
}
void main() {
TRISA=0b00000000; //[][][][LED][][][][]
TRISB=0b00000011; //[][][][][][][BUTTON_DOWN][BUTTON_UP]
TRISD=0b00000000; //[LEDB4][LEDB4][LEDB2][LEDB1][LEDR4][LEDR3][LEDR2][LEDR1]
LATA=0x00;
PORTB=0x00;
LATD=0x00;
ADCON1 |= 0x0F;
PORTD=0b00000001;
//EP:5
while(1){
PORTD=0b00000001;
for(j=0;j<3;j++){
for(i=0;i<7;i++){
PORTD<<=1;
wait(75);
}
for(i=0;i<7;i++){
PORTD>>=1;
wait(75);
}
}
PORTD=0x00;
for(j=0;j<3;j++){
for(i=0;i<5;i++){
PORTD=0b00001111;
wait(50);
PORTD=0b00000000;
wait(50);
}
for(i=0;i<5;i++){
PORTD=0b11110000;
wait(50);
PORTD=0b00000000;
wait(50);
}
}
}
while(1){
//EP:1
if(!BUTTON_UP){
wait(50);
if(PORTD != 0b10000000) PORTD<<=1;
while(!BUTTON_UP);
}
//EP:4
if(!BUTTON_DOWN){
wait(50);
if(PORTD != 0b00000001) PORTD>>=1;
while(!BUTTON_DOWN);
}
}
}
Uygulama kodlarını GitHub üzerinden incelemek ve indirmek için tıklayın. Merak ettiğiniz ve aklınıza takılan soruları aşağıda 👇 yorum olarak bize iletebilirsiniz. Yeni uygulamalar gerçekleştirirken YouTube kanalımızdaki videolarımızdan yararlanmayı unutmayın. İyi çalışmalar. 🙂 #geliştirmeyebaşla
Yorum yapmak için giriş yapmalısınız.