реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Счетчик импульсов с выводом на 7-ми сегментный индикатор, Помогите, пожалуйста, создать схему
shadow86
сообщение Dec 9 2011, 05:23
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



Понял! У ATtiny26 есть два порта ввода-вывода данных, которые подключеня к своим 8-ми ножкам микросхемы, от меня требуется найти соответствее сегментов индикатора ножкам МК. Эта программа на 2 цыфры (только не пойму, где в коде ее это указано), а чтоб добавить еще один розряд индикации, что мне и куда нужно дописать?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 9 2011, 10:00
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



это ДИНАМИЧЕСКАЯ индикация. В один момент времени горит ОДИН индикатор из двух. Но, так как это происходит с частотой около 1 КГц, глаз не успевает это увидеть.
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 9 2011, 10:33
Сообщение #33


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



я понимаю, что такое динамическая индикация. мне не понятно где указано, чтоб МК зажигал сначала первую цыфру, потом ее тушил и включал вторую, массу подключал к индикатору, чтоли
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 9 2011, 11:14
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(shadow86 @ Dec 9 2011, 14:33) *
я понимаю, что такое динамическая индикация. мне не понятно где указано, чтоб МК зажигал сначала первую цыфру, потом ее тушил и включал вторую, массу подключал к индикатору, чтоли


ну так если индикация динамическая, рулит этим таймер, значит где? Правильно, в обработчике прерывания таймера
Код
__interrupt void Timer0_Ovf(void)

на выходы ставятся NPN коллектором на общий катод и эмиттером на землю
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 11 2011, 22:13
Сообщение #35


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



так и не смог понять ((. скиньте пожалуйста текст программы для управления 3 знаковым 7-ми сегментным индикатором. Если это военная тайна, то скажите хотябы, как заставить МК переключаться между цыфрами? Высказывание:
Цитата
__interrupt void Timer0_Ovf(void)
- мне ниочем не сказало (((
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 12 2011, 06:38
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(shadow86 @ Dec 12 2011, 02:13) *
так и не смог понять ((. скиньте пожалуйста текст программы для управления 3 знаковым 7-ми сегментным индикатором. Если это военная тайна, то скажите хотябы, как заставить МК переключаться между цыфрами? Высказывание: - мне ниочем не сказало (((

а почитать свою же программу и найти в ней эту строчку, посмотреть тело самой функции слабо?
учите С
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 12 2011, 08:31
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



Это хороший совет - учить С, но как-то плохо он мне дается после Паскаля, тут одно и то же можно написать 10 способами, при этом одно на другое аж никак не похоже будет. Нахожу примеры похожие между собой по функционалу, а написанное совсем разное ((. Как то не по-людски в нём все! Ладно, верю, что разгадка где-то рядом.
О! Объясните, пожалуйста, русским языком:
DDRA = 0xFF;
PORTA = 0;
я понимаю, что написанное активизирует порт А для вывода, тоесть все его ножки работают как выходы, а как Вы бы написали если бы захотели например 2 ножки сделать выходами, 2 входами, потом еще 3 выходами и 1 входом, или так нельзя поступать с выходами одного порта?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 12 2011, 09:08
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(shadow86 @ Dec 12 2011, 12:31) *
или так нельзя поступать с выходами одного порта?

документацию на контроллер в руки и читать sm.gif


Цитата(shadow86 @ Dec 12 2011, 12:31) *
Это хороший совет - учить С, но как-то плохо он мне дается после Паскаля

нужно. Под контроллеры все пишется на С

Цитата(shadow86 @ Dec 12 2011, 12:31) *
О! Объясните, пожалуйста, русским языком:
DDRA = 0xFF;
PORTA = 0;
я понимаю, что написанное активизирует порт А для вывода, тоесть все его ножки работают как выходы, а как Вы бы написали если бы захотели например 2 ножки сделать выходами, 2 входами, потом еще 3 выходами и 1 входом,

очень просто. Нужно соответствующие биты выставить в 1

DDRA = 0x80 | 0x40 | 0x0E;

В результате компилятор вычислит значение 0xCE и подставит в выражение. В двоичном виде это будет (11001110), что и требовалось. Но так неудобочитаемо
Лучше будет объявить значения битов (все равно где-то понадобится)

bits.h
Код
#ifndef __BITS_H__
#define __BITS_H__
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x03
#define BIT3 0x04
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80
#endif


а потом просто подключать эти объявления где нужно:

Код
#include "bits.h"

DDRA = BIT7 | BIT6 | BIT3 | BIT2 | BIT1;
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 12 2011, 19:25
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



пожалуй, Ваш русский я тоже не понимаю ((. Объясните как полному идиоту: откуда мне взять эти
Цитата
соответствующие биты
, чтоб
Цитата
выставить в 1
.
Теперь совсем совсем запутался.. эти биты - это адреса ножек микросхемы? которые мне нужно сделать выводами данных..?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 12 2011, 19:40
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(shadow86 @ Dec 12 2011, 23:25) *

мдя...
даже в этой ветке есть 90% ответов как минимум... разбирайтесь
последний пост... убил

Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 13 2011, 08:45
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(shadow86 @ Dec 12 2011, 23:25) *
пожалуй, Ваш русский я тоже не понимаю ((. Объясните как полному идиоту: откуда мне взять эти , чтоб .
Теперь совсем совсем запутался.. эти биты - это адреса ножек микросхемы? которые мне нужно сделать выводами данных..?

Мдя, вам не с С разбираться нужно, а с микроконтроллерами 1111493779.gif 'Биты' оттуда идут, а не от языка программирования.
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 13 2011, 14:05
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



использовал мозговой штурм и разобрался немного с битами. прошу прощения за тупорылые вопросы.. blush.gif
запись
Цитата
#include "bits.h"
DDRA = BIT7 | BIT6 | BIT3 | BIT2 | BIT1;

включает нужные мне ножки как выходы, а остальные ножки порта автоматически будут входами? мне этого нигде объявлять не нужно?
или нужно написать:
"bits.h"
DDRA = BIT7 | BIT6 | BIT3 | BIT2 | BIT1;
PINA = BIT5 | BIT4 | BIT0;
Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 14 2011, 15:47
Сообщение #43


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



подскажите, пожалуйста, в каком виде эта запись 0x0C как ее понимать, переводить в десятичную или хотябы двоичную форму?
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 14 2011, 15:59
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(shadow86 @ Dec 14 2011, 19:47) *
подскажите, пожалуйста, в каком виде эта запись 0x0C как ее понимать, переводить в десятичную или хотябы двоичную форму?
Это шестнадцатиричная запись. В двоичном виде это будет 0000_1100 (подчеркивание добавил для наглядности)

Go to the top of the page
 
+Quote Post
shadow86
сообщение Dec 14 2011, 19:07
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585



Спасибо большое! Двигаюсь дальше..
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 5 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 10:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016