Arduino powered 7seg ledde display med Port Manipulation - jag gjorde det på TechShop (4 / 4 steg)
Steg 4: kod
Detta är koden för att manipulera portarna för snabbare åtkomst till och generellt renare kod. Vad detta innebär är räknas från 0 till 99 och börja om.
byte digitOne [10] = {0x6F, 0x09, 0x73, 0x3B, 0x1D, 0x3E, 0x7C, 0x0B, 0x7F, 0x1F}; Detta är det hex värdet på varje nummer som lagrats i en matris av index num void setup() { DDRD = 0XFF; Ange alla stiften att produktionen i bankD } void loop() { för (int jag = 0; jag < 10; i ++) { }
byte digitTwoB [10] = {0x3D, 0x08, 0x33, 0x1B, 0x0E, 0x1F, 0x3E, 0x09, 0x3F, 0x0F};
byte digitTwoD [10] = {0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80};
DDRB = 0X3F; Samma i bankB
för (int j = 0; j < 10; j ++) {
PORTD = ~ digitOne [j]; lågt för siffra en satt stift
PORTD & = ~ digitTwoD [i]; OCH med siffra två stift för udda stift
PORTB = ~ digitTwoB [i]; lågt för siffra två satt stift
Delay(500);
}
}
Och sådär. Du kan använda port manipulation för att ändra många av stiften mycket snabbt och mycket speciella skäl. Om du har mycket tid känsliga kod eller bara vill ändra en hel massa saker på en gång (som en matris med lysdioder) då är port manipulation din vän.