| 
 | 
 | 
| 
 | 
Подскажите пожалуйста: Повторил проектик proba1 что в начале этой ветки выкладывался,заменил пик628 на пик12ф675,порт заменил с b на а(т.к. в нем один только а) ,компилируется без ошибок,но хекса нету,блокнотом открывал есть похожий на хекс но расширение-ICD? По MPLAB-7.41  в виртуале шагает,а в Протеусе-7.02SP6(выбирал- cof) нехочет?.Пробовал и осциллом и  таймера делитель менять-непомогло??? Помогите где ошибка. Компилятор CCS-4.065 Файлик прикрепляю 175566.rar  | 
  
 | 
| 
 | 
Neman2000: Подскажите пожалуйста: Neman2000: Подскажите пожалуйста: А Вы всегда, когда спрашиваете кого-то, то по 2 раза один и тот же вопрос задаете? Neman2000: есть похожий на хекс но расширение-ICD? это результат установки программы ICD-S - во время установки этой программы Вам был задан вопрос(на англ.) - "Сделать ассоциацию всех hex-файлов(файлов с расширением hex) с программой ICD-S?" и Вы нажали Ok(наверно ничего не читаете когда устанавливаете программы и нажимаете "Ok" в каждом окне?). Теперь файлы с расширением hex в системе автоматически открываются этой программой. Neman2000: По MPLAB-7.41 в виртуале шагает,а в Протеусе-7.02SP6(выбирал- cof) нехочет?.Пробовал и осциллом и таймера делитель менять-непомогло??? Помогите где ошибка. В Протеусе ничего такого сложного нет - самое главное правильно нарисовать схему, а в свойствах процессора загрузить соотв. программу в него(которую уже написали для этой схемы). Подробнее смотрите тему, где описано как работать с Протеусом.  | 
  
 | 
| 
 | 
AleksBak подскажите пожалуйста как реально сейчас изменить расширение с ICD на hex? В протеусе все нарисовал правильно,а внизу строки идет какойто счет и мессанжи зеленые считает?  | 
  
 | 
| 
 | 
Вот может кому пригодиться вывод на семисегментник числа d(0-1024) :
  #define H 4  // размер массива для разложения #define DIG_BASE  10  //размер массива вывода unsigned CHAR SYMBOLS[DIG_BASE] = {63, 6, 91, 79, 102, 109, 125, 7, 127, 111}; // масив для вывода на 7 сег. unsigned CHAR digits[h];  //массив для разложения на тысячи, сотни ..... void Seven_segments (void) { for(j=0; j <= 3; j++){digits[j] = 0;}          //обнуление while (d >= 1000){d -= 1000;++digits[0];}      //разложение, тысячи while (d >= 100) {d -= 100; ++digits[1];}      //.... , сотни while (d >= 10)  {d -= 10;  ++digits[2];}      //.... , десятки digits[3] = d;                                 //.... , еденицы j = 3;                                         //начинаем вывод с едениц num7seg = 8;                                   //номер сегмента выводящего еденицы while(num7seg >= 1){                          //пока не вывели все цифры.... ; можно заменить на FOR m = digits[j]; output_b ( ~ (num7seg)); if (num7seg==2){SYMBOLS[m]=SYMBOLS[m]+128;}  //поставить точку, если не надо всю строку стереть output_d (  (SYMBOLS[m]));                   //вывод цыфры num7seg  = num7seg / 2 ; j = j-1;                                     //выводим следующую цифру delay_ms (10);                               //пауза  устанавлющая длительность свечение разряда } }   | 
  
 | 
| 
 | 
Простая прога для мышиного колеса, надо проверить на дребезг. Может будут у кого идеи? #INT_EXT void ext_isr() //прерывание по изменению L->H на RB0 //RB0 и RB1 от колеса мыши //RB2 кнопка под колесом { if(input(Pin_B2)){fast=9;}//нажата кнопка под колесом мыши, для ускорения else fast=0; if(input(Pin_B1)){++value+=fast;} else --value-=fast; } _____ чуть редактировано  | 
  
 | 
| 
 | 
2 Vladikas Это только для прибавления, а в другую сторону как?  | 
  
 | 
| 
 | 
if(input(Pin_B1)){++value+=fast;} это плюс else --value-=fast; это минус   | 
  
 | 
| 
 | 
2 Vladikas Вот мысля такая.....
  #INT_EXT void ext_isr(){ flag=1; set_timer0(100); disble_interrupts(INT_EXT); } void Koleso(void) int timer; timer=get_timer0(); if (flag==1 & timer>200) { if(input(Pin_B2)){fast=9;} else fast=0; if(input(Pin_B1)){++value+=fast;} else --value-=fast; enable_interrupts(INT_EXT); flag=0; set_timer0(0); }  | 
  
 | 
| 
 | 
Left Radio: Вот, может кому пригодится вывод на семисегментник числа d(0-1023) А так не проще?
   sprintf(string,"%d",d); for(i=0;i < DIG_BASE;i++) { . . . . . .output_d(symbols[string[i]&0x0F]); }
 
  число |d| <  32768
  | 
  
 | 
| 
 | 
 При компиляции в ЦЦС  получается расширение  ICD вместо hex?(хекса нету ,а вместо него файл IDC) Пробовал переставить ЦЦС-непомогает! Подскажите пожалуйста как  в ЦЦС  изменить расширение с ICD на hex?
 
  | 
  
 | 
 | 
 | 
 |