(за съжаление не мога да посоча колко време е отделено за всеки разгледан въпрос)
Начално състояние: 11-класничка с някакви понятия от информатика и С, придобити в СМГ
- Бройни системи. Двоична, десетична и шестнадесетична система, преминаване от една към друга.
- Bit-wise операции - AND, OR, XOR . Приложението им в практиката.
- Принцип на работата на динамичната индикация. Седемсегментни светодиодни индикатори, ОА, ОК.
- Архитектура на Microchip MCU - съвсем бегъл обзор: памет-flash, EEPROM, RAM; ядро + периферия: портове, таймери, АЦП, USART.(Засега без компараторите, Capture/Compare, WDT, SPI и т.н., не се разглежда von Neuman и Harvard архитектура)
- Понятия за интерфейс и протокол (седемслойният модел на OSI - друг път)
- Синхронно и асинхронно предаване на данни. RS-232. Старт, стоп бит, битове за данни, контрол по четност/нечетност. Лог. "0" и "1", TTL нива и нива при RS-232
- Запознаване с CCS, PicWizard. IC-PROG, програматор Schaer
- Типове променливи, разлики спрямо "познатото" С. Variable scope
- Програмирането: 1% писане + 99% дебъгване.
- Първи проект: PIC16F628, 4-разрядна седемсегментна LED индикация, два бутона(червен и зелен.) При натискане на зеления бутон започва броене от 0000 до 9999 с период 1с (0.1 или 00.1сек). При натискане на червения - спира броенето. Тука се учат много неща..
- Усложняване на експеримента: при задържане натиснат червения бутон повече от секунда - нулиране на брояча.
- Усложняване 2: при натискане неколкократно на червения да показва времето на съответното натискане, вътрешно да продължава да си брои...т.е. засичане на междинни времена, като на състезание.
- Втори проект: при натискане на зеления бутон да се генерира случайно число и да започне обратно отброяване до 0. Като стигне до 0 - ще направи нещо, ама какво - и аз не знам. Тука се появяват функциите rand(), srand(), директивата ifdef (за да се дефининира RAND_MAX)
Няма коментари:
Публикуване на коментар