Hi,
hab ein kleines Problem und ich hoffe ihr könnt mir helfen. Ich habe vier Taster an einem Atmega32 an dem PortA von 0-3. Alle funktionieren bis auf taster zwei, der am Eingang A.1 sitzt. Verdrahtung ist ok. Vielleicht findet jemand einen Fehler in meinem Code.
Gruß
Jens
$regfile = "m32def.dat"
$crystal = 1000000
Config Portb = Output
Config Pina.0 = Input
Config Pina.1 = Input
Config Pina.2 = Input
Config Pina.3 = Input
Config Lcdbus = 4
Config Lcd = 16 * 2
Config 1wire = Portd.5
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Debounce = 100
Dim Ds1820 As Integer
Dim Halb As Byte
Cursor Off
Cls
Locate 1 , 1
Lcd "Temp:"
Do
Debounce Pina.0 , 0 , Schalter1 , Sub
Debounce Pina.1 , 0 , Schalter2 , Sub
Debounce Pina.2 , 0 , Schalter3 , Sub
Debounce Pina.3 , 0 , Schalter4 , Sub
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 300
1wreset
1wwrite &HCC
1wwrite &HBE
Ds1820 = 1wread(9)
1wreset
Halb = Ds1820 And 1
Locate 1 , 7
Shift Ds1820 , Right
If Ds1820 > 127 Then
Lcd "-"
Ds1820 = 256 - Ds1820
If Halb = 1 Then Ds1820 = Ds1820 - 1
Else
Lcd " "
End If
Lcd Ds1820 ; ".";
If Halb = 1 Then
Lcd "5"
Else
Lcd "0"
End If
Lcd "C "
Wait 1
Loop
Schalter1:
Toggle Porta.0
Locate 2 , 1
Lcd "Taster1"
Waitms 500
Return
Schalter2:
Toggle Porta.1
Locate 2 , 1
Lcd "Taster2"
Waitms 500
Return
Schalter3:
Toggle Porta.2
Locate 2 , 1
Lcd "Taster3"
Waitms 500
Return
Schalter4:
Toggle Porta.3
Locate 2 , 1
Lcd "Taster4"
Waitms 500
Return
End
hab ein kleines Problem und ich hoffe ihr könnt mir helfen. Ich habe vier Taster an einem Atmega32 an dem PortA von 0-3. Alle funktionieren bis auf taster zwei, der am Eingang A.1 sitzt. Verdrahtung ist ok. Vielleicht findet jemand einen Fehler in meinem Code.
Gruß
Jens
$regfile = "m32def.dat"
$crystal = 1000000
Config Portb = Output
Config Pina.0 = Input
Config Pina.1 = Input
Config Pina.2 = Input
Config Pina.3 = Input
Config Lcdbus = 4
Config Lcd = 16 * 2
Config 1wire = Portd.5
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Debounce = 100
Dim Ds1820 As Integer
Dim Halb As Byte
Cursor Off
Cls
Locate 1 , 1
Lcd "Temp:"
Do
Debounce Pina.0 , 0 , Schalter1 , Sub
Debounce Pina.1 , 0 , Schalter2 , Sub
Debounce Pina.2 , 0 , Schalter3 , Sub
Debounce Pina.3 , 0 , Schalter4 , Sub
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 300
1wreset
1wwrite &HCC
1wwrite &HBE
Ds1820 = 1wread(9)
1wreset
Halb = Ds1820 And 1
Locate 1 , 7
Shift Ds1820 , Right
If Ds1820 > 127 Then
Lcd "-"
Ds1820 = 256 - Ds1820
If Halb = 1 Then Ds1820 = Ds1820 - 1
Else
Lcd " "
End If
Lcd Ds1820 ; ".";
If Halb = 1 Then
Lcd "5"
Else
Lcd "0"
End If
Lcd "C "
Wait 1
Loop
Schalter1:
Toggle Porta.0
Locate 2 , 1
Lcd "Taster1"
Waitms 500
Return
Schalter2:
Toggle Porta.1
Locate 2 , 1
Lcd "Taster2"
Waitms 500
Return
Schalter3:
Toggle Porta.2
Locate 2 , 1
Lcd "Taster3"
Waitms 500
Return
Schalter4:
Toggle Porta.3
Locate 2 , 1
Lcd "Taster4"
Waitms 500
Return
End