完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
////*****重庆三峡学院电子与信息工程学院 创新实验室 唐老鸭*****////
#ifndef __LCD12864_H__ #define __LCD12864_H__ #include "msp430g2553.h" #include "delay.h" #define rw_out P1DIR|=BIT0 #define rw_h P1OUT|=BIT0 #define rw_l P1OUT&=~BIT0 #define en_out P1DIR|=BIT1 #define en_h P1OUT|=BIT1 #define en_l P1OUT&=~BIT1 uint Strlen(uchar *p) { uint i; for(i=0;*(p+i);i++); return i; } void WriteBytes(uchar *p) { uchar i,j,temp; en_out; rw_out; en_l; for(j=0;j<3;j++) { temp=p[j]; for(i=0;i<8;i++) { if(temp & 0x80) rw_h; else rw_l; en_h; delay(1); en_l; temp<<=1; } } rw_h; } void SerialWriteData(uchar send) { uchar data[3]; data[0]=0xfa ; //1111 1010向液晶写数据 data[1]=send & 0xf0; //取高4位 data[2]=(send<<4)&0xf0; //取低4位 WriteBytes(data); } void SerialWriteCmd(uchar send) { uchar data[3]; data[0]=0xf8 ; //1111 1000向液晶写命令 data[1]=send & 0xf0; //取高4位 data[2]=(send<<4) & 0xf0; //取低4位 WriteBytes(data); } void init_lcd() { en_out; rw_out; SerialWriteCmd(0x0C);//显示开,关闭游标和游标位置 SerialWriteCmd(0x06); SerialWriteCmd(0x01);//清除显示,等待命令 } void display_12864(uchar hang,uchar lie,uchar *p) { uchar i; switch(hang) { case 1:SerialWriteCmd(0x80+lie);break; case 2:SerialWriteCmd(0x90+lie);break; case 3:SerialWriteCmd(0x88+lie);break; case 4:SerialWriteCmd(0x98+lie);break; } for(i=0;i<16;i++) { SerialWriteData(p[i]); } } #endif |
|
相关推荐
20 个讨论
|
|
只有小组成员才能发言,加入小组>>
3327个成员聚集在这个小组
加入小组9556 浏览 1 评论
10355 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
10677 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2657 浏览 1 评论
5114 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
10685浏览 2评论
10365浏览 1评论
9567浏览 1评论
8223浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:59 , Processed in 0.414841 second(s), Total 37, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4713