Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Определяем контакты сдвигового регистра, используемые для семисегментного дисплея.*/
- #define LATCH_DIO 4
- #define CLK_DIO 7
- #define DATA_DIO 8
- /* Карты байтов сегментов для чисел от 0 до 9 */
- const byte SEGMENT_MAP[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
- /* Byte maps to select digit 1 to 4 */
- const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};
- void setup ()
- {
- /* Установите контактов DIO на выходы */
- pinMode(LATCH_DIO,OUTPUT);
- pinMode(CLK_DIO,OUTPUT);
- pinMode(DATA_DIO,OUTPUT);
- }
- /* Основная программа*/
- void loop()
- {
- /* Обновить дисплей текущим значением счетчика */
- WriteNumberToSegment(0 , 1);
- WriteNumberToSegment(1 , 2);
- WriteNumberToSegment(2 , 3);
- WriteNumberToSegment(3 , 3);
- }
- /* Напишите десятичное число от 0 до 9 в одну из 4 цифр дисплея */
- void WriteNumberToSegment(byte Segment, byte Value)
- {
- digitalWrite(LATCH_DIO,LOW);
- shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);
- shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );
- digitalWrite(LATCH_DIO,HIGH);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement