Всем привет !
Хочу просто поморгать большим количеством светодиодов, чем имееться выводов у atmega16pu.
Т.к. есть десяток 74HС595N интересно повозиться именно с ними.
Проблема в том, что прямое дерганье по этой статье у меня в протеусе работает, а с помощью Shiftout, Pulseout нет =(
Помогите понять что я делаю не так.
Spoiler
$regfile = "m16def.dat"
$crystal = 1000000
Dim A As Byte
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Sh_cp Alias Porta.0 'нога для тактовых импульсов
Ds Alias Porta.1 'нога для вывода данных
St_cp Alias Porta.2 'нога для "защелкивания" данных в регистр хранения
A = 146
'вывод через регистр числа 146 (в бинарном представлении 10010010)
St_cp = 0 'выставляем ногу в режим записи данных
Ds = 1 'выставляем первый бит
Sh_cp = 0 'даем импульс на тактовый выход
Sh_cp = 1
Ds = 0 'выставляем второй бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем третий бит
Sh_cp = 0
Sh_cp = 1
Ds = 1 'выставляем четвертый бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем пятый бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем шестой бит
Sh_cp = 0
Sh_cp = 1
Ds = 1 'выставляем седьмой бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем восьмой бит
Sh_cp = 0
Sh_cp = 1
St_cp = 1 'защелкиваем введенные данные
Shiftout Portb.1 , Portb.0 , A , 1 'отправляем данные в регистр
Pulseout Portb.2 , 0 , 5 'защелкиваем данные
'защелкиваем введенные данные
End
cxem.net.zip 33,37 Кб
3 раз скачано
Раздел: Песочница или Вопрос-Ответ
Хочу просто поморгать большим количеством светодиодов, чем имееться выводов у atmega16pu.
Т.к. есть десяток 74HС595N интересно повозиться именно с ними.
Проблема в том, что прямое дерганье по этой статье у меня в протеусе работает, а с помощью Shiftout, Pulseout нет =(
Помогите понять что я делаю не так.
Spoiler
$regfile = "m16def.dat"
$crystal = 1000000
Dim A As Byte
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Sh_cp Alias Porta.0 'нога для тактовых импульсов
Ds Alias Porta.1 'нога для вывода данных
St_cp Alias Porta.2 'нога для "защелкивания" данных в регистр хранения
A = 146
'вывод через регистр числа 146 (в бинарном представлении 10010010)
St_cp = 0 'выставляем ногу в режим записи данных
Ds = 1 'выставляем первый бит
Sh_cp = 0 'даем импульс на тактовый выход
Sh_cp = 1
Ds = 0 'выставляем второй бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем третий бит
Sh_cp = 0
Sh_cp = 1
Ds = 1 'выставляем четвертый бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем пятый бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем шестой бит
Sh_cp = 0
Sh_cp = 1
Ds = 1 'выставляем седьмой бит
Sh_cp = 0
Sh_cp = 1
Ds = 0 'выставляем восьмой бит
Sh_cp = 0
Sh_cp = 1
St_cp = 1 'защелкиваем введенные данные
Shiftout Portb.1 , Portb.0 , A , 1 'отправляем данные в регистр
Pulseout Portb.2 , 0 , 5 'защелкиваем данные
'защелкиваем введенные данные
End
cxem.net.zip 33,37 Кб
3 раз скачано
Раздел: Песочница или Вопрос-Ответ