Sisällysluettelo:

Yksinkertainen ja vakiolaskin CloudX: 5 vaihetta
Yksinkertainen ja vakiolaskin CloudX: 5 vaihetta

Video: Yksinkertainen ja vakiolaskin CloudX: 5 vaihetta

Video: Yksinkertainen ja vakiolaskin CloudX: 5 vaihetta
Video: DaNang Vietnam in October (low season) | Prices for food, accommodation, mobile, bike rent 2024, Marraskuu
Anonim
Yksinkertainen ja vakiolaskin CloudX: llä
Yksinkertainen ja vakiolaskin CloudX: llä

Tässä opetusohjelmassa opimme tekemään yksinkertaisen ja tavanomaisen laskimen CloudX: n avulla. Napsauta Jos et ole aiemmin lukenut mitään CloudX -käyttöliittymän näppäimistöllä, tässä, Tavoitteenamme on opettaa sinulle, kuinka voit kehittää oma laitteistolaskin cloudX M633: lla.

Tavoitteenamme on pystyä suunnittelemaan laskin, joka pystyy suorittamaan yhteen (+), vähennyslaskun (-), kertolaskun (*) ja jaon (/). on kyky havaita matemaattisia virheitä jne. Jokaisen lapsen, opiskelijan ja harrastajan pitäisi pystyä tekemään tämä fantastinen projekti.

Vaihe 1: LAITEVAATIMUKSET

LAITTEISTOVAATIMUKSET
LAITTEISTOVAATIMUKSET
LAITTEISTOVAATIMUKSET
LAITTEISTOVAATIMUKSET

1x CloudX -mikrokontrolleri

1x CloudX SoftCard

1x USB -kaapeli

1x 4x4 Matrix -näppäimistö

1x 16x2 LCD -hyppyjohdot

1x 1kΩ vastus

4x 10kΩ vastukset

Vaihe 2: PIN -KYTKENTÄ

PIN -YHTEYS
PIN -YHTEYS
PIN -YHTEYS
PIN -YHTEYS
PIN -YHTEYS
PIN -YHTEYS

CloudX Connection nastat nestekidenäytöllä ja CloudX Connection nastat näppäimistöllä

Vaihe 3: PIIRIKAAVIO

PIIRIKAAVIO
PIIRIKAAVIO

Vaihe 4: OHJELMISTOT

/ * * Tiedosto: Smart KeyPad Lock System. C

* Kirjoittaja: huppari

*

* Luotu 20. maaliskuuta 2018, klo 11.21

*/

#sisältää

#sisältää

#sisältää

#sisältää

#define NumberOfRows 4 // aseta näyttö neljälle riville

#define NumberOfColumns 4 // aseta näyttö kolmeen sarakkeeseen

char KeypadCharacters [NumberOfRows] [NumberOfColumns] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C', '0', '=', '/'

};

char RowPins [NumberOfRows] = {7, 8, 9, 10};

char SarakkeetPins [NumberOfColumns] = {11, 12, 13, 14};

char -näppäimet, a = 0, check = 0, operaatio = 0, sign = 0, signb = 0;

allekirjoitettu kelluva vastaus;

char * Panswer;

char Aanswer [10];

allekirjoitettu pitkä syöttö;

char Ainputa [10];

allekirjoitettu pitkä syöttöb;

char Ainputb [10];

perustaa(){

Näppäimistöasetus (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

lcdSetting (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (kohdistimen_asetus);

lcdWriteText (1, 1, "LASKIN");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (kohdistimen_blink);

silmukka () {

Avaimet = getKey ();

if (Avaimet! = 0 && Avaimet == 'C') {

lcdCmd (lcd_clear);

lcdCmd (kohdistimen_blink);

(a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Vastaus [a] = 0;

}

a = 0;

toiminta = 0;

tarkista = 0;

signa = 0;

signb = 0;

}

jos (check == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (kohdistimen_asetus);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

jos (signa == '-') {

inputa = -(inputa);

}

jos (signb == '-') {

inputb = -(inputb);

}

jos (operaatio == '+') {

vastaus = inputa + inputb;

longTostr (Vastaus, vastaus, DEC);

}

jos (operaatio == '-') {

vastaus = inputa - inputb;

longTostr (Vastaus, vastaus, DEC);

}

jos (operaatio == '*') {

vastaus = inputa * inputb;

longTostr (Vastaus, vastaus, DEC);

}

jos (operaatio == '/') {

vastaus = (float) inputa / (float) inputb;

Panswer = floatTostr (vastaus);

if (syöttö> inputb) {

Panswer [5] = 0;

}

}

jos (operaatio == '/') {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (Panswer);

}

muu {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (Aanswer);

}

}

if (Avaimet! = 0 && (Avaimet == '+' || Avaimet == '-' || Avaimet == '*' || Avaimet == '/')) {

if (operaatio! = 0 && a == 0 && signb == 0 && (Avaimet == '-' || Avaimet == '+')) {

lcdWriteCP (avaimet);

if (Avaimet == '-' || Avaimet == '+') {

signb = Avaimet;

}

}

jos (toiminta == 0 && a == 0 && sign == 0 && (avaimet == '-' || avaimet == '+')) {

lcdWriteCP (avaimet);

if (Avaimet == '-' || Avaimet == '+') {

signa = Avaimet;

}

}

jos (operaatio == 0 && a! = 0) {

lcdWriteCP (avaimet);

käyttö = näppäimet;

a = 0;

}

}

if (Avaimet! = 0 && (Avaimet == '0' || Avaimet == '1' || Avaimet == '2' || Avaimet == '3' || Avaimet == '4' || Avaimet = = '5' || Avaimet == '6' || Avaimet == '7' || Avaimet == '8' || Avaimet == '9')) {

jos (operaatio! = 0) {

lcdWriteCP (avaimet);

Ainputb [a] = Avaimet;

a ++;

tarkista = 1;

}

jos (operaatio == 0) {

lcdWriteCP (avaimet);

Ainputa [a] = Avaimet;

a ++;

}

}

}

}

Suositeltava: