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

📄 dstemp.c

📁 一个通过打印机端口[378h]驱动lcd的程序. 并可通过ds1620测量温度,最后把结果在lcd中输出.
💻 C
字号:
#include "lcdtemp.h"#include "dstemp.h"static int powerof2( int n ){	int i,res = 1;	for( i = 1 ; i < n ; i++ )		res *= 2;	return res;}void DS_DQ_HIGH(void){	LCD_RS_HIGH();}void DS_DQ_LOW(void){	LCD_RS_LOW();}void DS_CLK_HIGH(void){	unsigned char tmp = inb( PORTA + 2 );	outb( 0xF7 & tmp , PORTA + 2 );}void DS_CLK_LOW(void){	unsigned char tmp = inb( PORTA + 2 );	outb( 0X08 | tmp , PORTA + 2 );}void DS_RST_HIGH(void){	unsigned char tmp = inb( PORTA + 2 );	outb( 0X04 | tmp , PORTA + 2 );}void DS_RST_LOW(void){	unsigned char tmp = inb( PORTA + 2 );	outb( 0XFB & tmp , PORTA + 2 );}void DS_WRITECMD(unsigned char cmd){	DS_RST_HIGH();	int i;	for(i=0;i<8;i++)	{		DS_CLK_LOW();		if( cmd & 0x01 )			DS_DQ_HIGH();		else			DS_DQ_LOW();				DS_CLK_HIGH();		cmd >>=1 ;	}}int DS_READ(void){	DS_DQ_HIGH();	int i,res,data = 0;	for( i=0 ; i < 9 ; i++ )	{		DS_CLK_LOW();				res = inb( PORTA + 1 );		if( res & 0x40 )			data = data + powerof2(i);		DS_CLK_HIGH();		 	}	DS_RST_LOW();	return data;}

⌨️ 快捷键说明

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