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

📄 cm27c04.c

📁 基于51单片机的图形LCD驱动程序,建立了完成的中英文字符和基本图形输出程序,字符点阵从一片Flash存储器读出.
💻 C
字号:
//cm27c04.c
#include"general.h"
#include"cm27c04.h"
#include"lcd12864.h"
#include<stdlib.h>
#define bit7tempchar(n)  bit7tempchar##n
//******************************
BYTE bdata tempchar[8] = {0};
BYTE bdata tempread;
//*********************************
sbit bit7tempchar0 = tempchar[0]^7;
sbit bit7tempchar1 = tempchar[1]^7;
sbit bit7tempchar2 = tempchar[2]^7;
sbit bit7tempchar3 = tempchar[3]^7;
sbit bit7tempchar4 = tempchar[4]^7;
sbit bit7tempchar5 = tempchar[5]^7;
sbit bit7tempchar6 = tempchar[6]^7;
sbit bit7tempchar7 = tempchar[7]^7;
sbit bit7tempread = tempread^7; 
//*********************************


//*******************************
BYTE print_chs(BYTE *pchar,BYTE page,BYTE line_num,bit bclr)
{
	unsigned long addr_save;
	BYTE nblock,nbyte;
	nblock = *pchar - 0xA1;
	nbyte  = *(pchar+1) - 0xA1;
	addr_save =  (((unsigned long)nblock * 94) + nbyte)*32;
	tempdata_get(addr_save);
	line_num = print_icon(tempchar,page,line_num,1,8,bclr);
	tempdata_get(addr_save+1);
	line_num = print_icon(tempchar,page,line_num,1,8,bclr);
	tempdata_get(addr_save+16);
	line_num = print_icon(tempchar,page+1,line_num,1,8,bclr);
	tempdata_get(addr_save+17);
	line_num = print_icon(tempchar,page+1,line_num,1,8,bclr);
	return line_num;
}
//**********************************
void haddr_out(BYTE haddr)
{
	
	PHADDR = haddr;
	HADDR_LOCK = 1;
	_nop_();
	HADDR_LOCK = 0;
	
}
//**********************************
void tempdata_get(unsigned long addr)
{
	LWBT dvaddr;
	BYTE i,j;
	dvaddr.tl = addr;
	for(i=0;i<8;i++)
	{
		haddr_out(dvaddr.tb.tb2);
	    tempread = XBYTE[dvaddr.tw.tw0];
		//------------------------------
		bit7tempchar0 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar1 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar2 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar3 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar4 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar5 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar6 = bit7tempread;
		_crol_(tempread,1);
		bit7tempchar7 = bit7tempread;
		_crol_(tempread,1);
		//-----------------------------
		for(j=0;j<8;j++) _crol_(tempchar[j],1);
		//-----------------------------
		dvaddr.tl += 2;
	}
}

⌨️ 快捷键说明

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