top of page

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 AT89L
P828
 
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
);

bottom of page