immortall
Üye
- Katılım
- 10 Eki 2018
- Mesajlar
- 72
- Puanları
- 1
- Yaş
- 28
Arkadaşlar merhaba,
Ufak bir problem var. 7 segment display e 0-9 arası rakamları yazdırmak istiyorum. Fakat 2 ye kadar sayıyor. Başa dönüyor. Nedeni nedir acaba? Aynı şekilde kara şimşek uygulaması yaptığımda ledlerin 2 si yanıp başa dönüyordu. Anahtarın durumuna göre (0-1) 4 ledin yanıp 4 ledin söndürüldüğü uygulamada sürekli aynı ledler yanıyordu. Anahtarın konumu değişse de aynı ledler yanıyordu.
7 Segment uygulaması kodları ve devre; (Program MPLAB-X)
Nerede hatam var acaba? Teşekkür ederim.
Ufak bir problem var. 7 segment display e 0-9 arası rakamları yazdırmak istiyorum. Fakat 2 ye kadar sayıyor. Başa dönüyor. Nedeni nedir acaba? Aynı şekilde kara şimşek uygulaması yaptığımda ledlerin 2 si yanıp başa dönüyordu. Anahtarın durumuna göre (0-1) 4 ledin yanıp 4 ledin söndürüldüğü uygulamada sürekli aynı ledler yanıyordu. Anahtarın konumu değişse de aynı ledler yanıyordu.
7 Segment uygulaması kodları ve devre; (Program MPLAB-X)
Kod:
#include <xc.h>
// CONFIG
#pragma config FOSC = XT // Oscillator Selection bits (RC oscillator)
#pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)
#pragma config LVP = ON // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
#define _XTAL_FREQ 4000000
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
int dizi[10]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X67};
void main(void) {
TRISB=0x00;
while(1)
{
for(int i=0; i<10; i++)
{
PORTB=dizi;
__delay_ms(1000);
}
}
}
Ekli dosyalar
Moderatör tarafında düzenlendi: