Programa sukurta su MPLAB X IDE Main 2 užduotis

11 psl. / 1450 žod.

Ištrauka

/*

* File: main2.c

* Author: Andrius Gudaitis

* Programa: Kontaktu virpejimo pasalinimas

* Mikrovaldiklis: PIC18F24K22

* Daznis: 16 MHz

*/

/** INCLUDES *****************/

#include

/** CONFIGURATION ****************/

#pragma config FOSC = INTIO67       //Internal oscillator

#pragma config WDTEN = OFF          //Watch dog timer disabled

#pragma config LVP = OFF            //LVP OFF

#define sw1 PORTAbits.RA0           //Vardo suteikimas isvadui

/** FUNCTIONS **************/

void delay (unsigned int ms)

{

    unsigned int i = 0;

    while (ms--){

        for (i = 0; i < 398; i++)  ;

    }

}

/** MAIN **************/

main ()

{

    OSCCONbits.IRCF2 = 1;           //Vidinis RC rezonatorius

    OSCCONbits.IRCF1 = 1;           //nustatomas 16 MHz

    OSCCONbits.IRCF0 = 1;

    ANSELA = 0;                     //visi MV isvadai nustatomi

    ANSELB = 0;                     //kaip skaitmeniniai

    ANSELC = 0;

    LATA = 0;

    TRISA = 0b00000001;             //RA0 - iejimas

    LATC = 0;

    TRISC = 0;             //Visi PORTC isvadai - isejimai

    unsigned int m = 0;

    while(1)

    { //while(1) pradzia

        if (LATC == 255) LATC = 0;       //Nesviecia nei vienas LED?

             {

            while (sw1 != 0);            //Laukiame, kol nuspaus mygtuka

            delay(300);

            while (sw1 == 0);        //Laukiame, kol atleis mygtuka

            m++;

            LATC = m;

             }

    }

}

Programos nustatymai. Nustatytas dažnis 16MHz, užrašomos komandos, suteikiamas vardas išvadui naudojant PORTAbits.RA0 komandą. Priskiriama Unsigned int vertė, kuri gali būti lygi o ir 65535 reikšmėms.

Kintamasis i = 0

While() funkcija ms-- atlieka

Ciklas for kuris yra kartojamas 398 kartus

Užrašoma main() dalis


Turinys

  • Pasitelkus PROTEUS programą buvo sukurta schema, RA0 įvade prijungtas rezistorius su jungikliu, maitinimu ir įžeminimu, jai pritaikytas kodas. Schema buvo perimta iš 1 praktinio darbo.Šiose nuotraukose matome kaip keičiasi įsijungtų lempučių skaičius paspaudinėjus mygtuką grandinėje.
  • Išvados: pagal duotą užduoties pavyzdį main2, sukūriau programą su algoritmu kontaktų virpėjimui pašalinti. Pašalinta tam tikra programos dalis ir pritaikyta kita, panaikintas if‘as if‘e , panaikintos nereikalingos kodų dalys LATC kurios neatlieka jokios funkcijos pirmoje bei paskutinėj lemputėje

Reziumė

Autorius
lioon
Tipas
Laboratorinis darbas
Dalykas
Informatika
Kaina
€1.93
Lygis
Universitetas
Įkeltas
Kov 15, 2019
Publikuotas
2015 m.
Apimtis
11 psl.

Susiję darbai

Programa sukurta su MPLAB X IDE

Informatika Referatas 2015 m. lioon
Programa buvo suprojektuota su Microchip MPLab. Šios programos tikslas paeiliui įjungti ir išjungti į grandinę prijungtus 8 LED, taip kad šie degtų 500ms...