Заготовочка для библиотечки MAX7219 для mcs51. Черновичек предполагаемых дефайнов опосля чтения даташита: Спойлер
Код:
; ; заготовка драйвера для MAX7219 ; для МК семейства MCS51 ; ; ; LN_SC equ 0 ; линия выборки кристалла, активный уровень 0 LN_CLK equ 1 ; линия тактового строба защелкивание данных ; по фронту положительного импульса LN_DIN equ 2 ; линия данных quest_m72 equ 0 ; флаг запроса обработчика дисплея ; no_op_cmd equ 0x00 ; пустой слот (применяется при каскадном соединении ; микросхем для незадействованного драйвера ; команды записи в позиционные разряды озу ; младший байт представляется или сегментным кодом ; или тетрадным указателем кода (режим DM) digit0_cmd equ 0x01 ; запись в позицию разряда 0 digit1_cmd equ 0x02 ; запись в позицию разряда 1 digit2_cmd equ 0x03 ; запись в позицию разряда 2 digit3_cmd equ 0x04 ; запись в позицию разряда 3 digit4_cmd equ 0x05 ; запись в позицию разряда 4 digit5_cmd equ 0x06 ; запись в позицию разряда 5 digit6_cmd equ 0x07 ; запись в позицию разряда 6 digit4_cmd equ 0x08 ; запись в позицию разряда 7 ; dec_md_cmd equ 0x09 ; резервирование позиций, для которых действует ; режим тетрадного дешифратора (режим DM) ; маска режима является младшим байтом dec_md_com ; в младшем байте позиции, работающие в режиме ; сегментного кода заполнены 0 ; а позициям соответствующим режиму DM ; должны быть установлены в 1 digit0_dm equ 0 ; позиции 0 соответствует бит D0 байта маски режима DM digit1_dm equ 1 ; позиции 1 соответствует бит D1 байта маски режима DM digit2_dm equ 2 ; позиции 2 соответствует бит D2 байта маски режима DM digit3_dm equ 3 ; позиции 3 соответствует бит D3 байта маски режима DM digit4_dm equ 4 ; позиции 4 соответствует бит D4 байта маски режима DM digit5_dm equ 5 ; позиции 5 соответствует бит D5 байта маски режима DM digit6_dm equ 6 ; позиции 6 соответствует бит D6 байта маски режима DM digit7_dm equ 7 ; позиции 7 соответствует бит D7 байта маски режима DM ; intens_cmd equ 0x0A ; команда установки уровня яркости ; младший байт представляется следующими значениями uri_1_32 equ 0x00 ; минимальная яркость uri_3_32 equ 0x01 ; uri_5_32 equ 0x02 ; uri_7_32 equ 0x03 ; uri_9_32 equ 0x04 ; uri_11_32 equ 0x05 ; uri_13_32 equ 0x06 ; uri_15_32 equ 0x07 ; uri_17_32 equ 0x08 ; uri_19_32 equ 0x09 ; uri_21_32 equ 0x0A ; uri_23_32 equ 0x0B ; uri_25_32 equ 0x0C ; uri_27_32 equ 0x0D ; uri_29_32 equ 0x0E ; uri_31_32 equ 0x0F ; максимальная яркость ; sclim_cmd equ 0x0B ; команда определяющая количество включенных позиций дисплея ; одновременно с уменьшением количества позиций увеличивается их яркость ; применение с параметрами уменьшеия числа позиций менее 4х ; не рекомендовано ; значения младшего байта для sclim_com sclm_0 equ 0x00 ; только digit0 sclm_2 equ 0x01 ; digit0:digit1 sclm_3 equ 0x02 ; digit0:digit1:digit2 sclm_4 equ 0x03 ; digit0:digit1:digit2:digit3 sclm_5 equ 0x04 ; digit0:digit1:digit2:digit3:digit4 sclm_6 equ 0x05 ; digit0:digit1:digit2:digit3:digit4:digit5 sclm_7 equ 0x06 ; digit0:digit1:digit2:digit3:digit4:digit5:digit6 sclm_8 equ 0x07 ; digit0:digit1:digit2:digit3:digit4:digit5:digit6:digit7 ; dispon_cmd equ 0x0C ; нормальная работа дисплея или ; дисплей погашен, работа генератора остановлена ; teston_cmd equ 0x0F ; активирован тест-режим "все сегменты включены" или ; деактивирован тест-режим "все сегменты включены" ; ; суффиксы для команд dispon_cmd и teston_cmd cmd_true equ 1 ; команда активации режима cmd_false equ 0 ; команда отключения режима ; ; раскладка сегментов относительно байта данных seg_A equ 6 ; сегмент А seg_B equ 5 ; сегмент B seg_C equ 4 ; сегмент C seg_D equ 3 ; сегмент D seg_E equ 2 ; сегмент E seg_F equ 1 ; сегмент F seg_G equ 0 ; сегмент G seg_H equ 7 ; сегмент H ; ; тетрадный код 0x00 - 0x09 записанный в позицию находящуюся в DM режиме ; соответствует отображению символов 0-9 ; тетрадный код 0x0A-0x0F соответствует символам приведенным ниже simv_pr equ 0x0A ; символ - simv_E equ 0x0B ; символ E simv_H equ 0x0C ; символ H simv_L equ 0x0D ; символ L simv_P equ 0x0E ; символ P simv_blk equ 0x0F ; пробел ; ; во всех случаях работы в режиме DM, ; когда в позиции необходимо присутствие запятой ; перед объединением байта данных со словом команды ; необходимо провести операцию добавления к байту данных бита seg_H=1 ; например ; orl #(1<<seg_H) ; получим в акумуляторе байт DM с активной запятой ; ; байты - суффиксы команд должны подставляться в регистр dat_m72 ; а сами команды в cmd_m72 ; ;---------- ; .DSEG dat_m72 .ds1 ; байт буфера данных cmd_m72 .ds1 ; байт буфера команд flag_m72 .ds1 ; флаги программного комплекта ; ;---------- ; .cseg tr_m72:
Зато сейчас там воспринимаются автоматически те порты, что на картах-расширителях PCI установлены. "Расширеннав область адресов УВВ". Ранее с этим делом для PCIшных весьма муторно было, "ловились" только 378/278 остальное проблемный шаманизм с бубном приходилось делать. В 2.08d beta cразу прописывает "полный адрес" - в моем случае две карточки стоят: LPTPorts=378,B880,CC00 определились верно и работають! Посмотрямс как в работе будет.
плохая идея брать 1 попавше гавно за бабло...если задаром дело другое просто через неделку две поймешь что бабло выкинул на ветер
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Это уж у кого что в пределах досягаемости (и финансовых возможностей). Я с начинкой (процессором и памятью) за 2 тышши цапнул. Правда значительно "поскромнее". Один хрен система фиксации радиатора на процессоре у большинства современных мамок есть ПЕСЕЦ (в приложении возможного искривления материнки). А крепеж прижима радиатора процессора к панельке, чтоб усилие прижима давило только на проц и его кроватку, а не "вжимало" проц с кроваткой в материнку - это только удел или антиквариата или "истинных европейцев" (кои лишь дремуче ББЭЭуу до нас доходили в 90-х)...
для предотвращения искривления платы с обратной стороны стоит пластина. Ну и усилия как на Prescott не требуется ибо у Kaby Lake 4,2ГГц всего 65Вт, а в реальности будет будет CPU попроще и TDP меньше
Втоь и ошибка - пластина ЗА ПАНЕЛЬКОЙ. А дырочки под крепеж СТАНДАРТНОГО радиатора с вентилятором как всегда на сантиметр-два дальше (там же на фотке видны). Так что усилие с тех точек крепежа относительно панельки (хош и с пластиной) продолжают иметь место и потихоньку кривить плату и портить дорожки... Ну да лет пяток проживет - а там все равно придется "на более современную" сменить. Буду на работе - вскрою "арийца забугорного" и сфоткаю как образец того как надо охладители ставить. МНДЯАА... ГРЮСТЬНО... К сожалению "ширпотребом" пользоваться приходится...
у меня платы 478 с известным креплением рычагами работали по 7 лет, дальше рабочие списали. Там плата вообще полукругом была. А процессор теряет актуальность гораздно раньше 5-ти лет (реально- 3 года). Дальше хоть трава не расти. При закупке в контору НИКТО не будет тратить даже лишние $10 на каждую станцию.
Я ж и говорю, что у каждого свои обстоятельства и возможности. Одно дело БОЛЬШАЯ ФИРМА - там просто ОБЯЗАНЫ самое последнее из оборудования и программ ставить и совсем иное СЕБЕ ЛИЧНО для "самоистязания" (и за домашний бюджет под надзором ЖОНЫ) Для самодельщицких применений и 10-летние компы годятся (пока есть с чего программы ставить). За те "рычаги" - как смотрю на "скрученную в осенний лист" плату... аж тооскно...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения