Эта показалась интерфейсом более понятна.
Эта показалась интерфейсом более понятна.
А другие контроллеры шьёт? Хотя, сомневаюсь... Программатор не опознает порт LPT1. Это бывает по причине того, что Windows XP (если у вас именно он установлен?) работает с портами через API, а не напрямую, как, например Windows 98. Чтобы это победить, надо кое-чего установить дополнительно. Программу p95NT, например. Она поставит нужные драйвера и передаст управление портами COM и LPT вашей программе.ZverXz писал(а):Здрасьте. Собрал программатор по этой ссылке http://radioded.ru/content/view/100/1 но никак не получается прошить контроллер(атмега32). Пишет ошибку
avrdude.exe: can't open device "LPT1"
avrdude.exe: failed to open parallel port "LPT1"
что надо проверить? Спаял как и там все по схме, но только на макетке.
А если нашел, то собирай USB программатор и не парься со всякой хренью...нашел где в соседнем городе прошить можно
Я тут на досуге почитал ваши предыдущие посты. У меня возникает такой вопрос, вернее два:Slawakuzmich писал(а):Все, сделал устройство, работает.
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 10000000
Config Portc = Output
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.2 = Input
Config Portd.3 = Input
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Portc = 0
Portb.2 = 0
Portb.3 = 0
Enable Interrupts
On Int0 Stopbutton
Dim A As Byte
A = 0
Do
If Portb.0 = 1 Then A = A + 1
If A = 1 Then Do
If Portd.0 = 1 Then Do
Portc.0 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
End
End
If Portd.1 = 1 Then Do
Portc.1 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
End
End
If Portd.2 = 1 Then Do
Portc.2 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
End
End
If Portd.3 = 1 Then Do
Portc.3 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
End
End
End
If A = 0 Then Do
If Portd.0 = 1 Then Do
Portc.4 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
End
End
If Portd.1 = 1 Then Do
Portc.5 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
End
End
If Portd.2 = 1 Then Do
Portb.4 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
End
End
If Portd.3 = 1 Then Do
Portb.5 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
End
End
End
End
EndКод: Выделить всё
$regfile = "m48def.DAT"
$crystal = 4000000
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.0 , Rs = Portd.1
Config Lcd = 16 * 4
'***********************************************************************************
Config 1wire = Portc.5
Config Portb.5 = Output
Dim I1 As Integer , Ss As String * 6
Dim I2 As Integer
Dim I3 As Integer
Dim I4 As Integer
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
Dim Dsid3(8) As Byte
Dim Dsid4(8) As Byte
Dim B As Byte
Dim W As Byte
Deflcdchar 0 , 14 , 17 , 17 , 17 , 14 , 32 , 32 , 32
Nagrev Alias Portb.5
Cursor Off
Cls
Lcd " Termometr "
Lowerline
Lcd " 2011 "
Wait 5
Cls
W = 1wirecount()
Cls
Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()
Dsid3(1) = 1wsearchnext()
Dsid4(1) = 1wsearchnext()
'****************************************
If Dsid1(8) = Crc8(dsid1(1) , 7) Then
Locate 1 , 1
Lcd "CRC OK Sens 1 ID"
Wait 1
Locate 1 , 1
For B = 1 To 8
Lcd Hex(dsid1(b))
Next
End If
Wait 1
If Dsid2(8) = Crc8(dsid2(1) , 7) Then
Locate 2 , 1
Lcd "CRC OK Sens 2 ID"
Wait 1
Locate 2 , 1
For B = 1 To 8
Lcd Hex(dsid2(b))
Next
End If
Wait 1
If Dsid3(8) = Crc8(dsid3(1) , 7) Then
Locate 3 , 1
Lcd "CRC OK Sens 3 ID"
Wait 1
Locate 3 , 1
For B = 1 To 8
Lcd Hex(dsid3(b))
Next
End If
Wait 1
If Dsid4(8) = Crc8(dsid4(1) , 7) Then
Locate 4 , 1
Lcd "CRC OK Sens 4 ID"
Wait 1
Locate 4 , 1
For B = 1 To 8
Lcd Hex(dsid4(b))
Next
End If
Wait 1
Cls
'****************************************
Do
1wreset
1wwrite &H55
1wverify Dsid1(1)
1wwrite &HBE
I1 = 1wread(2)
'---------------------------------
1wreset
1wwrite &H55
1wverify Dsid2(1)
1wwrite &HBE
I2 = 1wread(2)
'---------------------------------
1wreset
1wwrite &H55
1wverify Dsid3(1)
1wwrite &HBE
I3 = 1wread(2)
'---------------------------------
1wreset
1wwrite &H55
1wverify Dsid4(1)
1wwrite &HBE
I4 = 1wread(2)
'--------
1wreset
1wwrite &HCC
1wwrite &H44
Wait 1
'****
I1 = I1 * 10
I1 = I1 / 16
Ss = Str(i1)
Ss = Format(ss , " 0.0")
Locate 1 , 1
Lcd "T1 " ; Ss ; Chr(0) ; "C "
I2 = I2 * 10
I2 = I2 / 16
Ss = Str(i2)
Ss = Format(ss , " 0.0")
Locate 2 , 1
Lcd "T2 " ; Ss ; Chr(0) ; "C "
I3 = I3 * 10
I3 = I3 / 16
Ss = Str(i3)
Ss = Format(ss , " 0.0")
Locate 3 , 1
Lcd "T3 " ; Ss ; Chr(0) ; "C "
I4 = I4 * 10
I4 = I4 / 16
Ss = Str(i4)
Ss = Format(ss , " 0.0")
Locate 4 , 1
Lcd "T4 " ; Ss ; Chr(0) ; "C "
If I1 < 1 Or I2 < 1 Or I3 < 1 Or I4 < 1 Then
Set Nagrev
Else
Reset Nagrev
End If
Loop
EndЕще раз поподробнее, у мну кнопки <компилЪ>нету...Redrik Shuhart писал(а):нее, крепятся конечно, но так быстрее будет, скопировал- вставил, нажал компилЪ, а так скачай. разарживируй, открой, запусти....
Плиз, Игорь, сделай...
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 10000000
Config Portc = Output
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.2 = Input
Config Portd.3 = Input
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Portc = 0
Portb.2 = 0
Portb.3 = 0
Enable Interrupts
On Int0 Stopbutton
Dim A As Byte
A = 0
Do
If Portb.0 = 1 Then A = A + 1
If A = 1 Then Do
If Portd.0 = 1 Then Do
Portc.0 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
Loop
End
If Portd.1 = 1 Then Do
Portc.1 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
Loop
End
If Portd.2 = 1 Then Do
Portc.2 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
Loop
End
If Portd.3 = 1 Then Do
Portc.3 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
Loop
Loop
End
If A = 0 Then Do
If Portd.0 = 1 Then Do
Portc.4 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
Loop
End
If Portd.1 = 1 Then Do
Portc.5 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
Loop
End
If Portd.2 = 1 Then Do
Portb.4 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
Loop
End
If Portd.3 = 1 Then Do
Portb.5 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
Loop
Loop
Loop
End
Stopbutton:
Return