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

📄 szmbval.h

📁 数字面板开发的单片机的软件仿正程序
💻 H
字号:
#define EXT
#define uchar unsigned char

//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>

EXT persistent	uchar pt0 @ 0x20;
//EXT uchar pt0 @ 0x20;



//;**************************
//;;;;;;;;  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

   
EXT persistent const uchar 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};

EXT persistent union uvar OUTRAB,OUTRBB,OUTRCB;
#define OUTRA   OUTRAB.byte
#define OUTRB   OUTRBB.byte
#define OUTRC   OUTRCB.byte

#define rlouton	OUTRB|=0x80
#define rloutoff OUTRB&=0x7f

#define CSS 0x8			//////H ;B3C3  
#define CSC 0x0F7		//////H      
#define CKS 0x4   	//////;B2C0 
#define CKC 0x0FB		//////H      
#define CI	0x1     //////            
#define CIS   0x2		//////H  ;B1C1 
#define CIC   0x0FD	//////H      
#define CICKC   0x0F9	//////H      
#define CICKS   0x06	//////H      
//#define CO      EQU     5   ;A5C2 
//;B2 SCK;B1 SIN;A5 SO;B3 CS

#define _Z 2
#define	KEYIN	RA4//2////RD5

#define	DSB012S     0X43  
#define	DSB0	    OUTRCB.ubits.b0  
#define	DSB1	    OUTRCB.ubits.b1  
#define	DSB2	    OUTRCB.ubits.b6//2  

#define U595RCK     OUTRCB.ubits.b5  
#define U595SCK     OUTRCB.ubits.b3  
#define U595SIN     OUTRCB.ubits.b4  

#ifdef lc87f
#define ADRHC0 ADRHC
#define ADRHC1 ADRHC
#define ADRHC2 ADRHC
#define ADRLC0 ADRLC
#define ADRLC1 ADRLC
#define ADRLC2 ADRLC
#else
EXT persistent uchar ADRHC0;
EXT persistent uchar ADRHC1;
EXT persistent uchar ADRHC2;
EXT persistent uchar ADRLC0;
EXT persistent uchar ADRLC1;
EXT persistent uchar ADRLC2;
#endif

#ifdef lc87f
#define ADINI ADMRCINI
#define ADCHS0 0X00
#define ADCHS1 0X10
#define ADCHS2 0X20
#define ADCHS3 0X30
#define ADCHS4 0X40
#define ADCHS5 0X50
#define ADCHS6 0X60
#define ADCHS7 0X70
#define ADCHS8 0X80
#define ADCHS9 0X90
#define ADCHSA 0XA0
#define ADCHSB 0XB0
#define ADCHSALL 0XF0

#define ADCH0 ADCHSB
#define ADCH1 ADCHSA
#define ADCH2 ADCHS9
#define TADSAMPLE 85 
#else
#define ADINI 0X80
#define	ADCH0	0x81//0B10000001
#define	ADCH1	0x89//0B10001001
#define	ADCH2	0x91//0B10010001
#define	ADCH3	0x99//0B10011001
#define	ADCH4	0xA1//0B10100001
#define	ADCH5	0xA9//0B10101001
#define	ADCH6	0xB1//0B10110001
#define	ADCH7	0xB9//0B10111001
#define	ADCHSALL	0xB9//
#define TADSAMPLE 85 
#endif
#define ADCHSALLOFF ADCON0&ADCHSALL

#define ADCHSROOMTEMP ADCHSB
#define ADCHSNPGTEMP ADCHSA
#define ADCHSCT ADCHS9

#define	AINI		0b00111111//#DEFINE	AINI	B'00110101' 
#define	BINI		0b01111111//#DEFINE	BINI	B'01110001' 
#define	CINI		0b10000000//#DEFINE	CINI	B'11000000' 
#define	OPTINI	0B11000011
#define	ADINI	0B10000000
#define	ADCON1INI	0B10000000
#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	OUTAINI	0B00000000
#define	OUTBINI	0B00000000
#define	OUTCINI	0B00000000

EXT persistent union uvar FLAG1B,FLAG2B,FLAG3B,FLAG4B;
#define FLAG1       FLAG1B.byte
#define FLAG2       FLAG2B.byte
#define FLAG3       FLAG3B.byte
#define FLAG4       FLAG4B.byte
#define funps       FLAG1B.ubits.b0  
#define dsponi      FLAG1B.ubits.b1  
#define adsample    FLAG1B.ubits.b2
#define p3ks        FLAG1B.ubits.b3  
#define kyst        FLAG1B.ubits.b4  
#define wten        FLAG1B.ubits.b5  
#define lpkf        FLAG1B.ubits.b6  
#define kyold       FLAG1B.ubits.b7  
#define kydly       FLAG2B.ubits.b0  
#define datnew      FLAG2B.ubits.b1  
#define dsdanew     FLAG2B.ubits.b2  
#define dsdbnew     FLAG2B.ubits.b3  
#define dsdcnew     FLAG2B.ubits.b4  
#define dsddnew     FLAG2B.ubits.b5  
#define funexit     FLAG2B.ubits.b6  
#define fun00       FLAG2B.ubits.b7
#define testrun     FLAG3B.ubits.b0
#define runon       FLAG3B.ubits.b1
#define pwrdn       FLAG3B.ubits.b2
#define testcc      FLAG3B.ubits.b3
#define test11      FLAG3B.ubits.b4
#define dsmfx       FLAG3B.ubits.b5
#define dsmno       FLAG3B.ubits.b6
#define dsmtm       FLAG3B.ubits.b7
#define prt01       FLAG4B.ubits.b0
#define prtcmd      FLAG4B.ubits.b1
#define adsetup     FLAG4B.ubits.b2
#define outok			FLAG4B.ubits.b3
#define testout			FLAG4B.ubits.b4
#define testout1		FLAG4B.ubits.b5
#define testout2		FLAG4B.ubits.b6
#define advok			FLAG4B.ubits.b7


EXT persistent uchar T1MS,T3MS,T100MS,T1S,T100US,T10MS;

#define ADINI1 ADMRCINI1
#define ADGO1() setbit(ADCON0,0X2)
#define ADGO bittest(ADCON0,0X2)
#define ADST1() setbit(ADCON0,0X2)
#define ADENDIFOK bittest(ADCON0,0X1)
#define ADENDIFCLR clrbit(ADCON0,0X1)
#define ADON bittest(ADCON0,2)

EXT persistent bank1 union uvarint ADMHB,ADV0MHB,ADV1MHB,ADV2MHB,ADROOMTB,ADCTB,ADNPGTB;
#define ADMH		ADMHB.uints
#define ADH 		ADMHB.ubytes.byteh
#define ADM 		ADMHB.ubytes.bytel
#define ADV0MH	ADV0MHB.uints
#define ADV0H 	ADV0MHB.ubytes.byteh
#define ADV0M 	ADV0MHB.ubytes.bytel
#define ADV1MH	ADV1MHB.uints
#define ADV1H 	ADV1MHB.ubytes.byteh
#define ADV1M 	ADV1MHB.ubytes.bytel
#define ADV2MH	ADV2MHB.uints
#define ADV2H 	ADV2MHB.ubytes.byteh
#define ADV2M 	ADV2MHB.ubytes.bytel
#define ADROOMT		ADROOMTB.uints
#define ADROOMTH 		ADROOMTB.ubytes.byteh
#define ADROOMTL 		ADROOMTB.ubytes.bytel
#define ADCT		ADCTB.uints
#define ADCTH 		ADCTB.ubytes.byteh
#define ADCTL 		ADCTB.ubytes.bytel
#define ADNPGT		ADNPGTB.uints
#define ADNPGTH 		ADNPGTB.ubytes.byteh
#define ADNPGTL 		ADNPGTB.ubytes.bytel

EXT persistent uchar ADVL,ADV0L,ADV1L,ADV2L;
EXT persistent uchar ADCNT0,advalu;
 

EXT persistent uchar KEYV,KVVV,KOLDV,KVPP,KCNT;
EXT persistent uchar DSB,BWT,DSPTMP0,DSPTMP1;
EXT persistent uchar RAMH,WTCON,DTWTP;
EXT persistent uchar bank1 FUNCRL,FUNCT,TSCAN;
EXT persistent bank1 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
EXT persistent uchar RAMH,RAMM,RAML,ROMH,RWCT;
EXT persistent uchar P3TSK;
EXT persistent union xvar DAVL;
EXT persistent uchar bank1 DAVLX,DAVLXL;
EXT persistent uchar OFFSET;
EXT persistent uchar bank1 DT30H,DT31H,DT32H,DT33H,DT34H,DT35H,DT36H,DT37H,DT38H;
EXT persistent uchar 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
/////////////////////DSDC0	EQU	SEG2+.1  
/////////////////////DSDA5	EQU	SEG2+.2  
/////////////////////DSDA4	EQU	SEG2+.3  
/////////////////////DSDA2	EQU	SEG2+.4  
/////////////////////DSDA3	EQU	SEG2+.5  
/////////////////////DSDB3	EQU	SEG2+.6  
/////////////////////DSDB2	EQU	SEG2+.7  
/////////////////////DSDA1	EQU	SEG2+.8  
/////////////////////DSDA0	EQU	SEG2+.9  
/////////////////////DSDB1	EQU	SEG2+.10 
/////////////////////DSDB0	EQU	SEG2+.11 
EXT persistent uchar DSDABC[11];
#define	DSBXXX	11
#define DSBMAX  11
#define	DSDE0	DSDABC[0]///DSDC0///C0
#define	DSDC0	DSDABC[1]///DSDA5///A5
#define	DSDD0	DSDABC[2]///DSDA4///A4
#define	DSDA2	DSDABC[3]///DSDA2///A2
#define	DSDA3	DSDABC[4]///DSDA3///A3
#define	DSDB3	DSDABC[5]///DSDB3///B3
#define	DSDB2	DSDABC[6]///DSDB2///B2
#define	DSDA1	DSDABC[7]///DSDA1///A1
#define	DSDA0	DSDABC[8]///DSDA0///A0
#define	DSDB1	DSDABC[9]///DSDB1///B1
#define	DSDB0	DSDABC[10]//DSDB0///B0
EXT persistent uchar bank1 DSPAH,DSPAL,DSPBH,DSPBL,DSPC,DSPD,PASSWH,PASSWL;
EXT persistent uchar bank1 DSPLMTH,DSPLMTM,DSPLMTL,i,x;
EXT persistent uchar bank1 RLCNT,CHK1,CHK2,CHK3;
EXT persistent uchar bank1 RST0,RST1,RST2,RST3,RST4,RST5,RST6;

EXT persistent uchar bank1 PARAMS[3];
EXT persistent uchar bank1 ADINH[5],ADINL[5];
#define ADINS PARAMS[0]
#define DAXXX PARAMS[1]
#define DAXXXH PARAMS[2]

#define FUNMAX 	.50
#define FUNMOD 	.5
#define KFUNW 4//2//.1///1//////#define K1W 8//7
#define KINCW 5//4//.3///3//////#define K2W 4//3
#define KDECW 6//5//.4///4//////#define K3W 2//1
#define KONOFFW 2//6//.5///5//////#define K4W 3//2
//#define	kf2bwt	7
//#define	kf3bwt	6
//#define	kf4bwt	5
//LED IS E
//bank1 persistent unsigned char i;
EXT persistent const	uchar DSP595B[]={0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff};
#define OUTDISP OUTRC
#define PDISP PORTC

#define EE58 0X10 

EXT persistent bank1 union uvarint DAVLXB,DAVLYB;
#define DAVLX			DAVLXB.uints
#define DAVLXH 		DAVLXB.ubytes.byteh
#define DAVLXL 		DAVLXB.ubytes.bytel
#define DAVLY			DAVLYB.uints
#define DAVLYH 		DAVLYB.ubytes.byteh
#define DAVLYL 		DAVLYB.ubytes.bytel




















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -