Turbo51
i8232.Inc
Включаемые файлы
i8232.Inc
{$IDATA }
Var
T2CON: Byte absolute $C8;
T2MOD: Byte absolute $C9;
RCAP2L: Byte absolute $CA;
RCAP2H: Byte absolute $CB;
TL2: Byte absolute $CC;
TH2: Byte absolute $CD;
AUXR: Byte absolute $8E;
CHPCON: byte absolute $BF;
CHPENR: byte absolute $F6;
WDTRST: byte absolute $A6;
AUXR1: byte absolute $A2;
DP1L: byte absolute $84;
DP1H: byte absolute $85;
XICON: byte absolute $C0;
sfral: byte absolute $C4;
sfrah: byte absolute $C5;
sfrfd: byte absolute $C6;
sfrcn: byte absolute $C7;
//For AT89LP828
P4: byte absolute $C0;
RL0: byte absolute $92; //Timer 0 reload low-byte
RL1: byte absolute $93; //Timer 1 reload low-byte
RH0: byte absolute $94; //Timer 0 reload high-byte
RH1: byte absolute $95; //Timer 1 reload high-byte
TCONB: byte absolute $91; //Timer/counter control register B
MEMCON: byte absolute $96;
//PWM1EN PWM0EN PSC12 PSC11 PSC10 PSC02 PSC01 PSC00
// 7 6 5 4 3 2 1 0
//RESET: 00100100B
//PWM1EN Configures Timer 1 for Pulse Width Modulator output on T1 (P3.5)
//PWM0EN Configures Timer 0 for Pulse Width Modulator output on T0 (P3.4)
//PSC1(2-0) Prescaler for Timer 1 Mode 0. The number of active bits in TL1
// equals PSC1 + 1. After reset PSC1=100B witch enables 5 bits
// of TL1 for compabiliti with the 13-bit Mode 0 in old contollers.
//PSC0(2-0) Prescaler for Timer 0 Mode 0. The number of active bits in TL1
// equals PSC0 + 1. After reset PSC0=100B witch enables 5 bits
// of TL0 for compabiliti with the 13-bit Mode 0 in old contollers.
EC: boolean absolute IE.6; //comparator interrupt enable
SPDR_828: byte absolute $EA; //регистр данных spi AT89LP828
SPCR_828: byte absolute $E9; //контрольный регистр spi AT89LP828
SPSR_828: byte absolute $E8; //регистр статуса spi AT89LP828
const
Serial_Peripheral=$4B;
var
//
{ T2CON }
TF2: Boolean absolute T2CON.7;
EXF2: Boolean absolute T2CON.6;
RCLK: Boolean absolute T2CON.5;
TCLK: Boolean absolute T2CON.4;
EXEN2: Boolean absolute T2CON.3;
TR2: Boolean absolute T2CON.2;
C_T2: Boolean absolute T2CON.1;
CP_RL2: Boolean absolute T2CON.0;
{ IE}
ET2: Boolean absolute IE.5;
{ IP }
PT2: Boolean absolute IP.5;
{ P1 }
T2EX: Boolean absolute P1.1;
T2: Boolean absolute P1.0;
Ports.Inc
Var
p0_0:boolean absolute $80;
p0_1:boolean absolute $81;
p0_2:boolean absolute $82;
p0_3:boolean absolute $83;
p0_4:boolean absolute $84;
p0_5:boolean absolute $85;
p0_6:boolean absolute $86;
p0_7:boolean absolute $87;
p1_0:boolean absolute $90;
p1_1:boolean absolute $91;
p1_2:boolean absolute $92;
p1_3:boolean absolute $93;
p1_4:boolean absolute $94;
p1_5:boolean absolute $95;
p1_6:boolean absolute $96;
p1_7:boolean absolute $97;
p2_0:boolean absolute $A0;
p2_1:boolean absolute $A1;
p2_2:boolean absolute $A2;
p2_3:boolean absolute $A3;
p2_4:boolean absolute $A4;
p2_5:boolean absolute $A5;
p2_6:boolean absolute $A6;
p2_7:boolean absolute $A7;
p3_0:boolean absolute $B0;
p3_1:boolean absolute $B1;
p3_2:boolean absolute $B2;
p3_3:boolean absolute $B3;
p3_4:boolean absolute $B4;
p3_5:boolean absolute $B5;
p3_6:boolean absolute $B6;
p3_7:boolean absolute $B7;
p4_0:boolean absolute $c0;
p4_1:boolean absolute $c1;
p4_2:boolean absolute $c2;
p4_3:boolean absolute $c3;
port_0:byte absolute $80;
port_1:byte absolute $90;
port_2:byte absolute $a0;
port_3:byte absolute $b0;
port_4:byte absolute $c0;
Declare.Inc
var
ar00 :byte absolute 0;
ar01 :byte absolute 1;
ar02 :byte absolute 2;
ar03 :byte absolute 3;
ar04 :byte absolute 4;
ar05 :byte absolute 5;
ar06 :byte absolute 6;
ar07 :byte absolute 7;
ar10 :byte absolute 8;
ar11 :byte absolute 9;
ar12 :byte absolute 10;
ar13 :byte absolute 11;
ar14 :byte absolute 12;
ar15 :byte absolute 13;
ar16 :byte absolute 14;
ar17 :byte absolute 15;
ar20 :byte absolute 16;
ar21 :byte absolute 17;
ar22 :byte absolute 18;
ar23 :byte absolute 19;
ar24 :byte absolute 20;
ar25 :byte absolute 21;
ar26 :byte absolute 22;
ar27 :byte absolute 23;
ar30 :byte absolute 24;
ar31 :byte absolute 25;
ar32 :byte absolute 26;
ar33 :byte absolute 27;
ar34 :byte absolute 28;
ar35 :byte absolute 29;
ar36 :byte absolute 30;
ar37 :byte absolute 31;
CharGen.Inc
Знакогенератор для графических LCD и OLED
const
tabsetbit : array[0..7] of byte=(
%00000001,
%00000010,
%00000100,
%00001000,
%00010000,
%00100000,
%01000000,
%10000000);
tabclrbit : array[0..7] of byte=(
%11111110,
%11111101,
%11111011,
%11110111,
%11101111,
%11011111,
%10111111,
%01111111);
chargen : array[0..1279] of byte=(
$00,$00,$00,$00,$00 , //0
$00,$00,$00,$00,$00 , //1
$00,$00,$00,$00,$00 , //2
$00,$00,$00,$00,$00 , //3
$00,$00,$00,$00,$00 , //4
$00,$00,$00,$00,$00 , //5
$00,$00,$00,$00,$00 , //6
$00,$00,$00,$00,$00 , //7
$00,$00,$00,$00,$00 , //8
$00,$00,$00,$00,$00 , //9
$00,$00,$00,$00,$00 , //10
$00,$00,$00,$00,$00 , //11
$00,$00,$00,$00,$00 , //12
$00,$00,$00,$00,$00 , //13
$00,$00,$00,$00,$00 , //14
$00,$00,$00,$00,$00 , //0F 15
$00,$00,$00,$00,$00 , //16
$00,$00,$00,$00,$00 , //17
$00,$00,$00,$00,$00 , //18
$00,$00,$00,$00,$00 , //19
$00,$00,$00,$00,$00 , //20
$00,$00,$00,$00,$00 , //21
$00,$00,$00,$00,$00 , //22
$00,$00,$00,$00,$00 , //23
$00,$00,$00,$00,$00 , //24
$00,$00,$00,$00,$00 , //25
$00,$00,$00,$00,$00 , //26
$00,$00,$00,$00,$00 , //27
$00,$00,$00,$00,$00 , //28
$00,$00,$00,$00,$00 , //29
$00,$00,$00,$00,$00 , //30
$00,$00,$00,$00,$00 , //1F 31
$00,$00,$00,$00,$00 , //пробел 32
$00,$00,$4f,$00,$00 , //! 33
$00,$07,$00,$07,$00 , //" 34
$14,$7f,$14,$7f,$14 , //# 35
$24,$2a,$7f,$2a,$12 , //$ 36
$23,$13,$08,$64,$62 , //% 37
$36,$49,$55,$22,$40 , //& 38
$00,$05,$03,$00,$00 , //, 39
$00,$1c,$22,$41,$00 , //( 40
$00,$41,$22,$1c,$00 , //) 41
$14,$08,$3E,$08,$14 , //* 42
$08,$08,$3E,$08,$08 , //+ 43
$00,$50,$30,$00,$00 , //, 44
$08,$08,$08,$08,$08 , //- 45
$00,$60,$60,$00,$00 , //. 46
$20,$10,$08,$04,$02 , /// 2F 47
$3e,$51,$49,$45,$3e , //0 48
$00,$42,$7f,$40,$00 , //1 49
$42,$61,$51,$49,$46 , //2 50
$21,$41,$45,$4b,$31 , //3 51
$18,$14,$12,$7f,$10 , //4 52
$27,$45,$45,$45,$39 , //5 53
$3c,$4a,$49,$49,$30 , //6 54
$01,$71,$09,$05,$03 , //7 55
$36,$49,$49,$49,$36 , //8 56
$06,$49,$49,$29,$1e , //9 57
//$00,$36,$36,$00,$00 , //: 58
$00,$6c,$6c,$00,$00 , //: 58
$00,$56,$36,$00,$00 , //; 59
$08,$14,$22,$41,$00 , //< 60
$14,$14,$14,$14,$14 , //= 61
$00,$41,$22,$14,$08 , //> 62
$02,$01,$51,$09,$06 , //? 3F 63
$32,$49,$71,$41,$3e , //@ 64
$7e,$11,$11,$11,$7e , //A 65
$7f,$49,$49,$49,$36 , //B 66
$3e,$41,$41,$41,$22 , //C 67
$7f,$41,$41,$22,$1c , //D 68
$7f,$49,$49,$49,$41 , //E 69
$7f,$09,$09,$09,$01 , //F 70
$3e,$41,$49,$49,$3a , //G 71
$7f,$08,$08,$08,$7f , //H 72
$00,$41,$7f,$41,$00 , //I 73
$20,$40,$41,$3f,$01 , //J 74
$7f,$08,$14,$22,$41 , //K 75
$7f,$40,$40,$40,$40 , //L 76
$7f,$02,$0c,$02,$7f , //M 77
$7f,$04,$08,$10,$7f , //N 78
$3e,$41,$41,$41,$3e , //O 4F 79
$7f,$09,$09,$09,$06 , //P 80
$3e,$41,$51,$21,$5e , //Q 81
$7f,$09,$19,$29,$46 , //R 82
$46,$49,$49,$49,$31 , //S 83
$01,$01,$7f,$01,$01 , //T 84
$3f,$40,$40,$40,$3f , //U 85
$1f,$20,$40,$20,$1f , //V 86
$3f,$40,$70,$40,$3f , //W 87
$63,$14,$08,$14,$63 , //X 88
$07,$08,$70,$08,$07 , //Y 89
$61,$51,$49,$45,$43 , //Z 90
$00,$7F,$41,$41,$00 , //[ 91
$02,$04,$08,$10,$20 , //\ 92
$00,$41,$41,$7F,$00 , //] 93
$04,$02,$01,$02,$04 , //^ 94
$40,$40,$40,$40,$40 , //_ 5F 95
$00,$01,$02,$04,$00 , //' 96
$20,$54,$54,$54,$78 , //a 97
$7F,$48,$44,$44,$38 , //b 98
$38,$44,$44,$44,$20 , //c 99
$38,$44,$44,$48,$7F , //d 100
$38,$54,$54,$54,$18 , //e 101
$08,$7E,$09,$01,$02 , //f 102
$18,$a4,$a4,$a4,$7c , //g 103
//$0C,$52,$52,$52,$3E , //g 103
$7F,$08,$04,$04,$78 , //h 104
$00,$44,$7D,$40,$00 , //i 105
$20,$40,$44,$3D,$00 , //j 106
$7F,$10,$28,$44,$00 , //k 107
$00,$41,$7F,$40,$00 , //l 108
$7C,$04,$18,$04,$78 , //m 109
$7C,$08,$04,$04,$78 , //n 110
$38,$44,$44,$44,$38 , //o 6F 111
$7C,$14,$14,$14,$08 , //p 112
$08,$14,$14,$18,$7C , //q 113
$7C,$08,$04,$04,$08 , //r 114
$48,$54,$54,$54,$20 , //s 115
$04,$3F,$44,$40,$20 , //t 116
$3C,$40,$40,$20,$7C , //u 117
$1C,$20,$40,$20,$1C , //v 118
$3C,$40,$30,$40,$3C , //w 119
$44,$28,$10,$28,$44 , //x 120
$0C,$50,$50,$50,$3C , //y 121
$44,$64,$54,$4C,$44 , //z 122
$00,$08,$36,$41,$00 , //{ 123
$00,$00,$7f,$00,$00 , //\ 124
$00,$41,$36,$08,$00 , //} 125
$02,$01,$02,$02,$01 , //~ 126
$FF,$FF,$FF,$FF,$FF , //чернение 127
// $7f
//$c0 и далее русские ($60-$a0)
//$00,$00,$00,$00,$00 , //128
//$00,$00,$00,$00,$00 , //129
//$00,$00,$00,$00,$00 , //130
//$00,$00,$00,$00,$00 , //131
//$00,$00,$00,$00,$00 , //132
//$00,$00,$00,$00,$00 , //133
//$00,$00,$00,$00,$00 , //134
//$00,$00,$00,$00,$00 , //135
//$00,$00,$00,$00,$00 , //136
//$00,$00,$00,$00,$00 , //137
//$00,$00,$00,$00,$00 , //138
//$00,$00,$00,$00,$00 , //139
//$00,$00,$00,$00,$00 , //140
//$00,$00,$00,$00,$00 , //141
//$00,$00,$00,$00,$00 , //142
//$00,$00,$00,$00,$00 , //8F 143
$04,$02,$7f,$02,$04 , //128 - arrow up
$10,$20,$7f,$20,$10 , //129 - arrow down
$08,$08,$2a,$1c,$08 , //130 - arrow left
$08,$1c,$2a,$08,$08 , //131 - arrow right
$08,$14,$08,$14,$08 , //132 - eternity
$08,$14,$22,$14,$08 , //133 - romb
$7f,$41,$41,$41,$7f , //134 - rectangle
$40,$00,$40,$00,$40 , //135 - 3 points
$00,$40,$00,$40,$00 , //136 - 2 points
$00,$06,$09,$06,$00 , //137 - gradus
$10,$20,$7f,$01,$01 , //138 - koren
$00,$00,$7f,$00,$00 , //139 - vertical line
$00,$10,$08,$10,$08 , //140 - переменный
$00,$00,$00,$00,$00 , //141
$00,$00,$00,$00,$00 , //142
$00,$00,$00,$00,$00 , //8F 143
$7f,$41,$41,$41,$7f , //144 bat 0
$7f,$61,$61,$61,$7f , //145 bat 20
$7f,$71,$71,$71,$7f , //146 bat 40
$7f,$79,$79,$79,$7f , //147 bat 60
$7f,$7d,$7d,$7d,$7f , //148 bat 80
$7f,$7f,$7f,$7f,$7f , //149 bat 100
$00,$00,$00,$00,$00 , //150
$00,$00,$00,$00,$00 , //151
$00,$00,$00,$00,$00 , //152
$00,$00,$00,$00,$00 , //153
$00,$00,$00,$00,$00 , //154
$00,$00,$00,$00,$00 , //155
$00,$00,$00,$00,$00 , //156
$00,$00,$00,$00,$00 , //157
$00,$00,$00,$00,$00 , //158
$00,$00,$00,$00,$00 , //9F 159
$00,$00,$00,$00,$00 , //160
$00,$00,$00,$00,$00 , //161
$00,$00,$00,$00,$00 , //162
$00,$00,$00,$00,$00 , //163
$00,$00,$00,$00,$00 , //164
$00,$00,$00,$00,$00 , //165
$00,$00,$00,$00,$00 , //166
$00,$00,$00,$00,$00 , //167
$00,$00,$00,$00,$00 , //168
$00,$00,$00,$00,$00 , //169
$00,$00,$00,$00,$00 , //170
$00,$00,$00,$00,$00 , //171
$00,$00,$00,$00,$00 , //172
$00,$00,$00,$00,$00 , //173
$00,$00,$00,$00,$00 , //174
$00,$00,$00,$00,$00 , //AF 175
$00,$00,$00,$00,$00 , //176
$00,$00,$00,$00,$00 , //177
$00,$00,$00,$00,$00 , //178
$00,$00,$00,$00,$00 , //179
$00,$00,$00,$00,$00 , //180
$00,$00,$00,$00,$00 , //181
$00,$00,$00,$00,$00 , //182
$00,$00,$00,$00,$00 , //183
$00,$00,$00,$00,$00 , //184
$00,$00,$00,$00,$00 , //185
$00,$00,$00,$00,$00 , //186
$00,$00,$00,$00,$00 , //187
$00,$00,$00,$00,$00 , //188
$00,$00,$00,$00,$00 , //189
$00,$00,$00,$00,$00 , //190
$00,$00,$00,$00,$00 , //BF 191
$7e,$11,$11,$11,$7e , //A C0 192
$7f,$49,$49,$49,$33 , //Б 193
$7f,$49,$49,$49,$36 , //В 194
$7f,$01,$01,$01,$03 , //Г 195
$e0,$51,$4f,$41,$ff , //Д 196
$7f,$49,$49,$49,$41 , //E 197
$77,$08,$7f,$08,$77 , //Ж 198
$41,$49,$49,$49,$36 , //З 199
$7f,$10,$08,$04,$7f , //И 200
$7c,$21,$12,$09,$7c , //Й 201
$7f,$08,$14,$22,$41 , //K 202
$20,$41,$3f,$01,$7f , //Л 203
$7f,$02,$0c,$02,$7f , //M 204
$7f,$08,$08,$08,$7f , //H 205
$3e,$41,$41,$41,$3e , //O 206
$7f,$01,$01,$01,$7f , //П CF 207
$7f,$09,$09,$09,$06 , //P 208
$3e,$41,$41,$41,$22 , //C 209
$01,$01,$7f,$01,$01 , //T 210
$47,$28,$10,$08,$07 , //У 211
$1c,$22,$7f,$22,$1c , //Ф 212
$63,$14,$08,$14,$63 , //X 213
$7f,$40,$40,$40,$ff , //Ц 214
$07,$08,$08,$08,$7f , //Ч 215
$7f,$40,$7f,$40,$7f , //Ш 216
$7f,$40,$7f,$40,$ff , //Щ 217
$01,$7f,$48,$48,$30 , //Ъ 218
$7f,$48,$30,$00,$7f , //Ы 219
$00,$7f,$48,$48,$30 , //Ь 220
$22,$41,$49,$49,$3e , //Э 221
$7f,$08,$3e,$41,$3e , //Ю 222
$46,$29,$19,$09,$7f , //Я DF 223
$20,$54,$54,$54,$78 , //a 224
$3c,$4a,$4a,$49,$31 , //б 225
$7c,$54,$54,$28,$00 , //в 226
$7c,$04,$04,$04,$0c , //г 227
$e0,$54,$4c,$44,$fc , //д 228
$38,$54,$54,$54,$18 , //e 229
$6c,$10,$7c,$10,$6c , //ж 230
$44,$44,$54,$54,$28 , //з 231
$7c,$20,$10,$08,$7c , //и 232
$7c,$41,$22,$11,$7c , //й 233
$7c,$10,$28,$44,$00 , //к 234
$20,$44,$3c,$04,$7c , //л 235
$7c,$08,$10,$08,$7c , //м 236
$7c,$10,$10,$10,$7c , //н 237
$38,$44,$44,$44,$38 , //o 238
$7c,$04,$04,$04,$7c , //п EF 239
$7C,$14,$14,$14,$08 , //p 240
$38,$44,$44,$44,$20 , //c 241
$04,$04,$7c,$04,$04 , //т 242
$0C,$50,$50,$50,$3C , //у 243
$30,$48,$fc,$48,$30 , //ф 244
$44,$28,$10,$28,$44 , //x 245
$7c,$40,$40,$40,$fc , //ц 246
$0c,$10,$10,$10,$7c , //ч 247
$7c,$40,$7c,$40,$7c , //ш 248
$7c,$40,$7c,$40,$fc , //щ 249
$04,$7c,$50,$50,$20 , //ъ 250
$7c,$50,$50,$20,$7c , //ы 251
$7c,$50,$50,$20,$00 , //ь 252
$28,$44,$54,$54,$38 , //э 253
$7c,$10,$38,$44,$38 , //ю 254
$08,$54,$34,$14,$7c //я FF 255
);