⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 szmb.h.bak

📁 数字面板开发的单片机的软件仿正程序
💻 BAK
字号:
//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>



/*
	内部时钟日历地址图,始终日历用BCD码储存
	0:0 秒
	1:2 分
	2:4 小时
	3:6 日期
	4:8 月份
	5:a 星期
	6:c 年
	7:e 写保护寄存器
	8:10慢速充电寄存器
*/
#define SECADDR 0
#define MINADDR 1
#define HRADDR  2
#define DATEADDR 3
#define MONADDR 4
#define WEEKADDR 5
#define YEARADDR 6
#define CONTROL 7
#define TRICK 8
#define BURST 0X1F
//;**************************
//;;;;;;;;  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

#define	D99H	0X27
#define	D99L	0X0F

//0-14;15-29;30-44;45-59;60-74;75-89;90-104
//           0   1   2   3   4   5   6   7   8   9   10 11  12  13  14
//PRTRPT[]={' ',' ','T','E','S','T',' ','R','E','P','O','R','T',' ',' '};
//PRTUUU[]={' ','U',' ','.','.','.','.','.','.','.',' ',001,'.'010,'V'};
//PRTSTT[]={'S','T',' ',002,010,003,010,004,010,'-',005,010,':',006,010};
//PRTETT[]={'E','T',' ',007,010,008,010,009,010,'-',013,010,':',014,010};
//PRTTON[]={'T','O','N',' ','.','.','.',' ',015,012,011,010,':',016,010};
//PRTTOF[]={'T','O','F','F','.','.','.',' ',017,012,011,010,':',018,010};
//PRTT01[]={019,010,' ','.','.','.','.',' ',020,012,011,010,':',000,010};
//0-14;15-29;30-44;45-59;60-74;75-89;90-104
//persistent const	unsigned char PRTALL[]=/*PRTRPT[]=*/{' ',' ','T','E','S','T',' ','R','E','P','O','R','T',' ',' '/*};PRTUUU[]={*/,' ','U',' ','.','.','.','.','.','.','.',' ',.01,'.'.10,'V'/*};PRTSTT[]={*/,'S','T',' ',.02,.10,.03,.10,.04,.10,'-',.05,.10,':',.06,.10/*};PRTETT[]={*/,'E','T',' ',.07,.10,.08,.10,.09,.10,'-',.13,.10,':',.14,.10/*};PRTTON[]={*/,'T','O','N',' ','.','.','.',' ',.15,.12,.11,.10,':',.16,.10/*};PRTTOF[]={*/,'T','O','F','F','.','.','.',' ',.17,.12,.11,.10,':',.18,.10/*};PRTT01[]={*/,.19,.10,' ','.','.','.','.',' ',.20,.12,.11,.10,':',.00,.10};
//0-14;15-29;30-44;45-59;60-74;75-89;90-104
persistent const	unsigned char PRTALL[]={' ',' ','T','E','S','T',' ','R','E','P','O','R','T',' ',' ',' ','U',' ','.','.','.','.','.','.','.',' ',0x1,'.',0xa,'V','S','T',' ',0x2,0xa,0x3,0xa,0x4,0xa,'-',0x5,0xa,':',0x6,0xa,'E','T',' ',0x7,0xa,0x8,0xa,0x9,0xa,'-',0xd,0xa,':',0xe,0xa,'T','O','N',' ','.','.','.',' ',0xf,0xc,0xb,0xa,':',0x10,0xa,'T','O','F','F','.','.','.',' ',0x11,0xc,0xb,0xa,':',0x12,0xa,0x13,0xa,' ','.','.','.','.',' ',0x14,0xc,0xb,0xa,':',0,0xa};
   
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 const	unsigned char GETTXD[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

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	U165IN	RA4
#define	U1302IN	RB2
#define	U043IN	RB6
#define	U232IN	RC7

#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 ULRCK       OUTRDB.ubits.b2  
#define ULSCK       OUTRDB.ubits.b1  
#define ULSIN       OUTRDB.ubits.b0  
#define U165SL      OUTRDB.ubits.b7  

#define	U1302IO	    OUTRBB.ubits.b2 
#define	U1302SCK    OUTRBB.ubits.b1 
#define	U1302RST    OUTRBB.ubits.b3  
#define	U043CS	    OUTRBB.ubits.b7 
#define	U043SO      OUTRBB.ubits.b6 
#define	U043SCK     OUTRBB.ubits.b5  
#define	U043SI      OUTRBB.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	INTINI	0b11010000
#define	INTCONF	0b11010010
#define	PIE1INI	0b00000011
#define	PIE1F		0b00000011
#define	PIE2INI	0b00000000







#define	BINIRD	0B01000101

#define BRGINI  103
#define TXSTAINI    0B00100100
#define RCSTAINI    0B10000000


#define	OPTINI	0B11000011
#define	ADINI	0B10000011
#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

#define PORTD2OUTRD {di();PORTD=OUTRD;ei();}


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;
static unsigned char TMP0 @ 0X76;
static unsigned char TMP1 @ 0X77;
static unsigned char TMP2 @ 0X78;
static unsigned char TMP3 @ 0X79;
persistent unsigned char TMPH @ 0X7a;
persistent unsigned char TMPL @ 0X7b;
persistent unsigned char STKW,STKS,STKSEEP;
persistent unsigned char RAMH,RAMM,RAML,ROMH,RWCT;
persistent unsigned char P3TSK;
persistent union xvar DAVL;
persistent unsigned char bank1 DAVLX,DAVLXL;
#define	PRTD0	PRTABC[0]//D0
#define	PRTD1	PRTABC[1]//D1
#define	PRTD2	PRTABC[2]//D2
#define	PRTD3	PRTABC[3]//D3
persistent unsigned char K1RAM;
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;

#define SECP3 73
#define MINP3 72
#define HRP3  71
#define DATEP3 70
#define MONP3 69
#define WEEKP3 68
#define YEARP3 67

#define EEYEAR 0X7F
#define EEWEEK 0X80
#define EEMONTH 0X81
#define EEDATE 0X82
#define EEHOUR 0X83
#define EEMINUTE 0X84
#define EESECOND 0X85
#define EEZTM 0X86
#define EEZTH0 0X87
#define EEZTH1 0X88
//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 K5W 5//4
#define K6W 6//5
#define	kf2bwt	7
#define	kf3bwt	6
#define	kf4bwt	5
#define	CNT1653	8
//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 DSPONLY(void);
void TMFRESH(void);
void FUNDTNEW(void);
void DAINI(void);
void DAOUT(void);
//void ADINI(void);
//void RDAD(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);
/*1108:on.off.time
/*1168:u-pwr-setup
/*1188:modify-clock
/*1098:ym,dh,ms(C,A,B)53
1097:0-30.ram(C,A)54
1096:0-ff.ram(C,A)55
1095:100-1ff.ram(C,A)56
1092:0-ff.eeprom(C,A)57*/
unsigned char C1302DAT(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 + -