| Осциллограф на Atmega8+LCD Nokia5110 | 
| 
				
			 | 
| 
| marss70 | Дата: Среда, 18.09.2013, 22:08 | Сообщение # 51 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | Прикрутил внешний АЦП, частота увеличилась в разы. При входной частоте 20000 гц чётко различимы 2 волны. Соответственно при 40000 видно около 4-5. Осталось синхронизацию дотумкать... 
 
 |  
 |  |  |  | 
| 
| top | Дата: Четверг, 19.09.2013, 00:12 | Сообщение # 52 |  |   Группа: Друзья Сообщений: 146 
 Статус: Offline | Фотки в студию))   
 
 |  
 |  |  |  | 
| 
| marss70 | Дата: Четверг, 19.09.2013, 18:59 | Сообщение # 53 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | Ды запросто 
   
 
   
 
   
 
   
 
   
 
 
 
 Сообщение отредактировал marss70 - Четверг, 19.09.2013, 18:59 |  
 |  |  |  | 
| 
| top | Дата: Четверг, 19.09.2013, 23:49 | Сообщение # 54 |  |   Группа: Друзья Сообщений: 146 
 Статус: Offline | Радует глаз, очень круто) 40 кГц! Цифры на дисплее что означают?
 
 
 |  
 |  |  |  | 
| 
| marss70 | Дата: Пятница, 20.09.2013, 08:18 | Сообщение # 55 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | Цифры означают задержку между отсчётами в микросекундах. Я её ввожу с помощью переменника на вход АЦП микроконтроллера, чтобы низкочастотные сигналы помещались на экране. Сейчас синхрой занимаюсь, вроде забрезжил светик... 
 
 |  
 |  |  |  | 
| 
| pchela5 | Дата: Понедельник, 07.10.2013, 12:13 | Сообщение # 56 |  | Группа: Свой человек Сообщений: 84 
 Статус: Offline | Как продвигаются работы по осциллографу? Можно исходничек с внешним АЦП? 
 
 |  
 |  |  |  | 
| 
| marss70 | Дата: Понедельник, 07.10.2013, 16:38 | Сообщение # 57 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | Работы остановились на ожидании более дешёвой внешней АЦП. Какая у меня стоит TLC5540 ну прям кусается. Сейчас заказал ADC1175CIMTC/NOPB в районе 80 рублей ещё куда не шло. А код такой. Применил мегу88 т.к. у неё замечательное свойство выход тактовой частоты на ноге.В архиве вместе с библиотеками работы с дисплеем от Нокии 5110 Код
 
 $regfile = "m88def.dat"
 $crystal = 20000000
 $hwstack = 32
 $swstack = 8
 $framesize = 48
 
 Dim Adc7 As Word , Adc7_str As String * 4
 
 Dim Xx As Byte
 Dim Datsingle As Single
 Dim Dat(300) As Byte
 
 Config Portc.2 = Output                                     'D/C (pin 4)
 D3310dc Alias Portc.2
 
 Config Portc.0 = Output                                     'SCE (pin 5)
 D3310ce Alias Portc.0
 
 Config Portc.1 = Output                                     'Reset (pin 8)
 D3310re Alias Portc.1
 
 Config Portd = Input
 
 Config Portb.0 = Output
 Takt Alias Portb.0
 
 'Config Portd.5 = Output                                     'Reset (pin 8)
 'Takt Alias Portd.5
 Config Adc = Single , Prescaler = Auto , Reference = Avcc
 
 Config Spi = Soft , Dout = Portc.3 , Ss = None , Clock = Portc.4
 Spiinit
 $include "5110init.bas"
 
 Call D3310reset
 Call D3310init
 Call D3310clear
 Call D3310invert
 Waitms 1
 
 Start Adc
 
 Do
 
 Adc7 = Getadc(7)
 Adc7 = Adc7 + 1
 
 For Xx = 1 To 84
 
 Dat(xx) = Pind
 'Waitus Adc7
 
 Next Xx
 
 For Xx = 1 To 84
 Datsingle = Dat(xx) / 6
 Dat(xx) = Round(datsingle)
 'Dat(xx) = Dat(xx) / 2
 Dat(xx) = 47 - Dat(xx)
 Call D3310addpoint(xx , Dat(xx))1
 
 Next Xx
 
 Waitms 500
 Call D3310clear
 Loop
 End
 $include "5110end_rus.bas"
 
 
 
 
 Сообщение отредактировал marss70 - Понедельник, 07.10.2013, 18:43 |  
 |  |  |  | 
| 
| pchela5 | Дата: Четверг, 10.10.2013, 17:21 | Сообщение # 58 |  | Группа: Свой человек Сообщений: 84 
 Статус: Offline | Т.е. в программе на данный момент не реализована работа с внешним АЦП, как я погляжу? Жаль. Что касается микросхемы, то можно приделать TDA8708 - доставаема в магазинах и недорогая - мне обошлась около 100 руб. Осциллограф на ее основе реализован на PIC но с выводом на компьютер, что не всегда удобно. Вот интересно реализовать на бейсике. 
 
 |  
 |  |  |  | 
| 
| marss70 | Дата: Четверг, 10.10.2013, 21:30 | Сообщение # 59 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | Как это не реализован,   Dat(xx) = Pind - это и есть считывание. Я думаю, что  смутило Adc7 = Getadc(7), но это для регулировки задержки для считывания при низкой входной частоте. 
 
 |  
 |  |  |  | 
| 
| docent | Дата: Среда, 13.11.2013, 15:19 | Сообщение # 60 |  | Группа: Пользователи Сообщений: 1 
 Статус: Offline | вот максимально быстрое чтение порта для баскома. читает за 3 такта. при 20мгц кварц читает с частотой около 6.66мгц. реально сигнал покажет гдето 700кгц для прямоугольника. ekran(0) - это массив отсчетов ацп Dim Ekran(256) As Byte Time1:
 $asm
 IN R16, PINA
 STS {ekran(0)}, R16
 IN R16, PINA
 STS {ekran(1)}, R16
 IN R16, PINA
 STS {ekran(2)}, R16
 IN R16, PINA
 ..........................
 ..........................
 ret
 $end Asm
 если надо задержки для низкой частоты то можно так
 Time2:
 $asm
 IN R16, PINA
 STS {ekran(0)}, R16
 $end Asm
 Waitus Timef
 $asm
 IN R16, PINA
 STS {ekran(1)}, R16
 $end Asm
 Waitus Timef
 $asm
 IN R16, PINA
 STS {ekran(2)}, R16
 $end Asm
 Waitus Timef
 ......
 
 
 |  
 |  |  |  | 
| 
| marss70 | Дата: Пятница, 22.11.2013, 21:45 | Сообщение # 61 |  | Группа: Проверенные Сообщений: 80 
 Статус: Offline | docent, вот спасибо, обязательно попробую! Сейчас другим чуть занят((( 
 
 |  
 |  |  |  |