Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 19.04.2007, 23:42  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию Делаю вольтметр!!!

Помогите сделать второй разряд Нада кусок прошывки на уровне моего понинания.

Прикрепленный файл: 2727366.rar
Реклама:
vmax1987 вне форума  
Сказали "Спасибо" vmax1987
strem (23.10.2010)
Непрочитано 20.04.2007, 18:05  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию

Вот прошивка если лень скачать
#include ‹mega8.h›
#include ‹m8_128.h›
#define ADC_VREF_TYPE 0x20

u8 mas[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};

void ind(void) {
if (PIND›=0) {
if (PIND‹6){
PORTB=mas[0];
PORTC.4=0;};};

if (PIND›=6) {
if (PIND‹11){
PORTB=mas[1];
PORTC.4=0;};};

if (PIND›=11) {
if (PIND‹16){
PORTB=mas[2];
PORTC.4=0;};};

if (PIND›=16) {
if (PIND‹21){
PORTB=mas[3];
PORTC.4=0;};};

if (PIND›=21) {
if (PIND‹26){
PORTB=mas[4];
PORTC.4=0;};};

if (PIND›=26) {
if (PIND‹31){
PORTB=mas[5];
PORTC.4=0;};};

if (PIND›=31) {
if (PIND‹36){
PORTB=mas[6];
PORTC.4=0;};};

if (PIND›=36) {
if (PIND‹41){
PORTB=mas[7];
PORTC.4=0;};};

if (PIND›=41) {
if (PIND‹46){
PORTB=mas[8];
PORTC.4=0;};};

if (PIND›=46) {
if (PIND‹51){
PORTB=mas[9];
PORTC.4=0;};};
}

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
PORTB=0;
ind();
}

interrupt [ADC_INT] void adc_isr(void)
{
// Read the 8 most significant bits
// of the AD conversion result
PORTD=ADCH;
}

void main(void)
{
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0xF0;
PORTD=0xff;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 0,977 kHz
TCCR0=0x05;
TCNT0=0x00;
// ADC initialization
// ADC Clock frequency: 500,000 kHz
// ADC Voltage Reference: AREF pin
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0xe9;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;

// Global enable interrupts
#asm("sei")

while (1){
};
}


Может есть вариант по упрощению прошивки ?
vmax1987 вне форума  
Непрочитано 20.04.2007, 18:09  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию

И не нада нервно хихикать при чтении 8O
vmax1987 вне форума  
Непрочитано 20.04.2007, 19:34  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Делаю вольтметр!!!

Сообщение от vmax1987
Помогите сделать второй разряд Нада кусок прошывки на уровне моего понинания.
Для чего вольтметр? Какой диапазон, измеряемых напряжений?

Прикрепленный файл: 2727366.rar
FreeTramp вне форума  
Непрочитано 21.04.2007, 18:18  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию

Вольтметр нужен для того чтоб понять сам процес написания прошивки, а точнее понять принцип вывода переменной на дисплей при помощи динамической индикации.
vmax1987 вне форума  
Непрочитано 21.04.2007, 19:03  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Сообщение от vmax1987
Вольтметр нужен для того чтоб понять сам процес написания прошивки, а точнее понять принцип вывода переменной на дисплей при помощи динамической индикации.
дисплей какой? жки или цифровой светодиодный индикатор?
Если цифровой индикатор,то ничего сложного нет ,выдаеш на порт цифру первого индикатора,включаеш индикатор общим анодом или катодом,гасиш его ,выставляеш вторую цифру,включаеш второй индикатор и так далее(да и смотриш что мигания не были видны глазу),но лучше применить микросхему динамической индикации.
CERGEI1982 вне форума  
Непрочитано 21.04.2007, 19:05  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Этот кусок вне уровня моего понимания...Анализируешь число, если оно меньше 6, читаешь из знакогенератора 0, от 6 до 11, читаешь 1... Странно немного.

Сколько разрядов нужно выдавать ? Как делается стробирование , на чем ?
urry вне форума  
Непрочитано 21.04.2007, 22:42  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию

Диапазон измеряемых напряжений 0-5В. Точность измерения 0,1В , а так как 0b00000001=0,02В то я анализирую число, если оно меньше 6, на индикаторе 0, от 6 до 11-1.

[/quote]

-- Прилагается рисунок: --

vmax1987 вне форума  
Непрочитано 22.04.2007, 00:21  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Опять не понял.. Если у тебя точность измерения 0,1 Вольт, а минимальное значение бита 0,02 В, то на фик его анализировать - на 2 знаковом индикаторе все равно сотые видно не будет. Те число из регистра нужно разделить на 5 и уже его выводить.И функцию дисплея не делай воид, передай туда выводимое число в качестве параметра
Код:
void ind (unsigned char temp)
{
unsigned char des,edin;
des=temp/10;
edin=temp- des*10;
PORTB=mas[des];
//дальше выводишь, захлопываешь и т.п.
PORTC.4=0;
PORTC.5=1;
delay_ms(5);
PORTB=mas[edin];
//дальше выводишь, захлопываешь и т.п.
PORTC.4=1;
PORTC.5=0;
delay_ms(5);
}
Это нужно ?
urry вне форума  
Непрочитано 22.04.2007, 12:53  
vmax1987
Частый гость
 
Регистрация: 25.10.2005
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
vmax1987 на пути к лучшему
По умолчанию

Код:
void ind (unsigned char temp)
{
unsigned char des,edin;
des=temp/10;
edin=temp- des*10;
PORTB=mas[des];
//дальше выводишь, захлопываешь и т.п.
PORTC.4=0;
PORTC.5=1;
delay_ms(5);
PORTB=mas[edin];
//дальше выводишь, захлопываешь и т.п.
PORTC.4=1;
PORTC.5=0;
delay_ms(5);
}
urry сапасибо, кажетса мне ето и нада.
Ище одно не по теме, как передать байт по одному проводу (1WIRE) только в одну сторону и как можно проще. Передать нада с ATmega8 на ATmega8 по радиоканалу?
vmax1987 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что я неверно делаю? Rynaldo Proteus, KiCAD и другие ECAD 1 13.05.2008 14:50
вольтметр В7-26 alex6 Измерительное оборудование 3 18.10.2007 01:51
[Решено] 24 канальный вольтметр Проходивший_мимо Измерительное оборудование 11 03.01.2006 20:11


Часовой пояс GMT +4, время: 13:44.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot