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

📄 0316.c

📁 此模块是我在以前公司做热风枪项目时设计的一个模块
💻 C
字号:
#include <ht46c23.H>

const unsigned char dispbitcode[3]={0xdf,0xbf,0x7f};
const unsigned char dispcode[11]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x80};
//#pragma rambank0;
unsigned char dispbuf[8];
unsigned char dispcount;
unsigned char getdata1;
unsigned char getdata2;
unsigned long datasum;
unsigned long dataconvert;
//#pragma rambank0;
bit dispcode_5;
bit dispcode_6;
bit BPI;
bit BPS;
bit DIS2;
bit DIS4;
bit DRI2;
bit DRI4;
unsigned char DIS0;
unsigned char DIS1;
unsigned char DIS1BUF;
unsigned char DIS3;
unsigned char DRI0;
unsigned char DRI1;
unsigned char DRI3;

#pragma vector isr_8 @ 0x8

void isr_8() // timer/event 0
{
	_tf=0;
	_tmrh=(65535-24000)/256;
	_tmrl=(65535-24000)%256;
	
	if((BPI)&(BPS==0))
	{
		DRI0=DIS0;
		DRI1=DIS1;
		DRI3=DIS3;
		DRI4=DIS4;
		DRI2=DIS2;
		BPI=BPS;
		
		_pd1=BPI;
		_pa=DRI0;
		_pb=DRI1;
		_pc=DRI3;
		_pd0=DRI4;
		_pa7=DRI2;
		BPS=1;
	}
	else
	{
		BPI=~BPI;
		DRI0^=0xFF;
		DRI1^=0xFF;
		DRI3^=0xFF;
		DRI4=~DRI4;
		DRI2=~DRI2;
		
		_pd1=BPI;
		_pa=DRI0;
		_pb=DRI1;
		_pc=DRI3;
		_pd0=DRI4;
		_pa7=DRI2;
	}
}

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-24000)/256;
        _tmrl=(65535-24000)%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
        _pcc = 0x00;
        _pdc = 0x00;
        _pb = 0x00;
        _pc = 0x00;
        _pd = 0x00;
}

void main()
{
	unsigned long i;
	
	dispcount=0;
	dispcode_5=0;
	dispcode_6=0;
	BPI=0;
	BPS=0;
	DIS0=0;
	DIS1=0;
	DIS2=0;
	DIS3=0;
	DIS4=0;
	DRI0=0;
	DRI1=0;
	DRI2=0;
	DRI3=0;
	DRI4=0;
	
        safeguard_init();
        initial();
        getdata1=0x2E;
		getdata2=0xE0;
        while(1)
        {
        	_start=0;
        	_start=1;
        	_start=0;
        	while(_eocb);
        	for(i=30000;i>1;i--);
        	getdata1=_adrh;
        	getdata2=_adrl;
        	
			datasum=0x0000+getdata1;
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			_lrl(&datasum);
			datasum=datasum+getdata2;
			if(datasum<8000)
			datasum=8000;
			_start=0;
			if(datasum>56000)
			datasum=56000;
			_start=0;
			dataconvert=(750-(datasum-8000)/64);
			dispbuf[2]=dataconvert/100;
			dataconvert=dataconvert%100;
			dispbuf[1]=dataconvert/10;
			dispbuf[0]=dataconvert%10;
		
			if(dispcode[dispbuf[0]]&0x20)
			{
				dispcode_5=1;
			}
			else
			{
				dispcode_5=0;
			}
			if(dispcode[dispbuf[0]]&0x40)
			{
				dispcode_6=1;
			}
			else
			{
				dispcode_6=0;
			}
			DIS1BUF=dispcode[dispbuf[1]];
			_rl(&DIS1BUF);
			DIS0=dispcode[dispbuf[2]];
			DIS1=DIS1BUF;
			DIS3=dispcode[dispbuf[0]];
			DIS4=dispcode_5;
			DIS2=dispcode_6;
			BPS=0;
        }
}

⌨️ 快捷键说明

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