完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
10个回答
|
|
你可以把你的程序贴出来,大家来讨论改进,这样可能对你的学习会有更大的好处
|
|
|
|
|
|
#include
#include #define uchar unsigned char #define uint unsigned int ***it LCD_SI=P3^0;//clock input 同步时钟输入端 ***it LCD_SCL=P3^1;//data input/output 串行数据输入、输出端 ***it LCD_A0=P3^2;//选择命令还是数据 ***it LCD_RST=P3^3;//复位 ***it LCD_CS=P3^4;//片选 uchar code BMP[]= { /*-- 文字: 测 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00, 0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00, /*-- 文字: 试 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x40,0x42,0xDC,0x08,0x00,0x90,0x90,0x90,0x90,0x90,0xFF,0x10,0x12,0x1C,0x10,0x00, 0x00,0x00,0x7F,0x20,0x10,0x20,0x20,0x1F,0x10,0x10,0x01,0x06,0x18,0x20,0x78,0x00, }; /************************************************************** LCD写函数 void LCD_write(数据或者命令,A0选择) ****************************************************************/ void LCD_write(uchar data_command,uchar dc) {//参数dc=0时表示发命令,dc=1时表示发送数据 uchar i; LCD_A0=dc; LCD_CS=0; for(i=0;i<8;i++) { LCD_SCL=0; LCD_SI=(data_command&0x80)==0?0:1; data_command<<=1; LCD_SCL=1; } LCD_CS=1; } /************************************************************** LCD初始化函数 ****************************************************************/ void LCD_Init(void) {uchar i; LCD_RST=0; //LCD(低电平)复位 for(i=100;i>0;i--); LCD_RST=1; // RES置高 for(i=100;i>0;i--); LCD_write(0xa2,0);// LCD偏压设置:1/9 BIAS LCD_write(0xa1,0);//列地址选择为从右到左对应0~127;0xa1:列地址从左到右;0xa0:列地址从右到左 LCD_write(0xc0,0);// 行地址从上到下为0~63;0xc0:行地址从上到下;0xc8:行地址从下到上 LCD_write(0x26,0);// V5电压内部电阻调整设置 LCD_write(0x81,0);//亮度调整命令0~63(暗到亮) LCD_write(0x10,0); //亮度调节为双字节命令,前一个参数控制字的深浅 LCD_write(0x2f,0); //上电控制,打开调压器、稳压器和电压跟随 LCD_write(0xaf,0); //set display off。0xaf:set display on LCD_write(0x60,0);//其实行设置 } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void clrscr(uchar page_f, //显示一个字或多个字函数 uchar page_sum,uchar column_f,uchar column_sum )//x*8 {//参数:指向字首地址,起始页,占多少页,起始列,占多少列 uchar i,j,page=0xb0;//指向首页命令 for(i=page_f;i LCD_write(0x10|((0xf0&column_f)>>4),0);//设定列地址高4位为0 LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0 for(j=0;j LCD_write(0x00,1); } } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void Draw_word(uint d_where,uchar page_f, //显示一个字或多个字函数 uchar page_sum,uchar column_f,uchar column_sum )//x*8 {//参数:指向字首地址,起始页,占多少页,起始列,占多少列 uchar i,j,page=0xb0;//指向首页命令 d_where=d_where*32; for(i=page_f;i LCD_write(0x10|((0xf0&column_f)>>4),0);//设定列地址高4位为0 LCD_write(0x04|(0x0f&column_f),0); //设定列地址低4位为0 for(j=0;j LCD_write(BMP[d_where],1); d_where++; } } } //------------------------------------------------------------------------------ int main(void) { uchar i=0; LCD_Init(); clrscr(0,8,0,128); Draw_word(0,4,2,24,16); Draw_word(1,4,2,40,16); while(1); } |
|
|
|
求HDG12864F-1的取模软件啊?“测试”用我手上的软件怎么和你的不一样,且显示是乱码,用你的就可以,这是为什么?
|
|
|
|
求HDG12864F-1的取模软件啊?“测试”用我手上的软件怎么和你的不一样,且显示是乱码,用你的就可以,这是为什么? |
|
|
|
取模方向和显示方向要对应啊 |
|
|
|
好!!!没有图啊
|
|
|
|
我需要proteus中的硬件连线图呀?谁能帮帮忙提供,感觉自己没真正掌握工作原理
|
|
|
|
没有图啊
|
|
|
|
我这有楼主贴的代码对应的图。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4813 浏览 3 评论
6101 浏览 1 评论
6365 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
8111 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1236 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 01:09 , Processed in 0.812603 second(s), Total 94, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号