Свежие обсуждения
Микроконтроллеры

Лабораторный стенд по семейству PIC

1 5 6

Народ. У кого есть схема для этой платы? http://www.Splav56.narod.ru/PIC/Extra_PIC2.rar
Отправьте на этот адрес, если не трудно. papashka.sim@mail.ru

 

Артём Сергеевич: AVR вам в помощь стоят в разы дешевле пиков

А при чем тут AVR ?

 

Shaggi: А при чем тут AVR ?
АГА
Споры что круче AVR или PIC, безсмысслены, спорили и будут спорить, есть преверженци одной и другой стороны.

 

zakonnik, как успехи? Сделали хоть пару лабораторных работ в железе?

 

picmaniac: как успехи?
Да ничё продвигаемся. У Вас как дела? чёто невидно Вас стало.

picmaniac: Сделали хоть пару лабораторных работ в железе?
ага, мигание светодиода, звучок, и ещё преключение звука и мелодии. Вот с семисегментными индикаторами завал!!!

 

zakonnik: У Вас как дела? чёто невидно Вас стало
Дык весна! Интернет и контроллеры в основном зимой. Весной других дел и занятий полно

 

усё, закончил стенд, всё руки не доходили http://pic16f8x.narod.ru/stend.jpg

 

для семисегментных тебе надо создать массив с набором байтов
видел вчера прогу для их генерации, но щас не найду уже

смысл такой:
рисуеш сегменты на бумаге
самый верхний горизонтальный называется а
потом по часовой стрелке б ц д...
рядом пишеш
hgfedcba (h это точка)

потом где нужен светящийся сегмент - ставиш 1
например для ноля должны гореть все, кроме ф (горизонтальный по середине)
тогда
h g f e d c b a
0 0 01 1 1 1 1

переводиш в хекс 0x1F

теперь единица
h g f e d c b a
0 0 0 0 0 1 1 0

0x06

делаеш массив
flash char digs[10] = {0x1f, 0x06, ...}

потом тебе надо вывести все в порт
вывод а подключеш к пину 0 и т.д.
и пишеш PORTB = digs[0]; выведет 0

 

djelektronik, спасибки за растолкование. Вот если бы на компиляторе бэйсик это разобрать, было бы отлично

 

на Си:
const unsigned char ZNAK_COD[22] = {
0xC0,// -0 ______ . --0--
0xF9,// -1 ______ | ...... |
0xA4,// -2 ______ 5..... 1
0xB0,// -3 ______ |....... |
0x99,// -4 ______ .--6--
0x92,// -5 ______ |........|
0x82,// -6 ______ 4....... 2
0xF8,// -7 ______ |........|
0x80,// -8 ______ .--3--
0x90,// -9
0x88,// -A
0x83,// -B
0xC6,// -C
0xA1,// -D
0x86,// -E
0x8E,//-F
0x9C,//grad 16
0x3F,//- минус 17
0x11,//У 18
0x12,//S 19
0x0C,//P 20
0x2F//r 21
} ;
main()
{...................................
outRG=ZNAK_COD[A] | 0x80;
......................................}

на ассемблере:
ORG 40h
;****************ЗНАКОГЕНЕРАТОР****************************
ZNAK ADDWF PCL, F
RETLW 07Eh ;0________ . --1--
RETLW 00Ch ;1________ ! ..... !
RETLW 0B6h ;2________ 6......2
RETLW 09Eh ;3________ ! ......!
RETLW 0CCh ;4________ . --7--
RETLW 0DAh ;5________ !.......!
RETLW 0FAh ;6________ 5......3
RETLW 00Eh ;7________ !.......!
RETLW 0FEh ;8________ . --4--
RETLW 0DEh ;9
RETLW 0FEh ;A
RETLW 0F8h ;B
RETLW 072h ;C
RETLW 0BCh ;D
RETLW 0F2h ;E
RETLW 0E2h ;F

...............................................
MOVF TEMP, 0
ANDLW 0Fh
CALL ZNAK
........
MOVWF PORTB
...........................................
а вот на бейсике, извиняйте, нету