На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

CCS compiler версии 5. Программа не входит в прерывания

Страница 1 из 3
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 21:43 #1
#include <acc1.h>
#int_TIMER1
int16 volt,cur;int8 i=0,sec=0,min=0,hour=0;
void TIMER1_isr(void)
{

i++;
if (i==100)
{ i=0;sec++;}
if (sec==60)
{sec=0;min++;}
if (min==60)
{min=0;hour++;}




}

#define ENABLE_PIN A1
#define RS_PIN A0
#define RW_PIN A3
#define Data4 A2
#define Data5 C0
#define Data6 C1
#define Data7 C2

#include <lcdd.c>

void lcdpr(signed int16 lc1, unsigned char v) //++++ ***226;***251;***226;***238;***228; ***237;***224; ***235;***241;***228; ***247;***232;***241;***235;***224; ***241; ***227;***224;***248;***229;***237;***232;***229;* **236; ***237;***229;***231;***237;***224;***247; ***237;***243;***235;***255;
{
signed int x2=-1;
while (lc1>=0)
{
x2=x2+1;
lc1=lc1-1000;
}
x2=x2+48;
if (x2>48) if (v==4) lcd_send_byte(1,x2);
lc1=lc1+1000;
x2=-1;
while (lc1>=0)
{
x2=x2+1;lc1=lc1-100;
}
x2=x2+48;
if (v==4) lcd_send_byte(1,x2);
lc1=lc1+100;
x2=-1;
if (v==4) lcd_send_byte(1,44);
while (lc1>=0)
{
x2=x2+1;lc1=lc1-10;
}
x2=x2+48;
lcd_send_byte(1,x2);
lc1=lc1+10;
x2=-1;
while (lc1>=0)
{
x2=x2+1;lc1=lc1-1;
}
x2=x2+48;
lcd_send_byte(1,x2);
}

void main()
{
setup_adc_ports(sAN3|sAN7);
setup_adc(ADC_CLOCK_DIV_64);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); //262 ms overflow

enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);

lcd_init();
delay_ms(500);
lcd_gotoxy(1,1);
lcd_putc("U=");
lcd_gotoxy(10,1);
lcd_putc("I=");

while(TRUE) //***238;***241;***237;***238;***226;***237;***238;* **233; ***246;***232;***234;***235; ***239;***240;***238;***227;***240;***224;***236;* **236;***251;
{
lcd_gotoxy(1,1);
lcdpr(hour,2);
lcd_putc(":");
lcdpr(min,2);

setup_adc(ADC_CLOCK_INTERNAL|VSS_VDD); //***237;***224;***241;***242;***240;***224;***232;* **226;***224;***229;***236; ***192;***214;***207; ***237;***224; ***238;***239;***238;***240;***237;***238;***229; ***237;***224;***239;***240;***255;***230;***229;* **237;***232;***229;=***239;***232;***242;***224;* **237;***232;***229;




setup_adc_ports(sAN3);
set_adc_channel(3);
volt = read_adc()*2;
delay_ms(30);
setup_adc_ports(sAN7);
set_adc_channel(7);
cur = read_adc();
delay_ms(30);



/* lcd_gotoxy(3,1);
lcd_putc(" ");
lcd_gotoxy(3,1);
lcdpr(volt,4); //volt
lcd_putc("V ");
*/
lcd_gotoxy(12,1);
lcd_putc(" ");
lcd_gotoxy(12,1);
if (cur==1) cur=0;
if (cur>75) cur=cur-((300*cur-22500)/7500); //***234;***238;***240;***240;***229;***234;***246;* **232;***255;
if (cur<75) if (cur>10)cur=cur+((22500-300*cur)/7500); //***234;***238;***240;***240;***229;***234;***246;* **232;***255;
lcdpr(cur,4);
lcd_putc("A");
// delay_ms(00);


}
}
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,308
Репутация: 635
615 131
34 9
 
25.06.2017 21:48 #2
а с чего вы решили что программа не заходит в прерывания?
Оценка
Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW. Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного.
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 21:57 #3
Цитата:
Сообщение от Alex_641
#include <acc1.h>
#int_TIMER1
int16 volt,cur;int8 i=0,sec=0,min=0,hour=0;
void TIMER1_isr(void)
{

i++;
if (i==100)
{ i=0;sec++;}
if (sec==60)
{sec=0;min++;}
if (min==60)
{min=0;hour++;}




}

#define ENABLE_PIN A1
#define RS_PIN A0
#define RW_PIN A3
#define Data4 A2
#define Data5 C0
#define Data6 C1
#define Data7 C2

#include <lcdd.c>

void lcdpr(signed int16 lc1, unsigned char v) //++++ ***226;***251;***226;***238;***228; ***237;***224; ***235;***241;***228; ***247;***232;***241;***235;***224; ***241; ***227;***224;***248;***229;***237;***232;***229;* **236; ***237;***229;***231;***237;***224;***247; ***237;***243;***235;***255;
{
signed int x2=-1;
while (lc1>=0)
{
x2=x2+1;
lc1=lc1-1000;
}
x2=x2+48;
if (x2>48) if (v==4) lcd_send_byte(1,x2);
lc1=lc1+1000;
x2=-1;
while (lc1>=0)
{
x2=x2+1;lc1=lc1-100;
}
x2=x2+48;
if (v==4) lcd_send_byte(1,x2);
lc1=lc1+100;
x2=-1;
if (v==4) lcd_send_byte(1,44);
while (lc1>=0)
{
x2=x2+1;lc1=lc1-10;
}
x2=x2+48;
lcd_send_byte(1,x2);
lc1=lc1+10;
x2=-1;
while (lc1>=0)
{
x2=x2+1;lc1=lc1-1;
}
x2=x2+48;
lcd_send_byte(1,x2);
}

void main()
{
setup_adc_ports(sAN3|sAN7);
setup_adc(ADC_CLOCK_DIV_64);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); //262 ms overflow

enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);

lcd_init();
delay_ms(500);
lcd_gotoxy(1,1);
lcd_putc("U=");
lcd_gotoxy(10,1);
lcd_putc("I=");

while(TRUE) //***238;***241;***237;***238;***226;***237;***238;* **233; ***246;***232;***234;***235; ***239;***240;***238;***227;***240;***224;***236;* **236;***251;
{
lcd_gotoxy(1,1);
lcdpr(hour,2);
lcd_putc(":");
lcdpr(min,2);

setup_adc(ADC_CLOCK_INTERNAL|VSS_VDD); //***237;***224;***241;***242;***240;***224;***232;* **226;***224;***229;***236; ***192;***214;***207; ***237;***224; ***238;***239;***238;***240;***237;***238;***229; ***237;***224;***239;***240;***255;***230;***229;* **237;***232;***229;=***239;***232;***242;***224;* **237;***232;***229;




setup_adc_ports(sAN3);
set_adc_channel(3);
volt = read_adc()*2;
delay_ms(30);
setup_adc_ports(sAN7);
set_adc_channel(7);
cur = read_adc();
delay_ms(30);



/* lcd_gotoxy(3,1);
lcd_putc(" ");
lcd_gotoxy(3,1);
lcdpr(volt,4); //volt
lcd_putc("V ");
*/
lcd_gotoxy(12,1);
lcd_putc(" ");
lcd_gotoxy(12,1);
if (cur==1) cur=0;
if (cur>75) cur=cur-((300*cur-22500)/7500); //***234;***238;***240;***240;***229;***234;***246;* **232;***255;
if (cur<75) if (cur>10)cur=cur+((22500-300*cur)/7500); //***234;***238;***240;***240;***229;***234;***246;* **232;***255;
lcdpr(cur,4);
lcd_putc("A");
// delay_ms(00);


}
}
почему программа не входит в прерывание ??? как всё сложно с микрочипами, и как просто с авр-ами
Оценка
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 21:58 #4
потому что нет изменения времени на лсд !
Оценка
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,308
Репутация: 635
615 131
34 9
 
25.06.2017 22:05 #5
"volatile" спасёт или нет?
Оценка
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 22:08 #6
не пойму о чём Вы ??
Оценка
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 22:10 #7
Цитата:
Сообщение от DmitriyVDN
"volatile" спасёт или нет?
У меня всё в железе , протеусами и хереусами не располагаю , всё на физическом уровне
Оценка
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,308
Репутация: 635
615 131
34 9
 
25.06.2017 22:10 #8
о типе переменных.
Оценка
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 22:13 #9
сейчас посмотрю
Оценка
Banned
 
Регистрация: 12.05.2017
Сообщений: 104
Репутация: 14
5 0
1 0
 
25.06.2017 22:17 #10
Цитата:
Сообщение от DmitriyVDN
о типе переменных.
все типы соответствуют, я хоть и чайник но в сфере микрочипов !!! А в авр проблем никогда не было, а ещё на паскале тетрис написал когда то давно .. ну это так ...
Оценка
Ответ
Страница 1 из 3
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 20:31.
Обратная связь РадиоЛоцман Вверх