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

📄 123.c

📁 这是用192*64液晶实现的波形液晶显示。用的液晶型号是OCMJ4*12B
💻 C
字号:
#include <reg52.h>
#include<math.h>

#define uchar unsigned char
#define uint unsigned int
#define DATA_PORT P0	//定义数据端口
#define PI 3.1415

sbit BUSY=P3^4;
sbit REQ=P3^5;
sbit RESET=P3^6;
sbit P10=P1^0;

uchar i=0x08;
uchar n=2,A=1;

/******LCD初始化***********/
void lcd_init()
{
	BUSY=1;
	REQ=0;
	RESET=1;
}

/********写数据************/
void wr_lcd(uchar dat)
{
	while(BUSY);
	DATA_PORT=dat;
	REQ=1;
	while(BUSY);
	REQ=0;
}

/******写指令与地址*******/
void wr_zhiling(uchar com,uchar addr_x,uchar addr_y)
{
	wr_lcd(com);
	wr_lcd(addr_x);
	wr_lcd(addr_y);
}
void delay(uint z)
{
	 uint x;
	 uchar y;
	 for(x=z;x>0;x--)
	 	for(y=110;y>0;y--);
}


void display_biankuang()
{
	uchar i,j,k,l;				
	for(i=0x90;i<0xc0;i++)		//边框横
		{
			wr_zhiling(0xf2,i,0x00);
			wr_zhiling(0xf2,i,0x3f);
		}
	for(j=0x01;j<0x3f;j++)        //边框竖
		{
			wr_zhiling(0xf2,0x90,j);
			wr_zhiling(0xf2,0xbf,j);
		}

	for(k=0x08;k<0x3c;k++)	   //坐标纵轴
		{
			wr_zhiling(0xf2,0x08,k);
		}
	for(l=0x09;l<0x89;l++)	  //坐标横轴
		{
			wr_zhiling(0xf2,l,0x1f);
		}



	
}
void zuobiao_data(uchar k)	  //在液晶上绘点 ,绘上半部分
{
	uchar a;
	a=k;
	wr_zhiling(0xf2,i,0x1f-a);
}
void zuobiao_data1(uchar k)	  //绘下半部分
{
	uchar b;
	b=k;
	wr_zhiling(0xf2,i,0x20+b);	//0x20的正确设置,下半部分终于出了波形
}

void display_data()
{
	uchar c,k;
	uint j;
	float a;
	while(1)
		{		P10=~P10;				 //小灯亮
			for(j=0;j<=1;)
				{
					a=A*sin(n*2*PI*j/360);	 	
				 	if(a>=0)					 //当sinx为正时,绘上半部分点
				 		{
							c=(uchar)(100*a);
							k=c/5;				//纵坐标每个格,值为0.05
							zuobiao_data(k);
							j=j+3;
							i=i+0x01;
						//	delay(100);
						
						}
					if (a<0)					//当sinx为负时,绘下半部分点
						{
						
							a=-a;				//转换为正数,好运算
							c=(uchar)(100*a);
							k=c/5;
							zuobiao_data1(k);
							j=j+3;
							i=i+0x01;
							//delay(100);
							
						
						}
				}
			i=0x08;	   							//一个大循环后,x置回起始点
			wr_lcd(0xf4);     					//清屏
			display_biankuang();				//边框
	
	}
}



void main()
{
	
	lcd_init();
	wr_lcd(0xf4);
	display_biankuang();
	display_data();
	while(1);
}

⌨️ 快捷键说明

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