标题:
单片机12864液晶显示正弦函数源程序
[打印本页]
作者:
白字先生
时间:
2018-4-20 23:46
标题:
单片机12864液晶显示正弦函数源程序
0.jpg
(18.03 KB, 下载次数: 36)
下载附件
2018-4-21 02:30 上传
单片机源程序如下:
#include<stc.h>
#include<math.h>
#include"ZB.h"
#include"12864.h"
void main()
{
uchar i,j;
uchar num;
uchar w=10,A=6;
init_LCD();
Clear_GDRAM();
write_LCD_command(0x36); //绘图打开
display_BMP(ZB); //显示图形
while(1)
{
write_LCD_command(0x30); //普通模式
write_LCD_command(0x80); //设置地址
write_LCD_data('T');
write_LCD_data(':');
write_LCD_data(2*w/100+0x30);
write_LCD_data(2*w%100/10+0x30);
write_LCD_data(2*w%10+0x30);
write_LCD_command(0x83); //设置地址
write_LCD_data('A');
write_LCD_data(':');
write_LCD_data(A/10+0x30);
write_LCD_data(A%10+0x30);
write_LCD_command(0x36);
for(i=13;i<128;i++)
{
j=35-A*sin((i-13)*3.14/w); //sin函数公式
Draw_dots(i,j,1);
delay(400);
}
/**********以下为按键扫描函数**************/
if(KEY1==0) //模式键按下
{
delay(10);
if(KEY1==0)
{
while(!KEY1);
key_value++;
if(key_value>2)
key_value=0;
}
}
if(key_value==1) //若选择的是周期模式
{
write_LCD_command(0x30);
write_LCD_command(0x86);
for(num=0;num<4;num++)
{
write_LCD_data(HZ1[num]); //显示"周期"汉字
}
if(KEY2==0) //加键按下时
{
delay(10);
if(KEY2==0)
{
while(!KEY2);
w=w+5; //w加
if(w==65)
w=10;
Clear_GDRAM();
write_LCD_command(0x36);//重新显示图形
display_BMP(ZB);
}
}
if(KEY3==0)
{
delay(10);
if(KEY3==0)
{
while(!KEY3);
if(w>=10) //w减
w=w-5;
Clear_GDRAM();
write_LCD_command(0x36); //绘图打开
display_BMP(ZB); //重新显示图形
}
}
}
if(key_value==2) //若选择的是幅度模式
{
write_LCD_command(0x30);
write_LCD_command(0x86);
for(num=0;num<4;num++)
{
write_LCD_data(HZ2[num]); //显示"幅度"汉字
}
if(KEY2==0)
{
delay(10);
if(KEY2==0)
{
while(!KEY2);
A=A+2; //A加
if(A==22)
A=8;
Clear_GDRAM();
write_LCD_command(0x36); //绘图打开
display_BMP(ZB); //重新显示图形
}
}
if(KEY3==0)
{
delay(10);
if(KEY3==0)
{
while(!KEY3);
if(A>=6) //A减
A=A-2;
Clear_GDRAM();
write_LCD_command(0x36); //绘图打开
display_BMP(ZB); //重新显示图形
}
}
}
}
}
复制代码
所有资料51hei提供下载(里面还有一个贪食蛇的源码):
http://www.51hei.com/bbs/dpj-113996-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1