• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

msp430 1602显示

力洪 2013-05-24 浏览量:4736
#include "msp430g2553.h" void delay(int i) { unsigned int a,b; for(a=i;a>0;a--)         for(b=1111;b>0;b--); } void busy() {         unsigned char BF;         P2OUT |=BIT1;         P2OUT &=~BIT2;         P2OUT &=~BIT0;         BF=(P1IN&BIT7);         P2OUT |=BIT0;         delay(5);         P2OUT &=~BIT0;     if(BF==1)     {     delay(100);     }     delay(100); } void write_com (unsigned char com) {         P2OUT &=~BIT1;         P2OUT &= ~BIT2;         P2OUT &=~BIT0;         P1OUT =com;     delay(100);         P2OUT |=BIT0;         P2OUT &=~BIT0; } void write_date(unsigned char date) {         P2OUT &=~BIT1;         P2OUT |=BIT2;         P2OUT &=~BIT0;         P1OUT =date;         delay(100);         P2OUT |=BIT0;         P2OUT &=~BIT0; } void inti() {         write_com(0x38);         write_com(0x0c);         write_com(0x06);         write_com(0x01);         write_com(0x80);         delay(5); } void main(void) {         P1DIR |=0xff;         P2DIR |=0xff;         P1SEL =0;         P2SEL =0;   inti();    busy();    write_date(0x41);    busy();    write_com(0xc0);    busy();    write_date(0x42);    while(1); } 求大神指教      显示一直闪烁
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 感觉您给出的这个代码有些复杂,光是初始化指令就重复用了好多次,并且延时用得还特别多,我在学习的时候也是参考了这里面的代码,去掉某个延时,就显示不了了,后来我自己写的代码精简了许多,去掉了很多没有必要的延时,提升了显示效率,当时用的G2553,在16Mhz的频率下,1602依然能正常显示
    • 发布于 2013-05-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 还是调试一下,看看是哪个地方的代码出了问题,一般可能出在时序上
    • 发布于2013-05-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 拿51单片的驱动改一下就可以用了,只改最底层的和屏通信的就可以了
    • 发布于2019-03-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

msp430 1602显示

上海固越电子科技有限公司 版权所有©       投诉、举报邮箱:contact@icxbk.com       客服、投诉、举报电话:021-31029100-9104

经营增值电信业务试点批复:沪通信管自贸[2019]24号 出版物经营许可证:新出发沪批字第Y8445号

沪ICP备18038102号  沪公网安备 31011702004806号 |营业执照