完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define RS_SET P2OUT|=BIT0 #define RS_CLR P2OUT&=~BIT0 //定义RS #define RW_SET P2OUT|=BIT1 #define RW_CLR P2OUT&=~BIT1 //定义RW #define EN_SET P2OUT|=BIT2 #define EN_CLR P2OUT&=~BIT2 //定义EN #define DataPort P1OUT void LCD_init(void); //初始化函数 void LCD_write_command(char command); //写指令函数 void LCD_write_data(char dat); //写数据函数 void LCD_disp_char(char x,char y,char dat); //在某个屏幕位置上显示 void delayms(); //延时函数 //**********端口定义********** void IO_Init(void) { P1DIR=0xff; //p1输出 P2DIR=0x07; //p2输出 } //*********延迟********* void delayms() { unsigned int k=60000; while(k!=0) {k--;} } //***********初始化函数**************** void LCD_init(void) { LCD_write_command(0x38);//设置8位格式,2行,5x7 delayms(); LCD_write_command(0x0c);//整体显示,关光标,不闪烁 delayms(); LCD_write_command(0x06);//设定输入方式,增量不移位 delayms(); LCD_write_command(0x01);//清除屏幕显示 delayms(); } //***********写指令函数**************** void LCD_write_command(char command) { delayms(); RS_CLR; RW_CLR; EN_SET; DataPort = command; EN_CLR; } //***********写数据函数************* void LCD_write_data(char dat) { delayms(); RS_SET; RW_CLR; EN_SET; DataPort= dat; EN_CLR; } //***********显示一个字符函数***************** void LCD_disp_char(char x,char y, char dat) { char address; if(y==1) address=0x80+x; else address=0xc0+x; LCD_write_command(address); LCD_write_data(dat); } //*********主函数************* void main() { WDTCTL=WDTPW+WDTHOLD; LCD_init(); LCD_disp_char(0,1,'b'); while(1); } |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
2937个成员聚集在这个小组
加入小组2680 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3003 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2273 浏览 1 评论
4703 浏览 1 评论
2484 浏览 1 评论
952浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3004浏览 2评论
2681浏览 1评论
1082浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-2 02:30 , Processed in 1.153604 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191