Всем доброго времени суток!!на вашем сайте я недавно,как и в изучении avr-ов.Но с паяльником дружу давно,хоть и были перерывы!Ладно ближе к делу!работаю связистом, 1.5 года.Само собой как и у каждого связиста есть неотъемлемый инструмент данной профессии - телефонная трубка связиста.Схема проста - динамик,микрофон,номеронабиратель(включено последовательно),ну и пара крокодилов на концах.Просто!!Но после долго изучения литературы и посещения форум связанных с данным семейством микроконтроллеров(ну и пары залоченных 2313 ),пришла в голову идея по созданию "своей" уникальной трубы!Базой для её создания скорее всего будет служить mega8a.Функции и инструменты которые собираюсь в неё впихнуть, минимальные : естественно вольтметр,может быть амперметр,прозвонка жил хотя бы относительно друг друга,ЗАЩИТА ОТ 220в(мало ли),Вывод на дисплей набираемый номер.Для начала хватит.теперь основное. Дисплей от мобилы ,как вариант Ls020.
Самое важное-клава!!Хочу сделать на базе АЦП мк,(в протэусе уже есть проэкт,написанный мною, на паскале,чуть позже приложу исходник)но если идея паттовая прошу меня поправить,или направить на путь истинный))Короче прощу помощи у опытных программистов и радиолюбителей!!!С радостью выслушаю советы пожелания и критику. p.s Пишу на паскале))
Самое важное тут, вроде как, совсем не клава, а принцип съёма нужных данных. Напряжение, ток, сопротивление изоляции, прозвонка цепей. И посылка вызова само собой.
Это для изучения принципа построения "монтерской трубы": Аппарат телефонного мастера.
О том, как сделать мультиметр на микроконтроллере, в сети информации предостаточно. Соединить эти два прибора в один - дело не хитрое. Удачи.
З.Ы. И где это еще используются такие дедовские приблуды, как монтерская трубка
Вот "монтерская трубка", с которой у нас связисты по квартирам ходят:
Цифровой век у связи, куле.
Спасибо конечно за ссылку,но схемка устаревшая,да и слишком крупногабаритная!Хотелось бы что то более портативное смд монтажа.Да и основной целью создания данного девайса являеться изучения на практике создание,программирования устройства на мк!Хочеться самому что то сделать,а не слизывать чужие схемы.Но одному мне не справиться,вот поэтому и создал эту тему.
Case 1000 : Led = 1
Waitms 500
Led = 0
Waitms 500
Led = 1
Waitms 300
Return
End Select
Loop
End
Исходник в баскоме,строго не судите.Тут всего лишь прога для клавиш и начало для меню,естественно много недоработок,всётаки первая моя прога))).Прошу помогите как упростить прогу,в плане включения- отключения порта!А также как обьявить вместо одного значения АЦП, отрезока типа: от 320 до 340,так как на практике значения ацп будут естественно скакать.Ну и если это гиблая затея(клавиатура на ацп),так и скажите,буду собирать на сдвиговых!Ну а по поводу основной схемы трубы,2 варианта.Готовый,который нужно будет подправить http://madelectronics.ru/zhuk/bugs3.htm. Либо свой,который всё еще в разработке...Жду советов и упреков))Кстати почему нельзя выложить проэкт в протосе?
Внутри каждого case цепочка одинаковых операторов, повторяющаяся разное число раз.
Тогда пишем подпрограмму с параметром. Внутри подпрограммы цикл for или while.
Параметром передаем число повторений. А из case вызываем.
Диапазон в case определяется так:
Я вот чего не могу понять: нафига клавиатуре - АЦП ? Клавиатура это вроде как координатная матрица, и событие нажатия на клавишу обрабатывается в прерывании.
А я впервые столкнулся с ними в автомобильном приемнике. Цепочка резисторов между землей и питанием и кнопки от каждого соединения к ноге МК. Дешево и сердито. Правда кнопок всего 5 или 6 было. Ну а в принципе можно и до хрена нацеплять.
Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim R As Word
Dim N As Word
Dim I As Byte
Do
Start Adc
R = Getadc(0)
Select Case R
Case 0 : Exit Do
Case 620 To 650 : N = 1
Case 330 To 350 : N = 2
Case 400 To 440 : N = 3
Case 550 To 600 : N = 4
Case 300 To 329 : N = 5
End Select
Goto Nabor
Loop
End
Nabor:
Lcd N
For I = 1 To N
Led = 1
Waitms 50
Led = 0
Waitms 50
Next
Return
Да вроде откровенных косяков нет.
По переменным только замечания.
Если максимальное значение переменной N равно 5, то зачем тип стоит word? Вполне хватит byte, к тому же в цикле счетчик типа byte, а предел его типа word. В этой программе не критично, но впредь лучше следить за переменными, что бы как в случае с циклом не могло возникнуть переполнения.
И start ADC можно вынести до основного цикла.
ошибки понял,исправлю,вот только почему то у меня в протосе на экране,в проекте одни нули пишет на дисплее,до нажатия клавиш.!а после нажатия адекватно реагирует,после снова нули