PICBASIC – Electronica Total https://electronica.xitelcomperu.com Sitio de Aprendizaje de Electronica Facil, microcontroladores PIC, Arduino, etc. Mon, 25 Jan 2021 05:04:56 +0000 es hourly 1 https://wordpress.org/?v=6.7.2 194910965 PICBASIC – Tutorial 2 – Display de 7 segmentos https://electronica.xitelcomperu.com/2021/01/25/picbasic-tutorial-2-display-de-7-segmentos/ https://electronica.xitelcomperu.com/2021/01/25/picbasic-tutorial-2-display-de-7-segmentos/#respond Mon, 25 Jan 2021 04:04:34 +0000 https://electronica.xitelcomperu.com/?p=541 Tutorial 2 : Display de 7 segmentos

 

OBJETIVO:

Desarrollar un programa que nos permita mostrar dígitos en display de 7 segmentos usando un microcontrolador PIC16F84A, y a su vez utilizar diferentes técnicas de programación.

REQUISITOS:

Configuración de pines del microcontrolador (Introduccion)
Instalacion de Picbasic Pro y Microcode (Tutorial)
Instalacion de Labcenter Proteus v8.9 (Tutorial)

DESARROLLO:

Procederemos a desarrollar la programación y simulación de como mostrar números o letras através del PORTB del PIC16F84A con algunos ejemplos muy básicos para entender fácilmente de que se trata.

DIAGRAMA DE FLUJO:

A

DISPLAY DE 7 SEGMENTOS:

CODIGO DEL PROGRAMA:

x VAR byte
numb1 VAR byte

init:
TRISB = %00000000    ‘Configura PORTB como salidas.
PORTB = %00000000  ‘Inicia PORTB en 0

ciclo:
FOR x = 9 to 0 step -1    ‘Ciclo de Cuenta descendente desde 9 a 0
GOSUB convrt                ‘Salta a subrutina de conversion
PORTB = numb1            ‘variable numb1 de los 7 segmentos se refleja en PORTB.
PAUSE 1000                    ‘Pausa de 1 segundo
NEXT                                ‘Siguiente numero en la cuenta

light:
HIGH 0             ‘Cuando la cuenta termina enciende el pin PORTB.0
PAUSE 1000    ‘Pausa de 1 segundo
LOW 0              ‘Apaga el PORTB.0
GOTO ciclo

‘*Subturina para convertir el numero decimal a display de 7 segmentos
convrt: ; gfedcba. catodo comun
LOOKUP x,[%01111110,%00001100,%10110110,%10011110,%11001100,%11011010,%11111010,%00001110,%11111110,%11011110],numb1 ‘Match segments to value of x
RETURN     ‘Retorna a la linea despues de GOSUB
END

SIMULACION EN PROTEUS:

VIDEO EN YOUTUBE:

AA

 

]]>
https://electronica.xitelcomperu.com/2021/01/25/picbasic-tutorial-2-display-de-7-segmentos/feed/ 0 541
Introduccion a PICBASIC PRO https://electronica.xitelcomperu.com/2021/01/24/introduccion-a-picbasic-pro/ https://electronica.xitelcomperu.com/2021/01/24/introduccion-a-picbasic-pro/#respond Sun, 24 Jan 2021 17:30:23 +0000 https://electronica.xitelcomperu.com/?p=522 Introduccion a PICBASIC PRO

PICBASIC PRO es un lenguaje de programación de nueva generación que hace mas fácil y rápido para usted programar micro controladores Pic micro de Microchip Technology.

El lenguaje Basic es mucho más fácil de leer y escribir que el lenguaje ensamblador Microchip.

Sin tanto preámbulo, veremos a continuación la disposición de pines del microcontrolador que se usaran en el compilador PICBASIC PRO.

Esta descripcion de pines es utilizada por el comando HIGH y LOW, que sirven para activar y desactivar, respectivamente, la salidas del microcontrolador.

Ejemplo:

HIGH 0         ‘Activa salida del pin RB0
PAUSE 500

HIGH 9        ‘Activa salida del pin RA1
PAUSE

HIGH 11     ‘Activa salida del pin RA3
PAUSE

ESTRUCTURA DEL PROGRAMA EN MICROCODE:

1º Seleccion del microcontrolador
2º Definir frecuencia del cristal
3º Definir variables y/o constantes
4º Definir comportamiento de puertos (entrada o salida)
5º Definir etiqueta de inicio de programa
6ª Codigo del programa
7º Definir etiqueta de fin de programa

dddd

Proyectos: parpadeo led, 7 segmentos, lcd, teclado, adc, serial, motor dc, servo, sonido, interrupciones, pwm, pulse count, matriz led, registro desplazamiento, eeprom ,spi, i2C, combos(adc-lcd, adc-7seg, sensores, adc-lcd-pwm, adc-lcd-pwm-serial)

]]>
https://electronica.xitelcomperu.com/2021/01/24/introduccion-a-picbasic-pro/feed/ 0 522
PICBASIC – Tutorial 1 – Encender un led https://electronica.xitelcomperu.com/2021/01/24/picbasic-tutorial-1-encender-un-led/ https://electronica.xitelcomperu.com/2021/01/24/picbasic-tutorial-1-encender-un-led/#respond Sun, 24 Jan 2021 08:30:08 +0000 https://electronica.xitelcomperu.com/?p=517 Tutorial 1 : Encender un LED

OBJETIVO:

Desarrollar un programa que nos permita encender un led usando un microcontrolador PIC16F84A, y a su vez utilizar diferentes tecnicas de programacion.

REQUISITOS:

Configuración de pines del microcontrolador (Introduccion)
Instalacion de Picbasic Pro y Microcode (Tutorial)
Instalacion de Labcenter Proteus v8.9 (Tutorial)

DESARROLLO:

Procederemos a desarrollar la programación y simulación de como encender un led utilizando el PIC16F84A con algunos ejemplos muy básicos para entender fácilmente de que se trata.

Antes de empezar tenemos la descripción de los puertos y pines del PIC16F84A, para una mejor comprensión.

Identifacion de pines del microcontrolador PIC16F84A

Nuestro primer programa consiste en encender dos leds, uno en el PORTA y otro en el PORTB.

DIAGRAMA DE FLUJO:

Diagrama de flujo del programa

CODIGO DEL PROGRAMA:

DEFINE OSC 4    ;Definimos frecuencia del cristal, no es necesario colocar si se usa siempre 4MHz

TRISA=0     ;Configuramos todo el PORTA como SALIDAS
TRISB=0     ;Configuramos todo el PORTB como SALIDAS
;Si fuera como entradas seria 255 o $FF

PORTA=0    ;Inicia con el PORTA apagado
PORTB=0    ;Inicia con el PORTB apagado

INICIO:                  ;etiqueta inicio
HIGH 8               ;+5V al pin RA1, ENCIENDE
PAUSE 1000      ;pausa de 1 seg  (1000 milisegundos)
LOW 8                ;0V al pin RA1, APAGA
PAUSE 1000      ;pausa de 1 seg  (1000 milisegundos)

HIGH 3               ;Envia +5V al pin RB3, ENCIENDE
PAUSE 1000      ;pausa de 1 seg  (1000 milisegundos)
LOW 3                ;0V al pin RB3, APAGA
PAUSE 1000      ;pausa de 1 seg  (1000 milisegundos)

GOTO INICIO      ;regresa a etiqueta inicio
END

Simulacion en Proteus:

Simulacion en Proteus, parpadeo de led

VIDEO EN YOUTUBE:

A

EJEMPLO 2:

TRISB=0 ;Configuramos todo el PORTB como SALIDAS
;Si fuera como entradas seria 255 o $FF
PORTB=0 ;Inicia con el PORTB apagado

inicio:
PORTB = 170 ;%10101010 ;equivale en hex a $AA, dec 170
pause 1000 ;pausa de 1 seg
PORTB = 85 ;%01010101 ;equivale en hex $55, dec 85
pause 1000 ;pausa de 1 seg
goto inicio
END

 

EJEMPLO 3:

i var byte
‘barled var PORTB

TRISB=0 ;Configuramos todo el PORTA como SALIDAS
PORTB=%00000001 ;Inicia con el PORTB.0 en 1

inicio:
for i=1 to 7 ;ciclo de encendido desde PORTB.1 hasta PORTB.7
PORTB=PORTB<<1 ;Desplazamiento izquierdo de encendido
pause 100 ;pausa de 1 seg
next i ;siguiente desplazamiento

for i=1 to 7 ;ciclo de encendido desde PORTB.1 hasta PORTB.7
PORTB=PORTB>>1 ;Desplazamiento derecho de encendido
pause 100 ;pausa de 1 seg
next i ;siguiente desplazamiento
goto inicio
END

EJEMPLO 4:

TRISB=0 ;Configuramos todo el PORTA como SALIDAS
TRISA=%11100 ;Configuramos PORTA.0 y PORTA.1 como ENTRADAS (el resto salidas)

PORTA=0 ;Inicia con el PORTA en 0
PORTB=%00000001 ;Inicia con el PORTB.0 en 1

inicio:
if PORTA.0 = 1 THEN ;Si el pulsador PORTA.0 es presionado entonces?
PORTB=PORTB<<1 ;Desplazamiento izquierdo de encendido (AUMENTA)
pause 300 ;Retardo anti-rebote
IF PORTB < 1 THEN ;Al llegar al limite superior del PORTB, este se convierte en 0
PORTB = 128 ;Si el PORTB es 0 entonces se enciende el ultimo led.
endif
ENDIF

IF PORTA.1 = 1 THEN ;Si el pulsador PORTA.1 es presionado entonces?
PORTB=PORTB>>1 ;Desplazamiento derecho de encendido (DISMINUYE)
pause 300 ;Retardo anti-rebote
IF PORTB < 1 THEN ;Al llegar al limite inferior del PORTB, este se convierte en 0
PORTB = 1 ;Si el PORTB es 0 entonces se enciende el primer led.
ENDIF
ENDIF

goto inicio
END

 

]]>
https://electronica.xitelcomperu.com/2021/01/24/picbasic-tutorial-1-encender-un-led/feed/ 0 517
Curso Basico de Microcontroladores PIC con PICBASIC https://electronica.xitelcomperu.com/2015/07/15/mozilla-overhauling-firefox-smartphones/ https://electronica.xitelcomperu.com/2015/07/15/mozilla-overhauling-firefox-smartphones/#comments Wed, 15 Jul 2015 23:50:25 +0000 http://theme-sphere.com/smart-mag/demos/tech/?p=15 Iniciamos el curso basico de microcontroladores PIc utilizando el compilador PICBASIC.

Muy facil de programar

Caracteristicas del compilador

El microcontrolador PIC, es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de entrada/salida, en una sola unidad. Digamos que es muy similar a un ordenador, pero en formato pequeño…
Para que este pequeño ordenador en formato pequeño funcione a nuestro gusto, debemos implementar un set de instrucciones para hablarle y ordenarle.
Como ya sabrán, los microcontroladores son comprados en “blanco” y luego son programados con un programa específico de control. Una vez programado, este microcontrolador es introducido en algún producto para cumplir el rol de trabajo de controlador.
Es sabido, que estos diminutos circuitos integrados, tiene una inteligencia limitada por nosotros mismos a la hora de ejecutar una acción; pues, según se lo programe, se delega solo la responsabilidad de la orden impartida.

State of AI in 2015

Por ejemplo, si nosotros programamos a este microcontrolador para que ejecute la tarea de monitorear y administrar el funcionamiento de un motor a explosión como lo que podemos ver en un automóvil, este solo ara lo que le dijimos por intermedio de las instrucciones de programación, y no esperen que este haga otra cosa que no le hallamos enseñado en su rutina de control.
Hoy en día, se suele aplicar microcontroladores en los desarrollos electrónicos, por que estos pueden reemplazar a un gran número de partes separadas, o incluso a un circuito electrónico completo. Algunas de las ventajas obtenidas con el uso de microcontroladores en el diseño de productos son:

Aumento en la confiabilidad debido al menor número de partes.
Reducción en los niveles de existencia ya que un microcontrolador reemplaza varias partes.
Simplificación del ensamblaje del producto y productos finales más pequeños.
Gran flexibilidad y adaptabilidad del producto ya que las funciones del producto están programadas en el microcontrolador y no incorporadas en el hardware electrónico.
Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrónico.

Intelligence and the AI community

Until the mid 2000s, there was a tendency in the AI community to contrast artificial intelligence with human intelligence, an action that merely passed the buck to psychologists.

In November 2007 an AI pioneer at Stanford University, addressed this issue:

The problem is that we cannot yet characterize in general what kinds of computational procedures we want to call intelligent.

 John MCarthy

This informal definition signposts things that a regulator could manage, establishing and applying objective measures of ability (as defined) of an entity in one or more environments (as defined). The core focus on achievement of goals also elegantly covers other AI.

Another constraint is that AIXI lacks a “self-model” (but a recently proposed variant called “reflective AIXI” may change that).

Smart boats and yatches are already here. What does it take to acquire one?

First, the informal definition may not be directly usable for regulatory purposes because of AIXI’s own underlying constraints. One constraint, often emphasised by Hutter, is that AIXI can only be “approximated” in a computer because of time and space limitations.

Second, for testing and certification purposes, regulators have to be able to treat intelligence as something divisible into many sub-abilities (such as movement, communication, etc.). But this may cut across any definition based on general intelligence.

Intelligence measures an agent’s ability to achieve goals in a wide range of environments.

From a consumer perspective, this is ultimately all a question of drawing the line between a system defined as displaying actual AI, as opposed to being just another programmable box.

If we can jump all the hurdles, there will be no time for quiet satisfaction. Even without the Big Four, increasingly capable and ubiquitous AI systems will have a huge effect on society over the coming decades, not least for the future of employment.

This informal definition signposts things that a regulator could manage, establishing and applying objective measures of ability (as defined) of an entity in one or more environments (as defined). The core focus on achievement of goals also elegantly covers other intelligence-related concepts such as learning, planning and problem solving.

How would you identify an Android?

The future of AI

First, the informal definition may not be directly usable for regulatory purposes because of AIXI’s own underlying constraints.

  • AIXI can only be “approximated” in a computer because of limitations.
  • Another constraint is that AIXI lacks a “self-model”.
  • Regulators have to be able to treat intelligence as something divisible.
  • May cut across any definition based on general intelligence.
  • Other intelligence-related concepts such as problem solving.

Second, for testing and certification purposes, regulators have to be able to treat intelligence as something divisible into many sub-abilities (such as movement, communication, etc.). But this may cut across any definition based on general intelligence.

But if the Big Four do ever (seem to) show up in AI systems, we can safely say that we’ll need not just a yacht of philosophers, but an entire regatta.

]]>
https://electronica.xitelcomperu.com/2015/07/15/mozilla-overhauling-firefox-smartphones/feed/ 1 15