Archive for September, 2011
12c711d15639cde95b9e1c3230528562-328
- hi.. plz send me the proteus urgently a..
- the circuit can not be view,please make ..
- Will you please send me the circuit of t..
- RA3 bit is used in code for condition ch..
- i need led moving massage display circui..
- please give me the code of this project ..
- I like this project. Can you put a clea..
- Sony Vaio Tap 20 Review
- Asus DirectCU II Top Reviews: GeForce GTX 680 vs Radeon HD 7970
- Designers Make City Noise Actually Sound Good
- All Of America’s Waterways On One Map [Infographic]
- The 6 Most Important Things We Learned From Edward Snowden’s Guardian Q&A
- AMD Lays Out Server Strategy and Processor Roadmap
- EVGA Announces Supernova 1300 G2 Power Supply with 10 Year Warranty
- Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628
- MikroC code for CALCULATOR WITH KEYPAD AND LCD
- LED moving message diaply using PIC16f628 CD4017 and 74LS595
- Digital UP and DOWN counter based on Microcontroller PIC16f877
- Heart beat monitor PIC16f84 Microcontroller display on LCD
- String Manipulation in MikroC
- RPM Meter Development Using PIC Microcontroller
- PIC18F452 based Calculator with Keypad and LCD
- moving message on LCD using PIC microcontroller 16f84
- Digital volt meter with LED 7segment display PIC16f877
Copyright ©
2013
Tecnobits -
All about Technology and IT .
VB6 Data logger example program RS232 serial communication
This is the second of data logger project using PIC18f452. In the previous post we have discussed the hardware of data acquisition system and now in this post we will learn how we can develop a simple data logger to log the process inputs using visual basic VB6.
Following components are used in this project:-
1. Text box
2. Command buttons
3. Com control for serial communication.
Steps to develop a simple program in VB6 for serial communication:-
1. Open a new project and using standard exe in vb6.
2. select text box and drag and drop it on form, re-size it and change with following properties of text box in properties section. (a) enable the multi-line , (b) in text property delete the text1.
3. drag and drop two commands button and change their caption in property section by “Connect” and “Disconnect”
4. Go toll bar, click on project, open component addition menu, find Ms-comm Control 6, and add this to left component section.
5. Drag and drop the MsComm on the form any where.
6. Copy and paste the following code in the code section of the project, compile and enjoy.
Photograph of the Data logger:-
Code (program) in VB6:-The VB6 code for the data logger is as under:-
Private Sub Command1_Click()
If (MSComm1.PortOpen = False) Then
MSComm1.PortOpen = True
End If
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
If (MSComm1.PortOpen = True) Then
MSComm1.PortOpen = False
End If
Command1.Enabled = True
Command2.Enabled = False
End Sub
Private Sub Form_Load()
With MSComm1
.CommPort = 5
.RThreshold = 1
.RTSEnable = True
.Settings = “9600,N,8,1″
.InputLen = 127
.SThreshold = 1
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
If (MSComm1.PortOpen = True) Then
MSComm1.PortOpen = False
End If
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As String
Select Case MSComm1.CommEvent
Case comEvReceive
‘Text1.Text = ” “
Buffer = MSComm1.Input
Text1.Text = Text1.Text & Buffer
End Select
End Sub
PIC18f452 serial Data acquisition for Temperature Monitoring
This is project is about the construction of simple data logger using PIC microcontroller PIC18f452 and Visual basic-6 VB6.
The project is consist of two posts:
1. In the first post, we will discuss the Hardware of Data acquisition Unit and the programming of PIC Microcontroller PIC18f452.
2. The second post will be about the development of PC side code, the Data logger is designed and developed using Visual basic VB6 programming language.
Hardware of Data acquisition Unit:-
This is a simple example project for the understanding of how data loggers and data acquisitions systems works. Students can design the project their won after reading the post.
Componenets List:-
The components used in this Project are as follows:-
1. The heart of the data acquisition (DAQ )is PIC18f452 microcontroller
2. Crystal used is 20MHz
3. Capacitors used are 20pF
4. Push buton for manual reset
5. Liquid crystal Display LCD 2 line 20 Characters
6. LM35 the analog temperature sensor
7. variable resistor 10K ohm to set the contrast of LCD
8. 10K ohm pull up resistor
9. 5V DC regulated power supply
Features of Data acquisition Unit:-
1. The PIC18f452 have 8 buitin analog to digital converters ADC of 10 bits resulations. So we have used only one builtin ADC to convert the analog signals of Temperature from LM35.
2. Only one analog Temperature sensor LM35 is used to sense the temperature.
3. The software is written to take the average of 10 consective readings of ADC for smooth monitoring of temperature.
4. The measured temperature is display on LCD.
5. the progress of sampling is also shown on LCD.
6. The average value of temperature is then transmitted to PC using serial communication through RS232 port at 9600 buad rate with setting 9600,N,8,1.
Circuit diagram of Data acquisition Unit:-
The program for PIC18f452 is written in proton basic language and listing is as under.
‘****************************************************************
‘* Name : Temperature_data_logger.BAS *
‘* Author : Dr.Rana *
‘* Date : 22/9/2011 *
‘* Version : 1.0 *
‘* Notes : This is simple program for PIC18f452 *
‘* : The LM25 sensor is connected to PIC452 *
‘* The temperature measured is transfered to PC via *
‘* serial port RS232 for temerature data logger *
‘****************************************************************
Device = 18F452
Xtal=20 ‘ The crystal frequency is 20MHZ
LCD_DTPin PORTD.4 ‘ LCD is conected to PIC18f452 using four bit mode
LCD_RSPin PORTD.3
LCD_ENPin PORTD.2
Adin_Res 10 ‘ Set the resolution to 10
Adin_Tad FRC ‘ Choose the RC osc for ADC samples
Adin_Stime 100 ‘ Allow 100us for charge time
ADCON1 = %10000010 ‘ Set PORTA analog and right justify result
Input PORTA.0
TXSTA.5=1 ‘ setting Transmit Enable Bit
RCSTA.7=1
RCSTA.4=1
Hserial_Baud 9600 ‘ Setting Baud rate
Dim raw_adc_conversion As Word
Dim temperature As Float
Dim x As Byte
Print Cls
Print At 1,1,”T.Logger”
Loop:
raw_adc_conversion=0
For x=0 To 9
raw_adc_conversion = raw_adc_conversion + ADIn 0
DelayMS 200
Print At 1,10,”Samp.”, Dec x
Next x
raw_adc_conversion = raw_adc_conversion/10
temperature = (5/1023) * raw_adc_conversion
temperature = temperature * 100
’1 degree centigrade for every 10mV
Print At 2,2,”Temp:”, Dec temperature ,”C”
HRSOut Dec temperature,13,10
DelayMS 1000
GoTo Loop
Proton Basic code example for PIC18f452 counter project
Introduction of counter Project:-
This is a simple microcontroller project build for a Up and Down Counter with Reset of counts facility.
In this project PIC18f452 is used for processing and this device is the heart of the project. A 2 line 20 character General purose LCD is used as basic display of the counter.
In this project three push button are used as inputs of counter, but any TTL signal provider ciruit cn be interfaced which uses IR,LDR,phototransistor or optocoupler as input. Because this counter can be used any where, to counts any object passing through a certain location. This counter project counts up to 1000000 counts.
Thus this counter project is suitable where we have to counts any large number of objects.
Parts of the Counter Project:-
This counter project is based on a very few components which are listed as follows:-
1. The heart of the counter project is PIC18f452 (1Nos)
2. Liquid Crystal Display LCD ( 2 line 20 Characters 1Nos)
3. crystal 4MHz (1Nos)
4. Capacitor 20pF (2Nos)
5. Push Buttons (4 Nos)
6. Resistors (10K ohm 4Nos)
7. variable resistor (10K ohm 1 Nos)
A regulated power supply of +5V DC is required to make this project operational.
Circuit Diagram of Counter Project:-
Below is the circuit diagram of counter using PIC18f452 PIC Microcontroller and LCD.
Main Features of Up and Down Counter:-
The object counter based on PIC Microcontroller have following three basic inputs.
Although in this project push button are being used as the input to counter, but this project accept any TTL input from any circuit which used IR,optocoupler,phototransistor,relays,LDR. Actually this counter is ready to use counting any object, the only thing it requires is TTL pulses for increment , decrement or reset the operation.
Code of counter:-
The code of this project is written in basic language and compiled using proton basic compiler from Crownhill. Proton IDE is a professional and powerful visual Integrated Development Environment (IDE) designed specifically for the Proton Plus compiler.
The code is written below which uses many built in functions and commands.’****************************************************************
‘* Name : LCD_pic18f452.BAS *
‘* Author : [Dr.Rana] *
‘* Notice : www.picinf.blogspot.com All Rights Reserved *
‘* Date : 9/18/2011 *
‘* Version : 1.0 *
‘* Notes : Students can use this program for learning *
‘* : *
‘****************************************************************
Device = 18F452
Xtal=4
All_Digital=true
Output PORTD
TRISB = %11100000 ‘ only last three pin are inputs
Declare LCD_Interface 4
Declare LCD_Lines 2
Declare LCD_DTPin PORTD.0 ‘ first four lines Used for 4-line interface.
Declare LCD_ENPin PORTD.4 ‘ Enable PIN of LCD
Declare LCD_RSPin PORTD.5 ‘ RS PIN of LCD
Symbol up_counter = PORTB.7
Symbol down_counter = PORTB.6
Symbol reset_counter = PORTB.5
Dim old_b1 As Bit
Dim old_b2 As Bit
Dim old_b3 As Bit
Dim my_counts As Dword
Dim old_counts As Dword
Print At 1 , 5 , “HELLO WORLD”
Print At 2 , 1 , “Counts = “
old_counts = 0
my_counts = 0
old_b1 = 1
old_b2 = 1
old_b3 = 1
PORTB = 255
loop:
If up_counter = 0 And old_b1 = 1 Then GoSub increment_counts
If down_counter = 0 And old_b2 = 1 Then GoSub decrement_counts
If reset_counter = 0 And old_b3 = 1 Then GoSub reset_counts
If old_counts < > my_counts Then GoSub print_counts
old_counts = my_counts
old_b1 = up_counter
old_b2 = down_counter
old_b3 = reset_counter
GoTo loop
End
increment_counts:
Inc my_counts
If my_counts > = 1000000 Then my_counts = 0
Return
decrement_counts:
If my_counts > 0 Then Dec my_counts
Return
reset_counts:
my_counts = 0
Return
print_counts:
Print At 2 , 10 , Dec my_counts
Return
proton basic example project pic18f452 up and down counter with lcd
PIC18f452 counter MIKROC UP and Down display on LCD
In this project we will learn how interface an LCD with microcontroller PIC18f452. This is a simple counter project. The project can be used to count any thing like person entering and exiting into a hall or vehicles in a parking.
The input to counter is any thing which can give logic zero when activated like button, infrared receiver, photodiode,LDR, etc.
In the case of button or any other input, the software is writen in such a way that it handles the debouncing effects and remove contineus input counting. Because it remmbers the previous state of the input and compare it each time then decide , the counter shouldbe incremented or decremented or reseted.
Components list:-
1. Microcontroller PIC18f452
2. LCD ( any general purpose 2 line 20 character LCD can be used.)
3. Crystal = 4MHz
4. capacitors (22 pf 2Nos)
5. Push buttons (4 Nos, one for master reset of microcontroller, one for up button, one for down button and one for reset counts)
6. PULLUP resistors (10k ohm 4Nos)
Circuit diagram:-
below is the circuit diagram for UP and Down counter with reset button.
main features of the counter:-
1. It can be used to counts any thing like person passing through a wake way, cars entering to car parking place,etc.
2. The project has three inputs named UP,DOWN,REST.
3. The program take care the debouncing and contineus input by comparing the current state with previous state of input each time then if these found different then counter is updated by increment of decrement or reset depending upon the input.
4. The major purpose of the project to become familar with the interfacing of LCD with PIC microcontroller PIC18f452.
5. Button interface with microcontroller and its programming.
Coding:-
The program is written in MikroC pro for PIC version 5.0.1, which can be downloaded from mikro.com.
The code listing are as under:-
// Lcd pinout settings
sbit LCD_RS at RD5_bit;
sbit LCD_EN at RD4_bit;
sbit LCD_D7 at RD3_bit;
sbit LCD_D6 at RD2_bit;
sbit LCD_D5 at RD1_bit;
sbit LCD_D4 at RD0_bit;
// Pin direction
sbit LCD_RS_Direction at TRISD5_bit;
sbit LCD_EN_Direction at TRISD4_bit;
sbit LCD_D7_Direction at TRISD3_bit;
sbit LCD_D6_Direction at TRISD2_bit;
sbit LCD_D5_Direction at TRISD1_bit;
sbit LCD_D4_Direction at TRISD0_bit;
// inputs from buttons
sbit up_counter at RB7_bit;
sbit down_counter at RB6_bit;
sbit reset_counter at RB5_bit;
// functions to perform different tasks
void increment_counts(void);
void decrement_counts(void);
void reset_counts(void);
void print_counts (void);
// Global varaibles
unsigned int my_counts;
unsigned int pre_counts;
bit old_b1;
bit old_b2;
bit old_b3;
char *text = “WELCOME”;
char *text1 = “counts = “;
void main() {
Lcd_Init(); // Initialize LCD connected to PORTD
TrisB = 0xE0; // last three PINS as input and other are output. 11100000
PortB = 0xE0;
up_counter = 1;
down_counter = 1;
reset_counter = 1;
my_counts = 0;
pre_counts = 0;
old_b1 = 1;
old_b2 = 1;
old_b3 = 1;
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Out(1, 6, text); // Print text to LCD, 2nd row, 1st column
Lcd_Out(2, 1, text1); // Print text to LCD, 2nd row, 1st column
while(1){
if( up_counter == 0 & & old_b1 == 1) increment_counts();
if( down_counter == 0 & & old_b2 == 1) decrement_counts();
if( reset_counter == 0 & & old_b3 == 1 ) reset_counts();
if(pre_counts != my_counts) print_counts ();
pre_counts = my_counts;
old_b1 = up_counter;
old_b2 = down_counter;
old_b3 = reset_counter;
}
}
void increment_counts(void)
{
my_counts++;
if(my_counts > = 10000) my_counts = 0;
}
void decrement_counts(void)
{
if(my_counts > = 0)my_counts–;
}
void reset_counts(void)
{
my_counts = 0;
}
void print_counts (void)
{
unsigned int temp;
unsigned char lcd_out_char;
lcd_out_char = (my_counts/1000)+48;
temp = my_counts % 1000;
Lcd_Chr(2, 11, lcd_out_char); //print on line 2 at char# 11 the 1000th digit
lcd_out_char = (temp/100)+48;
temp = temp % 100;
Lcd_Chr_Cp(lcd_out_char); //print the 100th digit
lcd_out_char = (temp/10)+48;
Lcd_Chr_Cp(lcd_out_char); //print the 10th digit
lcd_out_char = (temp % 10)+48;
Lcd_Chr_Cp(lcd_out_char); //print the unit digit
}Tags:-
18f452 icsp schema,18f4550 +usb+mikroc+deux interrupts,data logger mikrobasic 18f4550,fan timer circuit using a cd 4001 applications,hitech seven segment display d 0916,18f4550 pwm tuto,mikroc 12f675,mikroc 18f452,
18f4550 lcd example code in MIKROC ,18f452 LCD example circuit diagram,c program for lcd interface,c programming for controllers,lcd display programming by microc,bpm counter на lcd shematic,pic18f452 + c code
LED moving message diaply using PIC16f628 CD4017 and 74LS595
LED moving message diaply using PIC16f628 CD4017 and 74LS595
Introduction of MMD Project-2:-
The PIC microcontroller PIC16f628 is used the main processor in the MMD. The difference from the previous moving message diaply and this is method for scaning the rows. In previous MMD a decoder 74LS138 was used to scan the rows. But in this project, i have used CD4017 for row scanning instead of use of any decoder.
Components of the LED moving message display:-
LED matrix = 8×8 LED matrix 8 Nos,
MCU = PIC16f628
Shift registers = 74LS595 8Nos
crystal = 4MHz with 22 pF capacitors.
and other basic components like reset switches and regulated power suplly of 5V which have enough current baring for this project like 1Amp max.
The circuit diagram of the 8 x 8 x 8 LED matrix moving message display using PIC microcontroller is as under:-
Code of the Moving message diaply is written in proton basic compiler and is as under:-

Device=16F628A
XTAL=4
ALL_DIGITAL=true
Output PORTB
Symbol SER = PORTB.0 ‘ Serial data Pin
Symbol SRCLK = PORTB.1 ‘ Serial data Clock Pin
Symbol SRClr = PORTB.2 ‘ Serial data Clear
Symbol Latch = PORTB.3 ‘ Columns, Latch
Symbol RowClk = PORTB.4 ‘ Row clock, to select new row
Symbol Rowrst = PORTB.5 ‘ Row reset, selects row 0
High SRClr ‘ Turn off the serial register clear
Dim serial_buffer[128] As Byte
STR serial_buffer = “www.PICinf.blogspot.com” , 0
Dim i As Byte
Dim n As Byte
Dim b As Byte
Dim c As Byte
dim m as byte
dim l as byte
dim ch_index as byte
dim start_ch_idx as byte
dim end_ch_idx as byte
for b =0 to 128
if serial_buffer[b]>0 then serial_buffer[b] =serial_buffer[b]-32
next b
‘ setup for positive pulses:
lATCH = 0 : SRCLK = 0 : SER = 0
c = 0
start_ch_idx =0
end_ch_idx = 30
Loop:
PulsOut Rowrst,2 ‘ give a pulse on row reset pin, to select row 0
For i=0 To 6
ch_index = start_ch_idx
for n = 0 to 10
GoSub GetPatternAndOut
inc ch_index
if ch_index = end_ch_idx then ch_index =0
next n
PulsOut Latch,4
DelayUS 250
PulsOut RowClk,2
for n = 0 to 7
SHOut SER,SRCLK,lsbfirst,[0]
next n
PulsOut Latch,4
Next i
inc l
if l = 10 then
l = 0
Inc start_ch_idx
If start_ch_idx = end_ch_idx Then start_ch_idx = 0
endif
GoTo Loop
End
GetPatternAndOut:
m = LRead LABEL+((serial_buffer[ch_index]) * 8) +i
m = ~m
‘ out a clock pulse and restore data pin to 0
‘out the low 5 bits of pattern
SRCLK = 1 : SRCLK = 0: SER = 0
If m.4 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.3 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.2 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.1 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.0 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
Return
LABEL:
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ’Space
LDATA $FB,$FB,$FB,$FB,$FB,$FF,$FB,$FF ’!
LDATA $F5,$F5,$F5,$FF,$FF,$FF,$FF,$FF ’”
LDATA $F5,$F5,$E0,$F5,$E0,$F5,$F5,$FF ’#
LDATA $FB,$F0,$EB,$F1,$FA,$E1,$FB,$FF ’$
LDATA $E3,$EA,$E5,$FB,$F4,$EA,$F8,$FF ’%
LDATA $F7,$EB,$EB,$F7,$EA,$ED,$F2,$FF ’&
LDATA $F9,$F9,$FD,$FB,$FF,$FF,$FF,$FF ”
LDATA $FD,$FB,$F7,$F7,$F7,$FB,$FD,$FF ’(
LDATA $F7,$FB,$FD,$FD,$FD,$FB,$F7,$FF ’)
LDATA $FB,$EA,$F1,$FB,$F1,$EA,$FB,$FF ’*
LDATA $FF,$FB,$FB,$E0,$FB,$FB,$FF,$FF ’+
LDATA $FF,$FF,$FF,$F3,$F3,$FB,$F7,$FF ’,
LDATA $FF,$FF,$FF,$F1,$FF,$FF,$FF,$FF ’-
LDATA $FF,$FF,$FF,$FF,$FF,$F3,$F3,$FF ’.
LDATA $FF,$FE,$FD,$FB,$F7,$EF,$FF,$FF ’/
LDATA $F1,$EE,$EC,$EA,$E6,$EE,$F1,$FF ’0
LDATA $FB,$F3,$FB,$FB,$FB,$FB,$F1,$FF ’1
LDATA $F1,$EE,$FE,$F1,$EF,$EF,$E0,$FF ’2
LDATA $F1,$EE,$FE,$F9,$FE,$EE,$F1,$FF ’3
LDATA $FD,$F9,$F5,$ED,$E0,$FD,$FD,$FF ’4
LDATA $E0,$EF,$E1,$FE,$FE,$FE,$E1,$FF ’5
LDATA $F9,$F7,$EF,$E1,$EE,$EE,$F1,$FF ’6
LDATA $E0,$FE,$FD,$FB,$F7,$F7,$F7,$FF ’7
LDATA $F1,$EE,$EE,$F1,$EE,$EE,$F1,$FF ’8
LDATA $F1,$EE,$EE,$F0,$FE,$FD,$F3,$FF ’9
LDATA $FF,$F3,$F3,$FF,$F3,$F3,$FF,$FF ’:
LDATA $F3,$FB,$F3,$F3,$FF,$F3,$F3,$FF ’;
LDATA $FD,$FB,$F7,$EF,$F7,$FB,$FD,$FF ’ < ”
LDATA $FF,$FF,$F1,$FF,$F1,$FF,$FF,$FF ’ = ”’
LDATA $F7,$FB,$FD,$FE,$FD,$FB,$F7,$FF ’ > ”’
LDATA $F1,$EE,$FE,$FD,$FB,$FF,$FB,$FF ’?
LDATA $F1,$EE,$FE,$F2,$EA,$EA,$F1,$FF ’@
LDATA $FB,$F5,$EE,$EE,$E0,$EE,$EE,$FF ’A
LDATA $E1,$F6,$F6,$F1,$F6,$F6,$E1,$FF ’B
LDATA $F1,$EE,$EF,$EF,$EF,$EE,$F1,$FF ’C
LDATA $E1,$F6,$F6,$F6,$F6,$F6,$E1,$FF ’D
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$E0,$FF ’E
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$EF,$FF ’F
LDATA $F1,$EE,$EF,$E8,$EE,$EE,$F1,$FF ’G
LDATA $EE,$EE,$EE,$E0,$EE,$EE,$EE,$FF ’H
LDATA $F1,$FB,$FB,$FB,$FB,$FB,$F1,$FF ’I
LDATA $F8,$FD,$FD,$FD,$FD,$FD,$F3,$FF ’J
LDATA $EE,$ED,$EB,$E7,$EB,$ED,$EE,$FF ’K
LDATA $EF,$EF,$EF,$EF,$EF,$EF,$E0,$FF ’L
LDATA $EE,$E4,$EA,$EA,$EE,$EE,$EE,$FF ’M
LDATA $EE,$E6,$EA,$EC,$EE,$EE,$EE,$FF ’N
LDATA $F1,$EE,$EE,$EE,$EE,$EE,$F1,$FF ’O
LDATA $E1,$EE,$EE,$E1,$EF,$EF,$EF,$FF ’P
LDATA $F1,$EE,$EE,$EE,$EA,$ED,$F2,$FF ’Q
LDATA $E1,$EE,$EE,$E1,$EB,$ED,$EE,$FF ’R
LDATA $F1,$EE,$EF,$F1,$FE,$EE,$F1,$FF ’S
LDATA $E0,$FB,$FB,$FB,$FB,$FB,$FB,$FF ’T
LDATA $EE,$EE,$EE,$EE,$EE,$EE,$F1,$FF ’U
LDATA $EE,$EE,$EE,$F5,$F5,$FB,$FB,$FF ’V
LDATA $EE,$EE,$EE,$EA,$EA,$E4,$EE,$FF ’W
LDATA $EE,$EE,$F5,$FB,$F5,$EE,$EE,$FF ’X
LDATA $EE,$EE,$F5,$FB,$FB,$FB,$FB,$FF ’Y
LDATA $E0,$FE,$FD,$FB,$F7,$EF,$E0,$FF ’Z
LDATA $F1,$F7,$F7,$F7,$F7,$F7,$F1,$FF ’[
LDATA $FF,$EF,$F7,$FB,$FD,$FE,$FF,$FF ’backslash
LDATA $F1,$FD,$FD,$FD,$FD,$FD,$F1,$FF ’[
LDATA $FB,$F5,$EE,$FF,$FF,$FF,$FF,$FF ’^
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$E0,$FF ’underline
LDATA $F3,$F3,$F7,$FB,$FF,$FF,$FF,$FF ”
LDATA $FF,$FF,$F1,$FE,$F0,$EE,$F1,$FF ’a
LDATA $EF,$EF,$E9,$E6,$EE,$E6,$E9,$FF ’b
LDATA $FF,$FF,$F8,$F7,$F7,$F7,$F8,$FF ’c
LDATA $FE,$FE,$F2,$EC,$EE,$EC,$F2,$FF ’d
LDATA $FF,$FF,$F1,$EE,$E0,$EF,$F1,$FF ’e
LDATA $F9,$F6,$F7,$E1,$F7,$F7,$F7,$FF ’f
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$F1,$FF ’g
LDATA $EF,$EF,$E9,$E6,$EE,$EE,$EE,$FF ’h
LDATA $FB,$FF,$F3,$FB,$FB,$FB,$F1,$FF ’i
LDATA $FD,$FF,$F9,$FD,$FD,$FD,$F3,$FF ’j
LDATA $F7,$F7,$F6,$F5,$F3,$F5,$F6,$FF ’k
LDATA $F3,$FB,$FB,$FB,$FB,$FB,$F1,$FF ’l
LDATA $FF,$FF,$E5,$EA,$EA,$EA,$EA,$FF ’m
LDATA $FF,$FF,$E9,$E6,$EE,$EE,$EE,$FF ’n
LDATA $FF,$FF,$F1,$EE,$EE,$EE,$F1,$FF ’o
LDATA $FF,$FF,$E1,$EE,$E1,$EF,$EF,$FF ’p
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$FE,$FF ’q
LDATA $FF,$FF,$E9,$E6,$EF,$EF,$EF,$FF ’r
LDATA $FF,$FF,$F0,$EF,$F1,$FE,$E1,$FF ’s
LDATA $FB,$FB,$F0,$FB,$FB,$FB,$FC,$FF ’t
LDATA $FF,$FF,$EE,$EE,$EE,$EC,$F2,$FF ’u
LDATA $FF,$FF,$EE,$EE,$EE,$F5,$FB,$FF ’v
LDATA $FF,$FF,$EE,$EE,$EA,$EA,$F4,$FF ’w
LDATA $FF,$FF,$EE,$F5,$FB,$F5,$EE,$FF ’x
LDATA $FF,$FF,$EE,$F5,$FB,$FB,$F3,$FF ’y
LDATA $FF,$FF,$E0,$FD,$FB,$F7,$E0,$FF ’z
LDATA $F9,$F7,$F7,$E7,$F7,$F7,$F9,$FF ’{
LDATA $FB,$FB,$FB,$FF,$FB,$FB,$FB,$FF ’|
LDATA $F3,$FD,$FD,$FC,$FD,$FD,$F3,$FF ’}
LDATA $F5,$EA,$FF,$FF,$FF,$FF,$FF,$FF ’~
LDATA $F5,$EA,$F5,$EA,$F5,$EA,$F5H ’DEL