The MiniPin development board is a universal development board for microcontrollers. The MiniPin has retained most features of the Bascom test PCB. All extension boards that you may have bought for Bascom test board (LCD board, 3x4 matrix keyboard, Mega128 adapter etcc.) may be used with MiniPin development board.
The board can be used with 8051 and AVR microprocessors. It supports the 89S52 for the 8051 and for the AVR the ATMEGA8515. Supported chips : AT89S52, AT89S8252, AT89S8253, AT89S2051, AT90S4051 AVR : ATTINY2313,AT90S8515, ATMEGA8515,ATMEGA161,ATMEGA162 Have a look at the PDF to learn about all features of the board. The board is shipped without UART chip, serial cable and 7-segment displays. As an option you can get these additional items. The chip has a serial bootloader so you do not need a programmer.
The PCB is shipped with a CD-ROM that contains lots of BASCOM samples.
Here is an example program for BASCOM-AVR which can be used with the MiniPin board.
Example program 7SEGM_3.bas
Dim Stevil(5) As Byte , Ii As Byte , Pom As Byte
Config Timer0 = Timer , Gate = Internal , Mode = 1
On Timer0 Prikaz
Enable Interrupts
Enable Timer0
Counter0 = 60536
Start Timer0
Ii = 0
Stevil(1) = &B11111110
Stevil(2) = &B11101111
Stevil(3) = &B11111110
Stevil(4) = &B01111111
Do
Stevil(5) = Stevil(1)
Stevil(1) = Stevil(2)
Stevil(2) = Stevil(3)
Stevil(3) = Stevil(4)
Stevil(4) = Stevil(5)
Waitms 100
Loop
Prikaz:
Incr Ii 'pomik na naslednjo �tevilko
If Ii > 4 Then 'če je > 4,
Ii = 1 'se vrni na prvo
End If
P3 = P3 Or &B10111000 'ugasni vse �tevilke
P1 = Stevil(ii) 'pripravi naslednjo �tevilko
Pom = Lookup(ii , Stevilke)
P3 = P3 And Pom 'pri�gi naslednjo �tevilko
Counter0 = 60536 'pripravi ponovno izvajanje
Start Timer0 'čez 5 ms
Return
Stevilke:
Data &B11111111 , &B11011111 , &B11101111 , &B11110111 , &B01111111
Example program LCD_P3.bas
Dim Luc As Byte , Luc_0 As Byte , Luc_1 As Byte
$crystal = 12000000
Config Timer0 = Timer , Gate = Internal , Mode = 1
On Timer0 Tim0_sub
Enable Interrupts
Enable Timer0
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db7 = P3.7 , Db6 = P3.6 , Db5 = P3.5 , Db4 = P3.4 , E = P3.2 , Rs = P3.1
Cls
Cursor Off
Luc = 32
Gosub Nastavi_luc
Do
Home U
Lcd "Osvetlitev = " ; Luc ; " "
Debounce P3.0 , 0 , Svetleje , Sub
Debounce P3.3 , 0 , Temneje , Sub
Loop
Svetleje:
Stop Timer0
If Luc < 64 Then Incr Luc
Gosub Nastavi_luc
Return
Temneje:
Stop Timer0
If Luc > 0 Then Decr Luc
Gosub Nastavi_luc
Return
Nastavi_luc:
If Luc = 0 Then
Reset P3.3
Elseif Luc > 63 Then
Set P3.3
Else
Luc_0 = Luc + 192
Luc_1 = 256 - Luc
Set P3.3
Th0 = Luc_1
Tl0 = 0
Start Timer0
End If
Return
Tim0_sub:
Stop Timer0
Th0 = Luc_0
Luc_0 = Luc_1
Luc_1 = Th0
Tl0 = 0
P3.3 = Not P3.3
Start Timer0
Return
End
Example program I2C_2.bas
Dim Ee_adr As Byte , Ee_byte As Byte , Pom As Byte
Config Sda = P1.6 'konfiguriraj SDA/SCL
Config Scl = P1.2
P3 = P3 Or &B00111001 'ugasni vse �tevilke
Ee_adr = 0 'nastavi začetni naslov
Gosub Beri_ee 'preberi iz EEPROM-a
Do
P1 = 255
Debounce P3.3 , 0 , Decr_adr , Sub
Debounce P3.2 , 0 , Incr_adr , Sub
Pom = Ee_adr And &B11110000
Rotate Pom , Right , 4 'izloči 1. �tevilko naslova
Pom = Lookup(pom , Stevilke)
P1 = Pom
P3.4 = 0
Waitms 1 'prika�i 1. �tevilko naslova
P3.4 = 1
Pom = Ee_adr And &B00001111 'izloči 2. �tevilko naslova
Pom = Lookup(pom , Stevilke)
P1 = Pom And &B10111111
P3.5 = 0
Waitms 1 'prika�i 2. �tevilko naslova
P3.5 = 1
Pom = Ee_byte And &B11110000
Rotate Pom , Right , 4 'izloči 1. �tevilko podatka
Pom = Lookup(pom , Stevilke)
P1 = Pom
P3.3 = 0
Waitms 1 'prika�i 1. �tevilko podatka
P3.3 = 1
Pom = Ee_byte And &B00001111 'izloči 2. �tevilko podatka
Pom = Lookup(pom , Stevilke)
P1 = Pom
P3.7 = 0
Waitms 1 'prika�i 2. �tevilko podatka
P3.7 = 1
Loop
End
'Vpis podatka Ee_byte na naslov Ee_adr
Vpisi_ee:
I2cstart 'start
I2cwbyte &B10101110 'naslovi EEPROM, vpis
I2cwbyte Ee_adr 'naslov
I2cwbyte Ee_byte 'podatek
I2cstop 'stop
Waitms 10 'EEPROM potrebuje čas
Return 'za vpis
'Branje podatka z naslova Ee_adr v spremenljivko Ee_byte
Beri_ee:
I2cstart 'start
I2cwbyte &B10101110 'naslovi EEPROM, vpis
I2cwbyte Ee_adr 'naslov
I2cstart 'start
I2cwbyte &B10101111 'naslovi EEPROM, branje
I2crbyte Ee_byte , 9 'preberi podatek v Aa
I2cstop 'stop
Return
Decr_adr:
Decr Ee_adr
Gosub Beri_ee
While P3.3 = 0
Wend
Return
Incr_adr:
Incr Ee_adr
Gosub Beri_ee
While P3.2 = 0
Wend
Return
'Tabela s �tevilkami 0-F, nova testna plo�ča
Stevilke:
Data &B01000001 , &B11011101 , &B01100100 , &B01001100
Data &B11011000 , &B01001010 , &B01000010 , &B01011101
Data &B01000000 , &B01001000 , &B01010000 , &B11000010
Data &B01100011 , &B11000100 , &B01100010 , &B01110010
More examples can be found in ZIP archive below.
MiniPin Datasheet & Examples
|