Wednesday, June 9, 2021

PortE programming of dsPIC30F1010 in XC16

PortE of dsPIC30F1010 is a 16-bit bi-directional I/O port. Within the 28-pin SOC package of this device, there are only six usable pins. They are not complex because there are not analog input function relate to this port.

PortE programming of dsPIC30F1010 in XC16

Experiment on breadboard

As it was shown in previous post, total pin numbers and its description is figured out below.

PortE programming of dsPIC30F1010 in XC16

Pin diagram of dsPIC30F1010

In SFR of this controller, PORTE is an input register while LATE is an output register. To get digital input data PORTE register must be read. Writing digital data out, LATE must be modify. TRISE is data direction control register. Writing '1' to this register to make data register as digital input. Clearing this register to make data register as digital output.

PortE programming of dsPIC30F1010 in XC16

dsPIC30F1010/2020 PORT REGISTER MAP

In this programming example I select RE4 as digital input, connecting to a button. RE5 connects an LED as a digital output.

PortE programming of dsPIC30F1010 in XC16

Schematic diagram

This system operates at 5VDC as it's supplied from PICKIT2 device programmer. Internal fast RC oscillator is used in this programming example to cut down component counts during prototyping on breadboard.

Pin 1 connects to reset circuit. Pressing SW1 to restart the system. Whenever SW2 is pressed and released, output LED D1 toggles its logic state.

Device's configuration setting is stored in "config.h" file of project directory.

Click here to download this example in zip file.


No comments:

Post a Comment

Search This Blog

Labels

25AA010A (1) 8051 (7) 93AA46B (1) ADC (30) Analog Comparator (1) Arduino (15) ARM (6) AT89C52 (7) ATMega32 (56) AVR (57) CCS PICC (28) DAC (1) DHT11 (2) Display (105) Distance Sensor (3) DS18B20 (3) dsPIC (2) dsPIC30F1010 (2) EEPROM (5) Environment Sensor (4) esp8266 (1) I2C (29) Input/Output (67) Interrupt (19) Keil (5) Keypad (10) LCD (47) Master/Slave (1) MAX7221 (1) MCP23017 (5) MCP23S17 (4) Meter (3) MikroC (2) Motor (15) MPLABX (71) Nokia 5110 LCD (3) OLED (2) One-Wire (6) Oscillator (8) PCB (6) PCD8544 (3) PCF8574 (5) PIC (107) PIC12F (2) PIC16F628A (2) PIC16F630 (1) PIC16F716 (3) PIC16F818 (10) PIC16F818/819 (2) PIC16F84A (15) PIC16F876A (1) PIC16F877A (9) PIC16F88 (1) PIC16F887 (60) PIC18 (19) PIC18F1220 (4) PIC18F2550 (3) PIC18F4550 (12) PWM (11) RTC (8) Sensor (10) SH1106 (1) Shift Register (11) Shift Registers (3) SPI (24) STM32 (6) STM32 Blue Pill (6) STM32CubeIDE (6) STM32F103C8T6 (6) SysTick (3) temperature sensor (11) Thermometer (21) Timer/Counter (31) TM1637 (2) UART (7) Ultrasonic (4) Voltmeter (7) WDT (1) XC16 (2) XC8 (94)