⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at89c2051prog.bas

📁 VB6, paralell port, I2C, parse intel HEX
💻 BAS
字号:
Attribute VB_Name = "AT89C2051"
Option Explicit

Public Const XTAL As Integer = &H1          '"P1.0"
Public Const RST As Integer = &H2           '"P1.1"
Public Const PROG As Integer = &H4          '"P1.2"
Public Const P33 As Integer = &H8           '"P1.3"
Public Const P34 As Integer = &H10          '"P1.4"
Public Const P35 As Integer = &H20          '"P1.5"
Public Const P37 As Integer = &H80          '"P1.7"
Public Const SWpower As Integer = &H40      '"P1.6"

Public Function SetPinPort0(ByVal spin As String) As Byte
'0/76543210
Select Case spin
    Case "P0.0"
        SetPinPort0 = &H1
    Case "P0.1"
        SetPinPort0 = &H2
    Case "P0.2"
        SetPinPort0 = &H4
    Case "P0.3"
        SetPinPort0 = &H8
    Case "P0.4"
        SetPinPort0 = &H10
    Case "P0.5"
        SetPinPort0 = &H20
    Case "P0.6"
        SetPinPort0 = &H40
    Case "P0.7"
        SetPinPort0 = &H80
End Select
End Function

Public Function SetPinPort1(ByVal spin As String) As Byte
'1/76543210
Select Case spin
    Case "P1.0"
        SetPinPort1 = &H1
    Case "P1.1"
        SetPinPort1 = &H2
    Case "P1.2"
        SetPinPort1 = &H4
    Case "P1.3"
        SetPinPort1 = &H8
    Case "P1.4"
        SetPinPort1 = &H10
    Case "P1.5"
        SetPinPort1 = &H20
    Case "P1.6"
        SetPinPort1 = &H40
    Case "P1.7"
        SetPinPort1 = &H80
End Select
End Function

' add code for setting RST to 5V or 12V
Public Sub SetRST5V()

End Sub

Public Sub SetRST12V()

End Sub

Public Sub InitDevice()
SetRST5V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 0
I2C_PCA9535.ChangeP1 P34, 0
I2C_PCA9535.ChangeP1 P35, 0
I2C_PCA9535.ChangeP1 P37, 0
I2C_PCA9535.WriteP1
End Sub

Public Sub ResetAddress()
'on rising edge of RST
End Sub

Public Sub IncrementAdress()
I2C_PCA9535.ChangeP1 XTAL, 1
I2C_PCA9535.WriteP1
I2C_PCA9535.ChangeP1 XTAL, 0
I2C_PCA9535.WriteP1
End Sub

Public Sub InitWriteCodeByte()
SetRST12V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 0
I2C_PCA9535.ChangeP1 P34, 1
I2C_PCA9535.ChangeP1 P35, 1
I2C_PCA9535.ChangeP1 P37, 1
I2C_PCA9535.WriteP1
End Sub

Public Sub WriteCodeByte(ByVal CodeData As Byte)
I2C_PCA9535.SetValP0 CodeData
I2C_PCA9535.WriteP0
I2C_PCA9535.ChangeP1 PROG, 0
I2C_PCA9535.WriteP1
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.WriteP1
End Sub

Public Function InitReadCodeByte() As Byte
SetRST5V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 0
I2C_PCA9535.ChangeP1 P34, 0
I2C_PCA9535.ChangeP1 P35, 1
I2C_PCA9535.ChangeP1 P37, 1
I2C_PCA9535.WriteP1
End Function

Public Function ReadCodeByte() As Byte
ReadCodeByte = I2C_PCA9535.ReadP0
End Function

Public Sub InitWriteLock1()
SetRST12V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 1
I2C_PCA9535.ChangeP1 P34, 1
I2C_PCA9535.ChangeP1 P35, 1
I2C_PCA9535.ChangeP1 P37, 1
I2C_PCA9535.WriteP1
End Sub

Public Sub WriteLock1()
I2C_PCA9535.ChangeP1 PROG, 0
I2C_PCA9535.WriteP1
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.WriteP1
End Sub

Public Sub InitWriteLock2()
SetRST12V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 1
I2C_PCA9535.ChangeP1 P34, 1
I2C_PCA9535.ChangeP1 P35, 0
I2C_PCA9535.ChangeP1 P37, 0
I2C_PCA9535.WriteP1
End Sub

Public Sub WriteLock2()
I2C_PCA9535.ChangeP1 PROG, 0
I2C_PCA9535.WriteP1
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.WriteP1
End Sub

Public Sub InitChipErase()
SetRST12V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 1
I2C_PCA9535.ChangeP1 P34, 0
I2C_PCA9535.ChangeP1 P35, 0
I2C_PCA9535.ChangeP1 P37, 0
I2C_PCA9535.WriteP1
End Sub

Public Sub ChipErase()
I2C_PCA9535.ChangeP1 PROG, 0
I2C_PCA9535.WriteP1
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.WriteP1
End Sub

Public Function InitReadSignatureByte() As Byte
SetRST5V
I2C_PCA9535.ChangeP1 PROG, 1
I2C_PCA9535.ChangeP1 P33, 0
I2C_PCA9535.ChangeP1 P34, 0
I2C_PCA9535.ChangeP1 P35, 0
I2C_PCA9535.ChangeP1 P37, 0
End Function

Public Function ReadSignatureByte() As Byte
ReadSignatureByte = ReadP0
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -