📄 16巡检仪.searchresults
字号:
Head.h:#define R 0x88 //LED显示符号"R"
Head.h:#define s 0x92 //LED显示符号"S"
Head.h:#define L 0XC7 //LED显示符号"L"
Head.h:#define O 0xc0 //LED显示符号"O"
Head.h:#define C 0XC6 //LED显示符号"C"
Head.h:#define H 0x89 //LED显示符号"H"
Head.h:#define n 0xc9 //LED显示符号"n"
Head.h:#define DK 0xff //LED显示符号" "
Head.h:#define y 0x91 //LED显示符号"y"
Head.h:#define as 0xbf //LED显示符号"-"
Head.h:#define d 0xa1 //LED显示符号"d"
Head.h:#define F 0x8e //LED显示符号"F"
Head.h:#define U 0xc1 //LED显示符号"U"
Head.h:#define Y 0x8d //LED显示符号"Y"
Head.h:#define LK 0X87 //LED显示符号"E"
Head.h:#define u 0xe3 //LED显示符号"u"
Head.h:#define E 0x86 //LED显示符号"E"
Head.h:#define b 0x83 //LED显示符号"b"
Head.h:sbit KEYin=P1^2; //键盘输入
Head.h:sbit DISDATA=P1^0; //显示74HC164数据输出
Head.h:sbit DISCLK=P1^1; //显示控制74HC164控制时钟
Head.h:sbit INH1=P2^0; //低16路采样选通位
Head.h:sbit INH2=P2^7; //高16路采样选通位
Head.h:sbit CS0=P2^1; //采样路选择位0
Head.h:sbit CS1=P2^2; //采样路选择位1
Head.h:sbit CS2=P2^3; //采样路选择位2
Head.h:sbit VFA0=P2^4; //采样路选择位0
Head.h:sbit VFA1=P2^5; //采样路选择位1
Head.h:sbit VFA2=P2^6; //采样路选择位2
Head.h:#define road 16
Head.h:#define type 16
Head.h:#define Screen 8 //LED数量
Head.h:#define displaydata P0 //设置显示数据输出I/O口
Head.h:#define settime 4 //设置LED刷新时间
Head.h:#define LEDclk { _nop_();\
Head.h:#define SET 1 //S键
Head.h:#define AM 2 //AM键
Head.h:#define ADDdata 3 //加键
Head.h:#define SUBdata 4 //减键
Head.h:#define VFGETTDELAY 20
Head.h:#define cycontrol P2
Head.h:#define settime 4
Head.h:#define VFGETT 200
Head.h:extern void flashWB(uchar*buf,uchar sq,uint len);
Head.h:extern void flashByteR(uchar *buf,uchar sq,uint sta,uint len);
Head.h:extern void flashFByteR(float *buf,uchar sq,uint sta,uint len) ;
Head.h:extern void flashW(float*buf,uchar sq,uint len);
Head.h:extern void flashtW(int *buf,uchar sq,uint len);
Head.h:extern void flashtR(int*buf,uchar sq,uint sta,uint len);
Head.h:extern void KEYdeal();
Head.h:extern void Hex2Bcd(signed int,uchar *hextemp);
Head.h:extern void LEDdeal(uchar k);
Head.h:extern void sysint();
Head.h:extern void VFdeal();
Head.h:extern void VFstart(uchar roadn);
Hex to bcd.ASM:; 作者: lisenda
Hex to bcd.ASM:; KEILC51调用格式: void Hex2Bcd(signed int,uchar *hextemp);
Hex to bcd.ASM:; 程序外部数据: unsigned char data BcdData[4];
Hex to bcd.ASM:; EXTRN DATA(Fpublicvar)
Hex to bcd.ASM:; MOV Fpublicvar,#0AH ;建负号标志
Instring.h:#ifndef __INTRINS_H__
Instring.h:#define __INTRINS_H__
Instring.h:extern void _nop_ (void);
Instring.h:extern bit _testbit_ (bit);
Instring.h:extern unsigned char _cror_ (unsigned char, unsigned char);
Instring.h:extern unsigned int _iror_ (unsigned int, unsigned char);
Instring.h:extern unsigned long _lror_ (unsigned long, unsigned char);
Instring.h:extern unsigned char _crol_ (unsigned char, unsigned char);
Instring.h:extern unsigned int _irol_ (unsigned int, unsigned char);
Instring.h:extern unsigned long _lrol_ (unsigned long, unsigned char);
Instring.h:extern unsigned char _chkfloat_(float);
Instring.h:#endif
Inttrup.c:#include <AT89X52.H>
Inttrup.c:#include "head.h"
Inttrup.c:extern uchar keyn,Chose,TMing1;
Inttrup.c:extern uint Sampldata1;
Inttrup.c:uint xdata SampldataG=0,Sampldata=0,TMing2=0;
Inttrup.c:uchar count,kcout,jitter,jiasu,KEYbuf[4],VFnowt,Refreshtime=settime,countt=1;
Inttrup.c:bit vfmark=0;
Inttrup.c:bit vfcy;
Inttrup.c:extern bit cytwo;
Inttrup.c:void VFtime()
Inttrup.c: if(vfmark==0)
Inttrup.c: if(VFnowt==VFGETT)
Inttrup.c: if(VFnowt==0)
Inttrup.c: if(cytwo==0)
Inttrup.c: if(cygnd==1)
Inttrup.c: SampldataG=(uint)TH1<<8|(uint)TL1;
Inttrup.c: { if(cytwo==1)
Inttrup.c: Sampldata1=(uint)TH1<<8|(uint)TL1;
Inttrup.c: Sampldata=(uint)TH1<<8|(uint)TL1;
Inttrup.c: if(cygnd==2)
Inttrup.c:void LEDtime()
Inttrup.c: Refreshtime--; //时间定为2MS刷新一次显示数据(当系统晶振为6MHZ)
Inttrup.c: if(Refreshtime==0)
Inttrup.c: Refreshtime=settime; //重装刷新时间
Inttrup.c: if(count<Screen) //判断是否扫描一遍LED
Inttrup.c: if(txdat==0) //当点亮的LED是第一个时,DISDATA为1,其余的为0
Inttrup.c: displaydata=LEDbuf[txdat];
Inttrup.c: if(KEYin==1)
Inttrup.c: { TMing2=0;
Inttrup.c: switch(txdat) //扫描哪个键盘被按下
Inttrup.c: if(kcout>1)
Inttrup.c: if(KEYbuf[0]==KEYbuf[1]) //扫描延时
Inttrup.c: jitter++; //判断键盘是否有没按下
Inttrup.c: jitter=0; //无键盘按下
Inttrup.c: if(jitter==30) //给键盘赋值
Inttrup.c: jitter=0;
Inttrup.c: if(keyn==SET)
Inttrup.c: TMing1++;
Inttrup.c: TMing1=0;
Inttrup.c: TMing2++;
Inttrup.c:void Time0(void)interrupt 1 //T0中断处理
Inttrup.c: VFtime(); //采样中断处理
Inttrup.c: LEDtime(); // LED中断处理
KEYdeal.c:#include" Head.h"
KEYdeal.c:#include "AT89X52.H"
KEYdeal.c:extern uint xdata SampldataG,Sampldata;
KEYdeal.c:extern int xdata kadat;
KEYdeal.c:extern int xdata mimat;
KEYdeal.c:extern uchar xdata inputdat;
KEYdeal.c:extern int xdata rangeL[16];
KEYdeal.c:extern int xdata rangeH[16];
KEYdeal.c:extern int xdata warmL[16];
KEYdeal.c:extern int xdata warmH[16];
KEYdeal.c:extern float xdata filt;
KEYdeal.c:extern int xdata xjtime;
KEYdeal.c:extern uchar si[4];
KEYdeal.c:extern uint xdata TMing2;
KEYdeal.c:uchar keyn=0,TMing1=0;
KEYdeal.c:uchar Chose=zcdisplay;
KEYdeal.c:bit writen; //写使能位
KEYdeal.c:bit automic; //手动和自动控制位;当该位为1时,手动控制,反之,则自动控制
KEYdeal.c:void KEYdeal()
KEYdeal.c: uint leng,sysleng,funleng,temp;
KEYdeal.c: bit kt=1;
KEYdeal.c: wk=inputdat-1;
KEYdeal.c: if(keyn!=0)
KEYdeal.c: if(dot[wk]==0)
KEYdeal.c: else if(dot[wk]==1)
KEYdeal.c: else if(dot[wk]==2)
KEYdeal.c: else if(dot[wk]==3)
KEYdeal.c: if(keyn==SET)
KEYdeal.c: switch(Chose)
KEYdeal.c: case zcdisplay: // if(TMing1>20)
KEYdeal.c: Chose=mimadisplay;
KEYdeal.c: TMing1=0;
KEYdeal.c: case mimadisplay://if(kadat==mimat)
KEYdeal.c: Chose=mimasetdisplay;
KEYdeal.c: //else if(mimat==10)
KEYdeal.c: // Chose=jianyandisplay;
KEYdeal.c: Hex2Bcd(mimat,si);
KEYdeal.c: case mimasetdisplay: Chose=setdisplayst;
KEYdeal.c: Hex2Bcd(kadat,si);
KEYdeal.c: case setdisplayst: Chose=setdisplaysp;
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(fundat,si);
KEYdeal.c: case setdisplaysp: Chose=mimasetdisplay;
KEYdeal.c: if(writen==1)
KEYdeal.c: case syscsdisplay: Chose=syscs1;
KEYdeal.c: Hex2Bcd(inputdat,si);
KEYdeal.c: Hex2Bcd(typdat[wk],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(dot[wk],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(rangeL[wk],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(rangeH[wk],si);
KEYdeal.c: case syscs5: Chose=syscsdisplay;
KEYdeal.c: if(writen==1)
KEYdeal.c: case fundisplay: if(fundat==2)
KEYdeal.c: Hex2Bcd(warmd,si);
KEYdeal.c: Hex2Bcd(warmH[wt],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(warmL[wt],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(warmdown[wt],si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(warmscd[wt],si);
KEYdeal.c: case fun5: Chose=fundisplay;
KEYdeal.c: if(writen==1)
KEYdeal.c: case teshucsdisplay: Chose=teshucs1;
KEYdeal.c: Hex2Bcd(filt*10,si);
KEYdeal.c: if(writen==1)
KEYdeal.c: flashW(&filt, 18, 1);
KEYdeal.c: Hex2Bcd(drt,si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(xjtime,si);
KEYdeal.c: if(writen==1)
KEYdeal.c: flashtW(&xjtime, 20,1);
KEYdeal.c: Hex2Bcd(collt,si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(rady,si);
KEYdeal.c: if(writen==1)
KEYdeal.c: Hex2Bcd(bps,si);
KEYdeal.c: case teshucs6: Chose=teshucsdisplay;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyandisplay: Chose=jianyan1;
KEYdeal.c: case jianyan1: Chose=jianyan2;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan2: Chose=jianyan3;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan3: Chose=jianyan4;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan4: Chose=jianyan5;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan5: Chose=jianyan6;
KEYdeal.c: case jianyan6: Chose=jianyan7;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan7: Chose=jianyan8;
KEYdeal.c: if(writen==1)
KEYdeal.c: case jianyan8: Chose=jianyandisplay;
KEYdeal.c: if(writen==1)
KEYdeal.c: writen=0;
KEYdeal.c: automic=0;
KEYdeal.c: else if(keyn==ADDdata)
KEYdeal.c: { switch(Chose)
KEYdeal.c: case mimasetdisplay: Chose=teshucsdisplay;
KEYdeal.c: case syscsdisplay: Chose=mimasetdisplay;
KEYdeal.c: case fundisplay: Chose=syscsdisplay;
KEYdeal.c: case teshucsdisplay: Chose=fundisplay;
KEYdeal.c: case mimadisplay: if(mimat<9999)
KEYdeal.c: mimat++;
KEYdeal.c: Hex2Bcd(mimat,si);
KEYdeal.c: case setdisplayst: if(kadat<9999)
KEYdeal.c: Hex2Bcd(kadat,si);
KEYdeal.c: writen=1;
KEYdeal.c: case setdisplaysp: if(fundat<2)
KEYdeal.c: Hex2Bcd(fundat,si);
KEYdeal.c: writen=1;
KEYdeal.c: case syscs1: if(inputdat<road)
KEYdeal.c: inputdat++;
KEYdeal.c: Hex2Bcd(inputdat,si);
KEYdeal.c: writen=1;
KEYdeal.c: case syscs2: if(typdat[wk]<type)
KEYdeal.c: Hex2Bcd(typdat[wk],si);
KEYdeal.c: writen=1;
KEYdeal.c: case syscs3: if(dot[wk]<3)
KEYdeal.c: Hex2Bcd(dot[wk],si);
KEYdeal.c: writen=1;
KEYdeal.c: case syscs4: if(rangeL[wk]<rdatH)
KEYdeal.c: Hex2Bcd(rangeL[wk],si);
KEYdeal.c: writen=1;
KEYdeal.c: case syscs5: if(rangeH[wk]<rdatH)
KEYdeal.c: Hex2Bcd(rangeH[wk],si);
KEYdeal.c: writen=1;
KEYdeal.c: case fun1: if(warmd<road)
KEYdeal.c: Hex2Bcd(warmd,si);
KEYdeal.c: writen=1;
KEYdeal.c: case fun2: if(warmH[wt]<9999)
KEYdeal.c: Hex2Bcd(warmH[wt],si);
KEYdeal.c: writen=1;
KEYdeal.c: case fun3: if(warmL[wt]<9999)
KEYdeal.c: Hex2Bcd(warmL[wt],si);
KEYdeal.c: writen=1;
KEYdeal.c: case fun4: if(warmdown[wt]<100)
KEYdeal.c: Hex2Bcd(warmdown[wt],si);
KEYdeal.c: writen=1;
KEYdeal.c: case fun5: if(warmscd[wt]<3)
KEYdeal.c: Hex2Bcd(warmscd[wt],si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs1: if(filt<0.9)
KEYdeal.c: filt+=0.1;
KEYdeal.c: Hex2Bcd(filt*10,si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs2: if(drt<3)
KEYdeal.c: Hex2Bcd(drt,si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs3: if(xjtime<9999)
KEYdeal.c: xjtime++;
KEYdeal.c: Hex2Bcd(xjtime,si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs4: if(collt<2)
KEYdeal.c: Hex2Bcd(collt,si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs5: if(rady<255)
KEYdeal.c: Hex2Bcd(rady,si);
KEYdeal.c: writen=1;
KEYdeal.c: case teshucs6: if(bps<4)
KEYdeal.c: Hex2Bcd(bps,si);
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan1: t0=50.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan2: mv=500.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan3: bsdatH=20.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan4: bsdatL=4.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan5: if(port<road)
KEYdeal.c: Hex2Bcd(port,si);
KEYdeal.c: case jianyan6: AR[port]=500.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan7: IR[port]=500.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: case jianyan8: VR[port]=500.0/temp;
KEYdeal.c: writen=1;
KEYdeal.c: automic=0;
KEYdeal.c: else if(keyn==SUBdata)
KEYdeal.c: switch(Chose)
KEYdeal.c: case mimasetdisplay: Chose=syscsdisplay;
KEYdeal.c: case syscsdisplay: Chose=fundisplay;
KEYdeal.c: case fundisplay: Chose=teshucsdisplay;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -