Otiks_zobku
|
|
1 | |
Опрос клавиатуры....AVR attini231326.01.2014, 17:54. Показов 3909. Ответов 5
Метки нет Все метки)
(
Доброго времени суток=)
Помогите пож. допилить прогу , делаю динамический опрос матричной клавиатуры с выводом на 7-ми сегмент. индикацию, и не как не могу доделать . В чём ошибки а то я догнать не могу , помогите плиз? [45.39 Кб]
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь |
|
26.01.2014, 17:54 | |
Ответы с готовыми решениями:
5
Опрос состояния порта в AVR Studio 5.0 Правильный опрос клавиатуры Опрос матричной клавиатуры ATtiny2313. ASM. Динамический опрос матричной клавиатуры |
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
|
|
26.01.2014, 18:05 | 2 |
Это Вы сначала объясните, чтО не так с этой программой.
И почему на Си не пишете? Так бы и визуально ошибки были виднее, да и сам компилятор помог бы исправить самые очевидные (посредством warnings и errors). Эта программка, переписанная с ассемблера на Си, даже в килобайтный AVR легко влезет, не говоря уж о subj Tiny2313.
0
|
Otiks_zobku
|
|
26.01.2014, 19:42 | 4 |
переделал чтобы цифры горели, не могу разобраться почему индикатора два не горит(
кому не сложно посмотрите , и посоветуйте что сделать???? [36.87 Кб] |
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,044
|
|
26.01.2014, 21:38 | 5 |
![]()
0
|
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,044
|
|
26.01.2014, 21:43 | 6 |
Как-то так...:
Код
//======================================================================== .equ ANOD_ONE = 0b00000001 .equ ANOD_TEN = 0b00000010 .equ ANOD_HANDRED = 0b01000000 .equ ANOD_THOUSAND = 0b00100000 .equ A = 1<<1 .equ B = 1<<3 // A .equ C = 1<<6 // F B .equ D = 1<<5 // G .equ E = 1<<4 // E C .equ F = 1<<2 // D .equ G = 1<<7 .equ H = 1<<0 //------------------------------------------------------------------------ //------------------------------------------------------------------------ .equ ZERO = A+B+C+D+E+F .equ ONE = B+C .equ TWO = A+B+D+E+G .equ THREE = A+B+C+D+G .equ FOUR = B+C+F+G .equ FIVE = A+C+D+F+G .equ SIX = A+C+D+E+F+G .equ SEVEN = A+B+C .equ EIGHT = A+B+C+D+E+F+G .equ NINE = A+B+C+D+F+G //======================================================================== .dseg //======================================================================== DISPLAY_BUFFER: .equ DISPLAY_BUFFER_SIZE = 4 .byte DISPLAY_BUFFER_SIZE //======================================================================== .cseg //======================================================================== .macro Proc_7_Segm_Ind mov CNT, CNT_7_SEGM_IND clr ZH mov ZL, CNT lsl ZL subi ZL, LOW(-(Table_7_Segm_Ind*2)) sbci ZH, HIGH(-(Table_7_Segm_Ind*2)) lpm CNT_7_SEGM_IND, Z+ lpm ANODS, Z ldz DISPLAY_BUFFER addw Z, CNT, RCLR ld ZL, Z clr ZH subi ZL, LOW(-(Table_7_Segm_Char*2)) sbci ZH, HIGH(-(Table_7_Segm_Char*2)) lpm KATODS, Z .endmacro //------------------------------------------------------------------------ //------------------------------------------------------------------------ Table_7_Segm_Ind: .db 0x01, ANOD_THOUSAND .db 0x02, ANOD_HANDRED .db 0x03, ANOD_TEN .db 0x00, ANOD_ONE Table_7_Segm_Char: .db ZERO, ONE .db TWO, THREE .db FOUR, FIVE .db SIX, SEVEN .db EIGHT, NINE //========================================================================
0
|
26.01.2014, 21:43 | |
Помогаю со студенческими работами здесь
6
Как организовать опрос матричной клавиатуры + DS18B20? Опрос клавиатуры 3х4 и вывод нажатой кнопки AT90S8515 (AVR GCC) Подключение матричной клавиатуры на аналоговый вход
Диагностика, опрос и тестирование клавиатуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |