아두이노 > Single Chip AVR BASIC Computer V0.1

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 아두이노

아두이노 | Single Chip AVR BASIC Computer V0.1

페이지 정보

작성자 키트 작성일17-09-13 13:18 조회871회 댓글0건

본문

 

AVR BASIC Computer V0.1

A BASIC computer which generates composite video, reads PS/2 keyboard input and has an 8KB EEPROM IC for saving BASIC programs to.


DESCRIPTION
A computer which runs the TinyBASIC Plus (TBP for short) programming language on an ATmega 1284P 8-bit microcontroller. A composite screen (such as a TV) and a PS/2 keyboard are used to interact with the computer, allowing users to write BASIC programs without requiring a separate computer (such as a PC) for programming. 

The computer has the following specifications: 
- ATmega 1284P 8-bit microcontroller running at 16MHz 
- Over 7KB SRAM for writing TBP programs into 
- 8KB EEPROM for saving TBP programs to 
- Composite video output 
- PS/2 keyboard input 
- GPIO pins for connecting additional hardware and components 
- Input voltage range from 7V to 20V (using a 7805 regulator) 

Simply connect the computer to a power source (such as a PP3 battery), a PS/2 keyboard and a composite screen (such as a TV) to begin creating BASIC programs.
DETAILS

 

2059381417739784788.png

The above image shows the schematic for the computer, which was created in KiCAD. The circuit uses an ATmega 1284P microcontroller which was boot-loaded and programmed using the Arduino IDE. An 8KB SPI EEPROM IC (25LC640) is connected to the 1284P and used for storing BASIC programs as the 1284P only has 4KB internal EEPROM so an external EEPROM IC was used for larger program space. The 1284P is responsible for running the BASIC interpreter (TinyBASIC Plus), generating composite video (using the Arduino TVout library), reading PS/2 keyboard input (using the Arduino PS2uartKeyboard library) and talking to the EEPROM IC (using the Arduino SpiEEPROM library).. The circuit is powered via a 7805 voltage regulator allowing a range of voltage sources to be used to power the circuit (such as a 9V battery or 12V wall mounted transformer). A full list of components can be found under the 'Components' section of this page.

The computer is designed entirely using through-hole components making it easy to assemble at home. PCBs are available to purchase through eBay from me by clicking the 'Purchase PCBs' link on the left hand side of this page. Once a PCB has been purchased and the components gathered, the PCB simply needs to be assembled and then programmed. Programming involves using a USBasp programmer connected to the USBasp header on the PCB and following the programming instructions in the 'Build' section of this page (an Arduino can be used as the programmer for the circuit if required). The firmware (code), Arduino boot-loader and circuit diagram can be downloaded using the links on the left hand side of this page.

Some commands and BASIC program examples for the TinyBASIC Plus programming language can be found at the Github page for TinyBASIC Plus (https://github.com/BleuLlama/TinyBasicPlus). Below is a small list of some TinyBASIC Plus commands:

PRINT "hello world!" - Prints text within the " marksMEM - Displays SRAM and EEPROM memory usageNEW - Clear current loaded program from SRAMLIST - Display the current loaded programELOAD - Load program from EEPROMESAVE - Save program to EEPROMEFORMAT - Format EEPROMA simple example program (with following commands):10 print "hello world!"20 goto 10ESAVERUNNote, programs saved in EEPROM are automatically run upon boot. To stop any program running, press the ESC key.

 


QUANTITY COMPONENT NAME
1×ATmega 1284P + 40Pin 0.6" IC Socket8-Bit Microcontroller
1×25LC640 + 8Pin 0.3" IC SocketMemory ICs / EEPROMs
1×16MHz Crystal
2×22pF Ceramic Capacitor2.54mm Pin Spacing
1×4.7uF Electrolytic Capacitor2.54mm Pin Spacing
1×0.33uF Electrolytic Capacitor2.54mm Pin Spacing
1×0.1uF Electrolytic Capacitor2.54mm Pin Spacing
1×L7805Power Management ICs / Linear Voltage Regulators and LDOs
1×PTM Tactile Switch (PCB Mount) - OptionalReset Button
3×10k Ohm Resistor
1×1k Ohm Resistor
2×470 Ohm Resistor
1×3mm LEDPower LED
2×40Pin Male HeaderPins - to be cut down into smaller headers (PCB requires 46 pins)
1×RCA PCB Mount SocketVideo Output Socket
1×PS/2 Keyboard Socket (Mini Din 6)
1×2.1mm PCB Mount Barrel Jack
PROJECT LOGS

View project log

BUILD INSTRUCTIONS
  • 1

    The Firmware & Bootloader 

    Clicking on the "Firmware" link on the left-hand side of this page goes to a zip archive containing the firmware (code - an Arduino sketch) for the computer as well as the Arduino libraries required for the sketch. Once the zip archive has been downloaded, extract it and place the folders within the "Arduino Libraries" into the Arduino libraries directory as shown in the image below:

    3040341417743774562.png

  • 2

    Once the Arduino libraries have been placed in the correct directory, the Arduino sketch needs to be placed in the Arduino sketches directory as shown in the below image:

    7963491417744043192.png

  • 3

    After the firmware folder has been dealt with, the bootloader can be downloaded from the "ATmega 1284P Arduino Bootloader" link (which goes to a Github page; use the download as zip link on the right hand side of the Github page) and placed within the Arduino hardware directory as shown in the following image:

    7497501417744241410.png

See all instructions



https://hackaday.io/project/3537-avr-basic-computer-v01 

댓글 : 0

조회수 : 871

등록된 댓글이 없습니다.

게시물 검색

아두이노 목록

게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전