📄 0316.c.bak
字号:
#include <ht46r23.H>
const unsigned char dispbitcode[3]={0xdf,0xbf,0x7f};
const unsigned char dispcode[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8];
unsigned char dispcount;
unsigned char getdata1;
unsigned char getdata2;
unsigned long datasum;
unsigned long dataconvert;
#pragma vector isr_8 @ 0x8
void isr_8() // timer/event 0
{
_start=0;
_tf=0;
_tmrh=(65535-5000)/256;
_start=0;
_tmrl=(65535-5000)%256;
_pb=dispbitcode[dispcount];
_start=0;
_pa=dispcode[dispbuf[dispcount]];
dispcount++;
if(dispcount==3)
{
_start=0;
dispcount=0;
}
}
void safeguard_init()
{
_intc0 = 0;
_intc1 = 0;
_tmrc = 0;
_tmrh = 0;
_tmrl = 0;
_pac = 0xff;
_pbc = 0xff;
_pcc = 0xff;
_pdc = 0xff;
}
void initial()
{
_tmrc=0x80;
_tmrh=(65535-5000)/256;
_tmrl=(65535-5000)%256;
_ton=1;
_eti=1;
_emi=1;
_eei=0;
_acs0=0;
_acs1=0;
_acs2=0;
_pcr0=1;
_pcr1=0;
_pcr2=0;
_adcs0=1;
_adcs1=0;
_pac = 0x00; //set port A to out put port
_pa = 0;
_pbc = 0x01; //set port B
_pb = 0xff;
_pcc=0xff;
}
void main()
{
unsigned long i;
dispcount=0;
safeguard_init();
initial();
getdata1=0x43;
getdata2=0x80;
while(1)
{
_start=0;
_start=1;
_start=0;
while(_eocb)
{_start=0;}
for(i=30000;i>1;i--);
getdata1=_adrh;
getdata2=_adrl;
_start=0;
datasum=0x0000+getdata1;
_lrl(&datasum);
_lrl(&datasum);
_lrl(&datasum);
_lrl(&datasum);
_start=0;
_lrl(&datasum);
_lrl(&datasum);
_lrl(&datasum);
_lrl(&datasum);
datasum=datasum+getdata2;
_start=0;
if(datasum<17280)
datasum=17280;
_start=0;
if(datasum<26880)
{
if(_pc0)
datasum=26880;
}
if(datasum>65280)
datasum=65280;
_start=0;
dataconvert=(750-(datasum-17280)/64);
_start=0;
dispbuf[2]=dataconvert/100;
_start=0;
dataconvert=dataconvert%100;
_start=0;
dispbuf[1]=dataconvert/10;
_start=0;
dispbuf[0]=dataconvert%10;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -