| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Потребителски регистър в MPASM http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7069 |
Страница 1 от 1 |
| Автор: | iorgov [ Чет Авг 20, 2009 5:33 pm ] |
| Заглавие: | Потребителски регистър в MPASM |
Здравейте иска ми се да си създам потребителски регистър в РАМ-паметта на ПИК-ът. Примерно да се намира на адрес 20Н и да мога да си му сетвам и свалям битове (с BSF и BCF). Проблема е там, че не знам как става самото деклариране. Пробвах с USR_REG UDATA 0x20 MY_REG RES 1 MY0 equ 0x00 (за бит нула) Както е описано в help-а на MPASM ама нещо не ми се получава. при изпълнение на команда BSF MY_REG, MY0 регистъра си стои 0 не се променя. то ми е ясно че нещо ми се губи в превода за това моля някой по-знаещ от мен (т.е. който и да е от форума) да ми помогне. П.С. Кога build-на проекта и зареди програмата в програмната памет виждам че разпознава на кой адрес се намира MY_REG и знае че става дума за бит 0 от този адрес, но не прави нищо |
|
| Автор: | Gogo [ Чет Авг 20, 2009 6:18 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Третия ред го замени с това:
После бита се променя така:
|
|||||||||||||||||||
| Автор: | a_stankov [ Пет Авг 21, 2009 2:53 pm ] |
| Заглавие: | |
Пробваи с това #define MY_REG EQU 0x20 Ако искаш цял блок от потребителски регистри CBLOCK 0x20 MY_REG 1 MY_REG 2 MY_REG 3 MY_REG 4 ENDC Така първия е на адрес 0х20 , втория на адрес 0х21 и т.н. След това #define MY_FLAG MY_REG,0 #define MY_FLAG1 MY_REG,1 Това са дефиниции вече на флагове и после в програмата тях можеш да си сетваш и клирваш. Успех |
|
| Автор: | iorgov [ Пет Авг 21, 2009 5:26 pm ] |
| Заглавие: | |
Благодаря за отговорите. Стана по пърият начин |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|