Вот пробовал найти файл к нему для его программирования io51.h, может есть у кого? Выложите сюда его пожалуйста.
Должен идти с компилятором. Скорее всего компилятор просто его не видет. Найди его на винте и укажи в include полный путь к нему. Какой, кстати, компилятор?
Посмотри примеры к AVRStudio. Он может он там по другому называется. Это обычный хедер с описанием проца. Любой пример посмотри из комплекта, что тамм в начале инклудится.
Dr.Death попробуй поискать на винте/в инсталляшке . А каким образом? :D Кста, твой проц поддерживается средой? Если поддерживается, возьми любой *.h от процессора, похожего на твой, и заинклудь его, в чём проблемы? И вообще, переходи на PIC
Dr.Death, я тут преодолел свою природную лень и прошёлся по этой ссылке. Сдаётся мне, что среды разработки ну никоим образом не могут поддерживать клон серии '51. Им нужно что-то навроде AVRа... :D
вот тебе текст io51.h от компилятора IAR C для 8051 /* - IO51.H - Special header for the 8051/52/31/32 processors. Version 5.20 [IMAF] Revision control system $Id: io51.h 1.11 1999/07/08 18:42:55 IFAT Exp $ */ #pragma language=extended /*===============================*/ /* Predefined SFR Byte Addresses */ /*===============================*/ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IE = 0xA8; sfr IP = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sfr T2CON = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; /*==============================*/ /* Predefined SFR Bit Addresses */ /*==============================*/ /*========PSW========*/ bit CY = 0xD7; bit AC = 0xD6; bit F0 = 0xD5; bit RS1 = 0xD4; bit RS0 = 0xD3; bit OV = 0xD2; bit P = 0xD0; /*========TCON=======*/ bit TF1 = 0x8F; bit TR1 = 0x8E; bit TF0 = 0x8D; bit TR0 = 0x8C; bit IE1 = 0x8B; bit IT1 = 0x8A; bit IE0 = 0x89; bit IT0 = 0x88; /*========IE=========*/ bit EA = 0xAF; bit ET2 = 0xAD; bit ES = 0xAC; bit ET1 = 0xAB; bit EX1 = 0xAA; bit ET0 = 0xA9; bit EX0 = 0xA8; /*========IP=========*/ bit PT2 = 0xBD; bit PS = 0xBC; bit PT1 = 0xBB; bit PX1 = 0xBA; bit PT0 = 0xB9; bit PX0 = 0xB8; /*========P3=========*/ bit RD = 0xB7; bit WR = 0xB6; bit T1 = 0xB5; bit T0 = 0xB4; bit INT1 = 0xB3; bit INT0 = 0xB2; bit TXD = 0xB1; bit RXD = 0xB0; /*========SCON========*/ bit SM0 = 0x9F; bit SM1 = 0x9E; bit SM2 = 0x9D; bit REN = 0x9C; bit TB8 = 0x9B; bit RB8 = 0x9A; bit TI = 0x99; bit RI = 0x98; /*========T2CON=======*/ bit TF2 = 0xCF; bit EXF2 = 0xCE; bit RCLK = 0xCD; bit TCLK = 0xCC; bit EXEN2 = 0xCB; bit TR2 = 0xCA; bit C_T2 = 0xC9; bit CP_RL2 = 0xC8; /*==============================*/ /* Interrupt Vector Definitions */ /*==============================*/ interrupt [0x03] void EX0_int (void); /* External Interrupt 0 */ interrupt [0x0B] void T0_int (void); /* Timer 0 Overflow */ interrupt [0x13] void EX1_int (void); /* External Interrupt 1 */ interrupt [0x1B] void T1_int (void); /* Timer 1 Overflow */ interrupt [0x23] void SCON_int (void); /* Serial Port */ interrupt [0x2B] void T2_int (void); /* Timer 2 Overflow */ interrupt [0x2B] void T2EX_int (void); /* Negative Transition on T2EX */
pegas аха, если он сможет в среде для программирования AVR компилить Це в '51 код, я ему памятник при жизЬни поставлю :D
А кстати никто не подскажет, подцепил я к ноге P2.7 светодиод через резистор 1К, написал данну программу, а он у меня не светится: Код: reset: sjmp start start: CLR P2.7 sjmp start
Dr.Death Он засветится, если ты вторую его ногу к +5 подцепиш. А Порт P2 проинитил на вывод? Возьми какой-нибудь простой пример с тем же светодиодом, откомпиль, прошей и посмотри. А так, навскидку, именно этот кусок должен работать. Но, я надеюсь, это не единственный кусок во всей программе? Там же при старте надо проц проинитить, какие устройства будем использовать, какие нет. Если будем, то как... Начни с готовых примеров.
firefly Дай мне хоть ссылку на один из них, хотя бы зажечь светодиод, я пишу вслепую . Эта вся и программа. Очень буду благодарен, если ссылку дашь.
Dr.Death Я пишу для Microchip'овских микроконтроллеров. Так бы помог. Сейчас пробежался по поисковикам - ну и проц ты выбрал... Нифика про него ничего. Я ж тебе 16f84 подарил? Чего не на нем? Уже давно бы светодиод горел
Dr.Death Я те могу дать почитать руковводство по юзанию всей 31 и 51 серии контроллеров, на русском языке, а также рекомендую второй том книжки Предко: М. Предко. Руководство по микроконтроллерам. Том II. Москва: Постмаркет, 2001. - 488 с. Заказать её можно на болеро.ру. По поводу этой книжки а также компашки к ней все вопросы Файерфлаю . Присоединяюсь к Файерфлаю по поводу того, что на PICе это сделать гораздо проще - полно описалова (надеюсь, с языком наиболее вероятного противника у тебя ОК). Мне нравится твоё упорство в овладении премудростями embedded ctl systemz.
firefly Для доброго времени берегу , на самом деле у меня же понипрог, а там обвязка для Pic' а через несколько транзисторов, руки не доходят, да к тому же что-то боюсь на нем программировать, команды у него какие-то непохожие на простые процессорные, вот например у at89s53 большинство команд как у процессоров Intel, потому что сам он и Интел. Думаю, что простой асм забуду, писишный. black Мне бы просто программу которая светодиодом моргает, а дальше уже я и сам смогу, по крайней мере я так думаю.
Dr.Death Вот прога моргания светодиодом на порту. Смотрит на кнопку и в зависимости от положения кнопки зажигает светодиод на другом.
firefly Это совсем не то, ты ошибся, у at89s53 совсем другая архитектура MCS-51 и ассемблер другой, а у at90s1200 если я не ошибаюсь RISC, так что эта прога не пойдет.
Dr.Death, зайди, я тебе компашку подарю. Там есть примеры и для 51 серии. firefly добавил [date]1090497402[/date]: Или дай мыло, я тебе на мыло примеры пришлю.