N76E003 GPIO Uygulamaları

Nuvotonun 8 bitlik mikro denetleyicilerinden, 8051 sınıfına giren N76E003, fiyat ve kolaylık açısından çoğu tasarımcının tercihi olmaya başlamıştır. STM8S003 ile sık sık karşılaştırılır. Kopyası olduğu düşünülse de aslında birçok özellik bakımından daha üstündür. Keil uVision ya da İar Embeded Workbench kullanabilirsiniz. Altta eklediğim linkte, mikro denetleyicinin tüm ayrıntılarını inceleyebilirsiniz. Başlamadan önce gerekli olan sürücü, h ve c dosyalarınızı projenize eklemelisiniz.

N76E003, 4 adet giriş çıkış portuna sahiptir. P0,P1,P2,P3. Her portun kontrol kaydı bulunmaktadır. Giriş çıkış pinleri 4 farklı giriş çıkış moduna sahiptir. Bunlar Quasi-bidirectional, push-pull, input-only ve open-drain modlarıdır. PxM1 ve PxM2 fonksiyon registerleri sayesinde tablodaki gibi istediğiniz portu seçebilirsiniz.

#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"


void main (void) 
{  
 
 P12_PushPull_Mode;
 P05_Input_Mode;
	
	while(1)
	{
		if(P05==0){ 
			
			P12=1; 
			Timer0_Delay1ms(50);
			P12=0; 
			Timer0_Delay1ms(50);
			P12=1; 
			Timer0_Delay1ms(50);
			P12=0; 
			Timer0_Delay1ms(50);
			P12=1; 
			Timer0_Delay1ms(50);
		}
				else { 
			
			P12=1; 
			Timer0_Delay1ms(250);
			P12=0; 
			Timer0_Delay1ms(250);
			P12=1; 
			Timer0_Delay1ms(250);
			P12=0; 
			Timer0_Delay1ms(250);
			P12=1; 
			Timer0_Delay1ms(250);
		}

		
}}

P05 pinini input olarak ayarlandı, Bu pine buton bağlanmıştır. P14 pini Push-Pull olarak ayarlanmış olup led bağlanmıştır. Butonun 0 ve 1 konumlarına göre led çıkışı kontrol edilmiştir.

Function_define.h içerisinde bulunan PxM1 ve PxM2 fonksiyonları sayesinde gerekli mod ayarları yapılmıştır. Bu dosya üzerinden inceleyip geliştirme yapabilirsiniz.

#define P14_PushPull_Mode			P1M1&=~SET_BIT4;P1M2|=SET_BIT4
#define P05_Input_Mode				P0M1|=SET_BIT5;P0M2&=~SET_BIT5

Gerekli olan devre şeması aşağıdaki gibidir.

Okuduğunuz için Teşekkürler. İyi çalışmalar dilerim.

https://www.nuvoton.com/products/microcontrollers/8bit-8051-mcus/low-pin-count-8051-series/n76e003/

Yorum yapın