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

📄 ht1623.i

📁 一个基于PIC18F单片机的开发的流量计量仪表
💻 I
📖 第 1 页 / 共 2 页
字号:
 
 
 

#line 12 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 15 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 16 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 17 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 18 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 19 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 20 "./PIC18F6720_PERIPHERYDEVICE.h"


 
#line 24 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 25 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 26 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 27 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 28 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 31 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 32 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 33 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 34 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 35 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 38 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 39 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 40 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 41 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 42 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 43 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 45 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 46 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 47 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 48 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 49 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 50 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 51 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 52 "./PIC18F6720_PERIPHERYDEVICE.h"
	

 
#line 56 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 57 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 58 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 59 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 62 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 63 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 64 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 65 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 67 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 68 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 69 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 72 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 73 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 74 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 75 "./PIC18F6720_PERIPHERYDEVICE.h"

 
#line 78 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 79 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 80 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 81 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 82 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 83 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 84 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 85 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 86 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 87 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 88 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 89 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 90 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 91 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 92 "./PIC18F6720_PERIPHERYDEVICE.h"


 
#line 96 "./PIC18F6720_PERIPHERYDEVICE.h"


 
#line 100 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 101 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 103 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 104 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 106 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 107 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 109 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 110 "./PIC18F6720_PERIPHERYDEVICE.h"

#line 112 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 113 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 114 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 115 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 116 "./PIC18F6720_PERIPHERYDEVICE.h"
#line 20 "HT1623.C"





#line 26 "HT1623.C"
#line 27 "HT1623.C"
#line 28 "HT1623.C"
#line 29 "HT1623.C"

#line 31 "HT1623.C"
#line 32 "HT1623.C"
#line 33 "HT1623.C"
#line 34 "HT1623.C"
#line 35 "HT1623.C"
#line 36 "HT1623.C"
#line 37 "HT1623.C"
#line 38 "HT1623.C"
#line 39 "HT1623.C"
#line 40 "HT1623.C"
#line 41 "HT1623.C"
#line 42 "HT1623.C"
#line 43 "HT1623.C"
#line 44 "HT1623.C"
#line 45 "HT1623.C"
#line 46 "HT1623.C"
#line 47 "HT1623.C"

#line 49 "HT1623.C"
#line 50 "HT1623.C"










void InitHT1623Port(void)
{
	LATDbits.LATD2  = 1;
	LATDbits.LATD1  = 1;
	LATDbits.LATD0  = 1;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
}








unsigned char RdHT1623OneByte(unsigned char Id_addr)
{
	unsigned char redata = 0,i;
	unsigned int tmep = 0;
	INTCONbits.GIE = 0 ;
	DDREbits.RE7  = 0;					
	LATEbits.LATE7  = 1;					
	LATDbits.LATD1  = 1;
	LATDbits.LATD2  = 0;						
	tmep |= 0xc0 ;
	tmep <<= 2;
	tmep |= Id_addr;
	tmep <<= 6;						
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	for(i=0;i<10;i++)
		{
			LATDbits.LATD0  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			if(tmep & 0x08000)
				LATEbits.LATE7  = 1;
			else
				LATEbits.LATE7  = 0;
			tmep = tmep << 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			LATDbits.LATD0  = 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
		}
	DDREbits.RE7  = 1;					
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	for(i=0;i<4;i++)
		{
			LATDbits.LATD1  = 0;
			redata = redata >> 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			LATDbits.LATD1  = 1;
			if(PORTEbits.RE7  == 1)
				{
					redata |= 0X08;
					Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
					Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
				}
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;	
		}
	InitHT1623Port();
	INTCONbits.GIE = 1 ;
	return	redata;		
}









void WrHT1623OneByte(unsigned char Toid_addr,unsigned char Todata)
{
	unsigned int tmep = 0;
	unsigned char i;
	INTCONbits.GIE = 0 ;
	tmep |= 0xa0 ;					
	tmep = tmep << 2;
	tmep |= Toid_addr;						
	tmep = tmep << 4;
	tmep |= Todata; 						
	tmep = tmep << 2;
	DDREbits.RE7  = 0;							
	LATEbits.LATE7  = 1;					
	LATDbits.LATD2  = 0;								
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	for(i=0;i<10;i++)
		{
			LATDbits.LATD0  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			if(tmep & 0x08000)
				LATEbits.LATE7  = 1;
			else
				LATEbits.LATE7  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			LATDbits.LATD0  = 1;
			tmep = tmep << 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
		} 
	for(i=0;i<4;i++)
		{
			LATDbits.LATD0  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			if(tmep & 0x01000)
				LATEbits.LATE7  = 1;
			else
				LATEbits.LATE7  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			LATDbits.LATD0  = 1;
			tmep = tmep >> 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
		}
	LATEbits.LATE7  = 1;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	InitHT1623Port();
	INTCONbits.GIE = 1 ;
}








void SentCmdToHT1623(unsigned char ht1623cmd )
{
	unsigned int tmepcmd=0,i;
	INTCONbits.GIE = 0 ;
	tmepcmd	= tmepcmd | 0x80 ;
	tmepcmd = tmepcmd << 3;
	tmepcmd = tmepcmd | ht1623cmd;
	tmepcmd = tmepcmd << 5;
	DDREbits.RE7  = 0;                   
	LATEbits.LATE7  = 1;
	LATDbits.LATD2  = 0;						
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
	for(i=0;i<12;i++)
		{
			LATDbits.LATD0  = 0;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			if(tmepcmd & 0x8000)
				LATEbits.LATE7  = 1;
			else
				LATEbits.LATE7  = 0;			
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			LATDbits.LATD0  = 1;
			tmepcmd = tmepcmd << 1;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;
			Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY();Delay1TCY() ;		
		}
	LATEbits.LATE7  = 1;
	InitHT1623Port();
	INTCONbits.GIE = 1 ;
}








void Endisplay(void)
{
	INTCONbits.GIE = 0 ;
	InitHT1623Port();
	SentCmdToHT1623(0x01);
	Delay10KTCYx(200);
	Delay10KTCYx(200);
	SentCmdToHT1623(0x03);
Delay1TCY();
	SentCmdToHT1623(0x1C);



	SentCmdToHT1623(0x05);
	SentCmdToHT1623(0x04);
	SentCmdToHT1623(0x08);

	INTCONbits.GIE = 1 ;
}

void Dsdisplay(void)
{
	INTCONbits.GIE = 0 ;
	SentCmdToHT1623(0x00);
	SentCmdToHT1623(0x02);
	SentCmdToHT1623(0x1C);
	INTCONbits.GIE = 1 ;
}

⌨️ 快捷键说明

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