Tallinn 2013 Sisukord 1.Mikrokontrolleritest ja assemblerist.....................................................................................3 2.Ülesannete lahendused.........................................................................................................4 1.Programm, mis lülitab nupuvajutusel sisse kaheksa valgusdioodi..................................4 2.Programm, mis nupuvajutusel kuvab 7-segmendilisel näidikul etteantud kümnendarvu. .............................................................................................................................................5 3.Programm, mis nuppu all hoides süütab valgusdioodid etteantud viivitusega ühekaupa järjekorras. Nn. ,,Kiti tuli"...................................................................................................6 Kokkuvõte..............................................................................
12 short int number=0; 13 ADCON1 = 0b00001110; 14 // PORTD väljundiks 15 TRISD=0; 16 while (1){ 17 if (!RA2){ 18 //Null aktiivse sisendi korral nuppu vajutamisel 19 if (PORTD) number++; 20 if (number>9) number=0; 21 PORTD=0; 22 } 23 if (!RA3){ 24 PORTD=segmenditabel[0]; 25 } 26 if (!RA4){ 27 PORTD=segmenditabel[number]; 28 } 29 } 30 return (1); 31 } Joonis 1.1 Seitsme segmendilisel valgudioodil numbrite näitamine Lisame segmentide loendeid, mille väärtused on segmentide LED-iga erinevate numbrite kuueteistkümnumbrilised märgistused. Anname muutuja numbri nullini. Määratleme PORTDi väljundi. Me loome igavese silmuse ja määrame, et kui vajutate RA2 nuppu, lisame muutuja +1 vääartuse ja lülitame LED üheagselt välja. Kui muutujate arv on suurem kui üheksa, siis muutuja väärtus om null. Kui vajatate nuppu