| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Можно ли эмулировать T89C51RD2 |
| Автор: shedon 8.1.2004, 16:04 |
| Можно ли в PICE51 POD-51-31 эмулировать микроконтроллер T89C51RD2, в списке эмулируемых микроконтроллеров его нет ? |
| Автор: PILOT 13.1.2004, 16:56 |
| В Keil можно. СУВ. |
| Автор: shedon 13.1.2004, 17:21 | ||
В Keil можно откампилировать, а мне надо эмулировать. |
| Автор: PILOT 15.1.2004, 22:54 |
| Нет, в Keil можно все. Как эмулировать, так и симулировать (программно). И вообще это ооочень удобная система, удобнее я не встречал пока для 51-ых. СУВ. |
| Автор: shedon 15.1.2004, 23:08 |
| Я имел ввиду эмуляцию внутрисхемным эмулятором Фитона с 31подом(это такой девайс). |
| Автор: PILOT 15.1.2004, 23:53 |
| Мне казалось что Фитон продает эмуляторы для совместного использования с Keil'ом в том числе. http://www.fiton.ru/usr-cgi/control/noframe.cgi?PAR1=1&PAR2=1&PAR3=3& СУВ. |
| Автор: PILOT 16.1.2004, 00:02 |
| А вообще Project 51 тебе поможет. СУВ. |
| Автор: shedon 16.1.2004, 00:12 |
| В проекте 51 нет поддержки такого процессора, по крайней мере его нет в списке, я могу выбрать другой процессор, но там не будут поддержаны все функции T89C51RD2 |
| Автор: PILOT 16.1.2004, 01:37 |
| А что там за особые функции? |
| Автор: shedon 16.1.2004, 08:20 | ||
XRAM, ISP, X2 Mode, 2 DPTR. |
| Автор: PILOT 16.1.2004, 09:30 |
| AT89S8252 с тем же набором (только с возможностью внутрисхемного программирования т.к. есть внутренний ФЛЭШ), +ЕЕПРОМ что вообще замечательно. кстати наверное имелось в виду на ISP (Internet Service Provider) а SPI (Serial Perepherial Protocol) ;) Корпус есть и DIP, т.е. можно вставлять в панельку и в случае чего не выпаивать а заменять чип. СУВ. |
| Автор: shedon 16.1.2004, 09:53 | ||
ISP- In System Programming. Я выбрал этот микрокантроллер, т.к. у него флэш 64k, дополнительная XRAM 1024b, и частота 40 MHz. В общем уже поздно другой контроллер выбирать т.к. он уже заказан, да по большому счёту мне не нужны все его прибамбасы кроме XRAM и двух дэпэтээров. Думаю буду эмулировать как 55ый. Сейчас думаю может другая проблемма выйти, дело в том, что у меня есть ещё внешнее ОЗУ(КР537РУ17), оно естественно сидит на PO и P2, но мне эти порты ныжны у для других целей, так что надо будет это дело как-то смультеплексировать. |
| Автор: PILOT 16.1.2004, 15:30 |
| Возьми старший адресный разряд 15-ый и им мультиплексируй, верхняя половина будет памятью например а нижняя чем-то еще... СУВ. |
| Автор: shedon 16.1.2004, 15:50 | ||
Это понятно, только у меня один знакомый писал подобную вещь на си, и ни как не мог поднять уровень на свободных, ножках. На асме может и сработает, только мне неахота на нём писать. Ведь при обращение к памяти на этих разрядах(P2.5 - P2.6) выставляются нули. |
| Автор: PILOT 17.1.2004, 12:43 |
| Если серьезно, то писать на асме задумано природой контроллера. Но тебе все равно придется мультиплексировать, возможно тебе есть смысл использовать общую шину данных, и адресовать меньшее колво устройств (чтобы не трогать P2.5 - P2.6) а считывание и запись производить согласно известным временным диаграммам. Для чего написать соответствующую процедуру: 1) На шину адреса/данных: АДРЕС (локальный для устройства) 2) Защелкиваем его в регитре 3) Ногу на чтение(RD) в 0 4) Ногу OE нужного устройства в 0 (глобальный адрес) 5) Читаем данные с шины адреса данных. 6) Ногу OE в 1 7) Ногу на чтение в 1 тоже самое на запись только WR = 0, а не RD = 0 СУВ. |
| Автор: shedon 17.1.2004, 16:00 | ||
Именно так я и сделал, проблемма в другом, но микросхеме памяти нужны 13 адрессных линий, т.е. у меня занят порт P0(на нём же мултиплексируются данные), плюс остаётся 5 адресных линий которые идут с порта P2, т.е. по идее на порте P2 у меня есть 3 свободные линии, я думаю, что при писании на асме проблемм с их использованием не будет, а вот если в си, то как я говорил у моео знакомого были проблеммы, он не как не мог поднять уровень на этих свободных линиях. Ведь в си на прямую не работаешь с внешней микросхемой памяти, а си всёравно, сколько адрессных линий ты используешь(он не знает объём памяти микросхемы) и использует весь порт P2, только в зависимости т адреса на свободных линиях выстовляются нули. |
| Автор: PILOT 18.2.2004, 10:06 |
| Вот ей богу... когда все в руках (на асме), настолько спокойнее... А на Си вроде можно вставки делать на Асм'е. По другому все равно не получится наверное... СУВ. |
| Автор: shedon 18.2.2004, 10:09 |
| Да я уже схему переделал, поставил регистры на I2C, теперь портов хватает. А со вставками на асме там тоже не так всё просто. |
| Автор: PILOT 18.2.2004, 10:20 |
| Может быть я на си не программирую на контроллерах... поэтому не знаю... возможно это удабнее, но не все под контролем. СУВ. |