12864显示图片

<pre name="code" class="objc">#include <reg52.h>
#include <intrins.h>
#include <stdlib.h>
#include <nvhai.h>
#include <nvhai2.h>
#include <nvhai3.h>
#include <laoban.h>
#define uint unsigned int
#define uchar unsigned char 
sbit dula=P2^6;
sbit wela=P2^7;
sbit PSB=P3^1;
sbit EN=P3^4;
sbit RS=P3^5;
sbit RW=P3^6;

void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=20;y>0;y--);
}
void delay1(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=111;y>0;y--);
}
void check_busy()	 
{
	uchar temp;
	RS=0;
	RW=1;
	EN=1;
	delay(1);
	temp=P0;
	while((temp&0x80)==0x80);
	EN=0;
}								    

void write_cmd(uchar cmd)
{
//	check_busy();
	EN=0;
	RS=0;
	RW=0;
	EN=1;
	P0=cmd;
	delay(5);
	EN=0;
}
void write_date(uchar date)
{
//	check_busy();
	EN=0;
	RS=1;
	RW=0;
	EN=1;
	P0=date;
	delay(5);
	EN=0;
}

void init()
{
	wela=1;
	P0=0xff;
	wela=0;
	dula=1;
	P0=0x00;
	dula=0;
	PSB=1;
	write_cmd(0x30);
	write_cmd(0x0c);
	write_cmd(0x01);
}
void clear()
{
	uint x,y,k;
	write_cmd(0x34);
	for(k=0;k<2;k++)
	{
		for(x=0;x<32;x++)
		{
			write_cmd(0x80+x);
			if(k==0)
			{
				write_cmd(0x80);
			}
			else
			{
				write_cmd(0x88);
			}
			for(y=0;y<8;y++)
			{
				write_date(0x00);
				write_date(0x00);
			}
			
		}
	}
	write_cmd(0x36);
	write_cmd(0x30);
}
void displaypic(uchar *p)
{
	uint x=0,k,i,y;
	write_cmd(0x34);
	for(k=0;k<2;k++)
	{
		for(y=0;y<32;y++)
		{			
			for(i=0;i<8;i++)
			{
				write_cmd(0x80+y);
				if(k==0)
				{					
					write_cmd(0x80+i);
				}
				else
				{
					write_cmd(0x88+i);
				}
				write_date(p[x]);	   //p[x]=nBitmapDot[x] 
				x++;						   
				write_date(p[x]);
				x++;
			}
		}
	}		  
	write_cmd(0x36);
}
void main()
{
	init();
	clear();
	while(1)
	{
     	displaypic(nvhai);    //数组名代表数组第一个元素的地址 
		delay1(3000);

		displaypic(nvhai2);     
		delay1(3000);

		displaypic(nvhai3);     
		delay1(3000);

		displaypic(laoban);     
		delay1(3000);
	}
}
			 









	



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值