📄 szmb.h
字号:
//diplay+keyboard
//MLOOP<----------------------------|
//MLOOP--><1_PRO>--><2_PRO>--><3_PRO.1>
//MLOOP--><1_PRO>--><2_PRO>--><3_PRO.2>
//TMR0:T1MS/
//K1PRO:PS--1...40--F1.2--F3--F4...9//K1RAM:0...49
//DTAT of K1RAM(CHAR):2X1(1--3X40(2-41=120--(2+1)X2(42-45=6--
// 1(46--1+1+1+1+1+1(47-52=6----(52)=135
//K1PRO:PS=X/1-----40LAMP/
//K1PRO:PS=1111xx/ONOFF-SETUP/F1,F2
//K1PRO:PS=1166xx/UGV-SETUP/F3
//K1PRO:PS=1188xx/DATE-SETUP/F4:YEAR,F5:MONTH,F6:DATE
//K1PRO:PS=1188xx/DATE-SETUP/F7:HOUR,F8:MINUTE,F9:SECOND
//K2PRO:DATA MODIFY +
//K3PRO:DATA MODIFY -
//k4pro:print all data//1-20,21-40
//k5pro:start test/3s long push
//k6pro:stop test/3s long push
//1(A,B)--------20(A,B)
//21(A,B)-------40(A,B)
//MLOOP<----------------------------|
//1_PRO:the priority high
//2_PRO:the priority middle
//2_PRO:the priority low
//**************hardware config******************
//17rc2/ccp1/vg1;18rc3/dsb0;23rc4/dsb1
//24rc5/dsb2;25rc6/232tx;26rc7/232rx
//19rd0/lsin;20rd1/lsck;21rd2/lrck;22rd3/sin;
//27rd4/rck;28rd5/kin;29rd6/sck;30rd7/l165sl;
//40rb7/043cs;39rb6/so;38rb5/sck;37rb4/si;
//36rb3/1302rst;35rb2/io;34rb1/sck;
//6ra4/l165in;2ra0/vg2;3ra1/vf2;
//DISP595-PORTD
#include <pic.h>
#include "bit.h"
//#include <pic1687x.h>
//;**************************
//;;;;;;;; AAAA ;;;;;;;
//;;;;;;;; FF BB ;;;;;;;
//;;;;;;;; GGGG ;;;;;;;;
//;;;;;;;; EE CC ;;;;;;
//;;;;;;;; DDDD HH;;;;;;;
//;;;BIT-ABCDEFGH:0/1/6/4/7/3/5/2
//;;;DIG:L-->R:5/6/9/10/TOP
//;;;DIG:L-->R:1/2/4/3/7/8/BOT
//;;;LED=======0:L-->R:4/5/7/3/6
//;;;KEY:L-->R:1/3/4/5
#define AA 0x1//;0
#define BB 0x2//;1
#define CC 0x40//6
#define DD 0x10//;4
#define EE 0x80//;7
#define FF 0x8//;3
#define GG 0x20//;5
#define HH 0x4//;2
#define led2 DSDC0//,5
#define rlout2 OUTRA//,3
#define ZM0 AA+BB+CC+DD+EE+FF
#define ZM1 BB+CC
#define ZM2 AA+BB+DD+EE+GG
#define ZM3 AA+BB+CC+DD+GG
#define ZM4 BB+CC+FF+GG
#define ZM5 AA+CC+DD+FF+GG
#define ZM6 AA+CC+DD+EE+FF+GG
#define ZM7 AA+BB+CC
#define ZM8 AA+BB+CC+DD+EE+FF+GG
#define ZM9 AA+BB+CC+FF+GG
#define ZMA AA+BB+CC+EE+FF+GG
#define ZMB CC+DD+EE+FF+GG
#define ZMC AA+DD+EE+FF
#define ZMD BB+CC+DD+EE+GG
#define ZME AA+DD+EE+FF+GG
#define ZMF AA+EE+FF+GG
#define ZM0D HH+AA+BB+CC+DD+EE+FF
#define ZM1D HH+BB+CC
#define ZM2D HH+AA+BB+DD+EE+GG
#define ZM3D HH+AA+BB+CC+DD+GG
#define ZM4D HH+BB+CC+FF+GG
#define ZM5D HH+AA+CC+DD+FF+GG
#define ZM6D HH+AA+CC+DD+EE+FF+GG
#define ZM7D HH+AA+BB+CC
#define ZM8D HH+AA+BB+CC+DD+EE+FF+GG
#define ZM9D HH+AA+BB+CC+FF+GG
#define ZMAD HH+AA+BB+CC+EE+FF+GG
#define ZMBD HH+CC+DD+EE+FF+GG
#define ZMCD HH+AA+DD+EE+FF
#define ZMDD HH+BB+CC+DD+EE+GG
#define ZMED HH+AA+DD+EE+FF+GG
#define ZMFD HH+AA+EE+FF+GG
#define ZMP AA+BB+EE+FF+GG
#define ZMR EE+GG
#define ZMY BB+CC+DD+FF+GG
#define ZMT DD+EE+FF+GG
#define ZMM AA+CC+EE+GG
#define ZMH BB+CC+EE+FF+GG
#define ZML DD+EE+FF
#define ZMI ZM1
#define ZMS ZM5
#define ZMO CC+DD+EE+GG
#define ZM100 AA+CC+DD+EE+GG
#define ZMN CC+EE+GG
#define ZMQ ZM9
#define ZMU BB+CC+DD+EE+FF
persistent const unsigned char GETDSD[]={ZM0,ZM1,ZM2,ZM3,ZM4,ZM5,ZM6,ZM7,ZM8,ZM9,ZMA,ZMB,ZMC,ZMD,ZME,ZMF,ZM0D,ZM1D,ZM2D,ZM3D,ZM4D,ZM5D,ZM6D,ZM7D,ZM8D,ZM9D,ZMAD,ZMBD,ZMCD,ZMDD,ZMED,ZMFD};
persistent union uvar OUTRAB,OUTRBB,OUTRCB;
#define OUTRA OUTRAB.byte
#define OUTRB OUTRBB.byte
#define OUTRC OUTRCB.byte
#define _Z 2
#define KEYIN RA2////RD5
#define DSB012S 0X7
#define DSB0 OUTRCB.ubits.b0
#define DSB1 OUTRCB.ubits.b1
#define DSB2 OUTRCB.ubits.b2
#define U595RCK OUTRCB.ubits.b5
#define U595SCK OUTRCB.ubits.b3
#define U595SIN OUTRCB.ubits.b4
#define OUTAINI 0B00000000
#define OUTBINI 0B00000010
#define OUTCINI 0B00111000
#define AINI 0b00110101
#define BINI 0b01110001
#define CINI 0b11000000
#define OPTINI 0b11001101
#define ADINI 0b11111111
#define ADCH0 0B10000001
#define ADCH1 0B10001001
#define ADCH2 0B10010001
#define INTINI 0B10100000
#define INTCONF 0B10100100
#define PIE1INI 0B00000000
#define PIE1F 0B00000000
#define PIE2INI 0B00000000
#define T1INI 0B00100001
#define T2INI 0B00000100
#define CCP1CONINI 0B00001100
#define PR2INI 0B11111111
persistent union uvar FLAG1B,FLAG2B,FLAG3B;
#define FLAG1 FLAG1B.byte
#define FLAG2 FLAG2B.byte
#define FLAG3 FLAG3B.byte
#define funps FLAG1B.ubits.b0
#define adsample FLAG1B.ubits.b1
#define kyst FLAG1B.ubits.b2
#define wten FLAG1B.ubits.b3
#define kyold FLAG1B.ubits.b4
#define kydly FLAG1B.ubits.b5
#define dsdanew FLAG1B.ubits.b6
#define dsdbnew FLAG1B.ubits.b7
#define dsdcnew FLAG2B.ubits.b0
#define dsddnew FLAG2B.ubits.b1
#define funexit FLAG2B.ubits.b2
#define fun00 FLAG2B.ubits.b3
#define dsmfx FLAG2B.ubits.b4
#define dsmno FLAG2B.ubits.b5
#define dsmtm FLAG2B.ubits.b6
#define adsetup FLAG2B.ubits.b7
#define advok FLAG3B.ubits.b0
persistent unsigned char T1MS,T3MS,T100MS,T1S,T100US,T10MS;
persistent unsigned char ADL0,ADM0,ADH0,ADV0,ADV0L,ADV0S;
persistent unsigned char ADCNT0,ADCNT1;
persistent unsigned char ADL1,ADM1,ADH1,ADV1,ADV1L,ADV1L,ADV1S;
persistent unsigned char KEYV,KVVV,KOLDV,KVPP,KCNT;
persistent unsigned char DSB,BWT,DSPTMP0,DSPTMP1;
persistent unsigned char RAMH,WTCON,DTWTP;
persistent unsigned char FUNCRL,FUNCT;
EXT union uvarint TMPHLB,TMPHL0B,TMPHL1B;
#define TMPHL TMPHLB.uints
#define TMPH TMPHLB.ubytes.byteh
#define TMPL TMPHLB.ubytes.bytel
#define TMPHL0 TMPHL0B.uints
#define TMPH0 TMPHL0B.ubytes.byteh
#define TMPL0 TMPHL0B.ubytes.bytel
#define TMPHL1 TMPHL1B.uints
#define TMPH1 TMPHL1B.ubytes.byteh
#define TMPL1 TMPHL1B.ubytes.bytel
persistent unsigned char RAMH,RAMM,RAML,ROMH,RWCT;
persistent unsigned char P3TSK;
persistent union xvar DAVL;
persistent unsigned char bank1 DAVLX,DAVLXL;
persistent unsigned char OFFSET;
persistent unsigned char bank1 DT30H,DT31H,DT32H,DT33H,DT34H,DT35H,DT36H,DT37H,DT38H;
persistent unsigned char bank1 DT39H,DT3AH,DT3BH,DT3CH,DT3DH,DT3EH,DT3FH;
//F1:PASS;F2:ONT;F3:OFFT;F4:UGV;F5.6.7.8.9.A:Y.M.D.H.M.S
persistent unsigned char bank1 DSDABC[11];
#define DSBXXX 11
#define DSBMAX 11
#define DSDE0 DSDABC[0]//E0
#define DSDA2 DSDABC[1]//A2
#define DSDA3 DSDABC[2]//A3
#define DSDA0 DSDABC[3]//D
#define DSDA1 DSDABC[4]//D
#define DSDC1 DSDABC[5]//A0
#define DSDC0 DSDABC[6]//A3
#define DSDB1 DSDABC[7]//C1
#define DSDB0 DSDABC[8]//C0
#define DSDD1 DSDABC[9]//B1
#define DSDD0 DSDABC[10]//B0
persistent unsigned char bank1 DSPAH,DSPAL,DSPB,DSPC,DSPD,PASSWH,PASSWL;
persistent unsigned char bank1 DSPLMTH,DSPLMTM,DSPLMTL,i,x;
persistent unsigned char bank1 RLCNT,CHK1,CHK2,CHK3;
//persistent unsigned char bank1 RST0,RST1,RST2,RST3,RST4,RST5,RST6;
#define FUNMAX .50
#define FUNMOD .5
#define K1W 8//7
#define K2W 4//3
#define K3W 2//1
#define K4W 3//2
#define kf2bwt 7
#define kf3bwt 6
#define kf4bwt 5
//LED IS E
//bank1 persistent unsigned char i;
persistent const unsigned char DSP595B[]={0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff};
void DSKYWK(void);//OUTPUT(DSDT)+READ(KEY)
void DSKYWKI(void);//OUTPUT(DSDT)+READ(KEY)
void KDSAPRO(void);//FRESH DSPDAT
void KDSBPRO(void);//FRESH DSPDAT
void KDSCPRO(void);//FRESH DSPDAT
void KDSDPRO(void);//FRESH DSPDAT
void POWERINI(void);
void DSP595W(void);
void DSP595(void);
void DSP595I(void);
void DSP595K(void);
void KF1PRO(void);
void KF2PRO(void);
void KF3PRO(void);
void KF4PRO(void);
void KF5PRO(void);
void KF6PRO(void);
void KEYFPRO(void);
int KVTMPHL(void);
void BNX2BCD(void);
void TMFRESH(void);
void FUNDTNEW(void);
void DAINI(void);
void DAOUT(void);
void ADINI(void);
void P2PRO(void);
void WTEEP(unsigned char romadr,unsigned char ramdt);
unsigned char RDEEP(unsigned char romadr);
void DAADJ(void);
void WTEEPX(unsigned char s,unsigned char ramadr,unsigned char romadr,unsigned char rwcnt);
void RDPARAMS(void);
void ADD30H6(void);
void INI595(void);
void RSTINI(void);
//OUT595
//IN--->456
#define OUTDISP OUTRC
#define PDISP PORTC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -