Chip115 писал(а):Должно быть на оборот...с диодов считывать . так?
Да именно так..
Ты просто торопишься.. мя-же те написал про возвратные линии, а возвратные, это с которых считывается состояние матрицы клавиатуры..
Ничего, не тушуйся..
Chip115 писал(а):Должно быть на оборот...с диодов считывать . так?
Chip115 писал(а):Сча правлю код )

Код: Выделить всё
P1MDOUT = 0x38; // P1.3-1.5 POut
Chip115 писал(а):например хочу отследить нажатие кнопки SB3.
Выставляю на порт P1=0x08; // 001000
и проверяем условие
if (P1==0x0C) // нажата sb3? 001100
{
}
Проблема в том что при нажатии на кнопку, на P1.2 приходит 1,3 В. В момент нажатия напруга проседает на P1.4 до 2 В.
вот как я порт инициализировалКод: Выделить всё
P1MDOUT = 0x38; // P1.3-1.5 POut
Gudd-Head писал(а): потом проверять конкретную ногу.
BOB51 писал(а):не забывайте про "антидребезг"
Chip115 писал(а):В общем действительно проблема с кодом опроса клавы...
Chip115 писал(а):Буду просто проверять флаги .
Gudd-Head писал(а):то какие должны быть жёсткие наводки
Код: Выделить всё
35 $MOD8F300
****----------^-^---------^
****ERROR #1: Illegal character
****ERROR #10: Illegal or missing expression
****ERROR #1: Illegal characterМитяРа писал(а):Кто нить с подобными ругательствами сталкивался?
Код: Выделить всё
1 ;----------
2 ; F30x_ADC0
3 ;----------
4
5 $MOD8F300
****----------^-^---------^
****ERROR #1: Illegal character
****ERROR #10: Illegal or missing expression
****ERROR #1: Illegal character
6 $TITLE(F300_ADC)
7 $PAGEWIDTH(132)
8 $NOPAGING
9
5FB4 10 SYSCLK EQU 24500 ; SYSCLK frequency in kHz
11
12
13
0000 14 org 0
15
0000 16 ADC0_Init:
0000 75E802 17 mov ADC0CN, #02h ; ADC0 disabled, normal
18 ; track mode, ADC0 conversions
19 ; initiated by overflow of
20 ; Timer2
0003 75BBF8 21 mov AMX0SL, #0f8h ; select temp sensor as ADC0 input
22
23 ; ADC conversion clock <= 7.5 MHz
0006 75BC18 24 mov ADC0CF, #((SYSCLK / 7500) SHL 3)
25
0009 43BC02 26 orl ADC0CF, #02h ; PGA gain = 2
27
000C 75D10E 28 mov REF0CN, #0eh ; enable temp sensor; VREF = VDD;
29 ; bias generator is on
000F 43E604 30 orl EIE1, #04h ; enable ADC0 End of Conversion
31 ; Interrupt
0012 22 32 ret
33
34 ;----------
35 ; End of file.
36
37 END
VERSION 1.2h ASSEMBLY COMPLETE, 3 ERRORS FOUND
ERROR SUMMARY:
Line #5, ERROR #1: Illegal character
Line #5, ERROR #10: Illegal or missing expression
Line #5, ERROR #1: Illegal character
ADC0CF . . . . . . . . . . . . . D ADDR 00BCH PREDEFINED
ADC0CN . . . . . . . . . . . . . D ADDR 00E8H PREDEFINED
ADC0_INIT. . . . . . . . . . . . C ADDR 0000H NOT USED
AMX0SL . . . . . . . . . . . . . D ADDR 00BBH PREDEFINED
CPT0CN . . . . . . . . . . . . . D ADDR 00F8H PREDEFINED
EIE1 . . . . . . . . . . . . . . D ADDR 00E6H PREDEFINED
EIP1 . . . . . . . . . . . . . . UNDEFINED NOT USED
IE . . . . . . . . . . . . . . . D ADDR 00A8H PREDEFINED
IP . . . . . . . . . . . . . . . D ADDR 00B8H PREDEFINED
PCA0CN . . . . . . . . . . . . . D ADDR 00D8H PREDEFINED
PSW. . . . . . . . . . . . . . . D ADDR 00D0H PREDEFINED
REF0CN . . . . . . . . . . . . . D ADDR 00D1H PREDEFINED
SCON0. . . . . . . . . . . . . . D ADDR 0098H PREDEFINED
SMB0CN . . . . . . . . . . . . . D ADDR 00C0H PREDEFINED
SYSCLK . . . . . . . . . . . . . NUMB 5FB4H
TCON . . . . . . . . . . . . . . D ADDR 0088H PREDEFINED
TMR2CN . . . . . . . . . . . . . D ADDR 00C8H PREDEFINED Код: Выделить всё
EIP1 . . . . . . . . . . . . . . UNDEFINED NOT USED 
МитяРа писал(а):Напомню, что IDE-шник не SiLabs-кий, а Cygnal-овский, версии 1.3 - он шёл с Металинковским АСМом безо всяких ограничений..
А начиная с версии 1.4 уже был "кастрированный" КЕЙЛ..
Ты вроде написал, что на АСМе пишешь..Gudd-Head писал(а):компилятором СИ
МитяРа писал(а):Ты вроде написал, что на АСМе пишешь..![]()