4673|7

88

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新手求助。。。液晶屏驱动程序 [复制链接]

单片机是MSP430F149
液晶显示屏是OCMJ15×20D.
液晶屏相关信息http://www.ec66.com/market/manual/OCMJ-D.pdf
程序如下:

  1. #include
  2. #define uchar     unsigned char
  3. #define uint      unsigned int
  4. #define LCD_RS    BIT7
  5. #define LCD_WR    BIT6
  6. #define LCD_RD    BIT5
  7. #define LCD_CS1   BIT4
  8. #define LCD_CS2   BIT3
  9. #define LCD_BUSY  BIT2
  10. #define LCD_INT   BIT1
  11. #define LCD_RST   BIT0

  12. void Init_clk()
  13. {
  14.   uchar i;
  15.   
  16.   BCSCTL1 &= ~XT2OFF;
  17.   BCSCTL2 &= SELM1 + SELS;
  18.   do
  19.   {
  20.     IFG1 &= ~OFIFG;
  21.     for(i=100; i>0; i--);
  22.   }while((IFG1 & OFIFG) != 0);
  23.   IFG1 &= ~OFIFG;
  24. }

  25. void Delay(uchar count)
  26. {
  27.   while(count--);
  28. }

  29. void Init_lcd()
  30. {
  31.   P2DIR |= BIT6;
  32.   P2OUT |= BIT6;          //锁存器端口处理
  33.   Delay(100);
  34.   P4DIR = 0xff;
  35.   P4DIR &= ~(LCD_BUSY|LCD_INT);  
  36.   P4OUT = 0xff;
  37. }

  38. void Lcd_regwr(uchar data)
  39. {
  40.   P5DIR = 0xff;       //P5 output
  41.   P5OUT = data;
  42.   P4OUT &= ~LCD_CS1;
  43.   P4OUT |= LCD_RD;    //disable read
  44.   P4OUT &= ~LCD_RS;   //select buffer
  45.   P4OUT &= ~LCD_WR;   //enable write
  46.   _NOP();
  47.   P4OUT |= LCD_WR;
  48.   P4OUT |= LCD_RS;
  49.   P4OUT |= LCD_CS1;   //wr/rs/cs1  disable
  50. }
  51. void Lcd_regwrite(uchar regaddress, uchar regdata)
  52. {
  53.   Lcd_regwr(regaddress);
  54.   Delay(1);
  55.   Lcd_regwr(regdata);
  56. }
  57. void Lcd_datawrite(uchar data)
  58. {
  59.   while((P4OUT&LCD_BUSY) == 1);
  60.   P5DIR = 0xff;       //P5 output
  61.   P5OUT = data;
  62.   P4OUT &= ~LCD_CS1;  //chip enable
  63.   P4OUT |= LCD_RD;
  64.   P4OUT |= LCD_RS;    //select display ram
  65.   P4OUT &= ~LCD_WR;
  66.   _NOP();
  67.   P4OUT |= LCD_WR;
  68.   P4OUT |= LCD_RS;
  69.   P4OUT |= LCD_CS1;   //disable
  70. }

  71. uchar Lcd_regread(uchar regaddress)
  72. {
  73.   uchar regdata;
  74.   
  75.   Lcd_regwr(regaddress);
  76.   P5DIR = 0x00;       //P5 input
  77.   P4OUT &= ~LCD_CS1;
  78.   P4OUT |= LCD_WR;    //disable write
  79.   P4OUT &= ~LCD_RS;   //select buffer
  80.   P4OUT &= ~LCD_RD;   //enable  read
  81.   ;
  82.   regdata = P5IN;
  83.   P4OUT |= LCD_RD;
  84.   P4OUT |= LCD_RS;
  85.   P4OUT |= LCD_CS1;

  86.   return regdata;
  87. }

  88. void main()
  89. {
  90.   volatile uchar result;
  91.   
  92.   WDTCTL = WDTPW + WDTHOLD;
  93.   Init_clk();
  94.   Init_lcd();
  95.   while(1)
  96.   {
  97.     Lcd_regwrite(0x00,BIT3);
  98.     result = Lcd_regread(0x00);
  99.     _NOP();
  100.     _NOP();
  101.   }
  102. }
复制代码

这段代码的作用是,修改液晶屏REG[00]的第四位,然后再读取修改后的REG[00].但是我单步调试的时候发现没有能修改成功。
我不知道这个驱动写得到底对不对。请各位大哥大姐,帮帮我。谢谢了!!!

最新回复

最近也在搞这个。。。  详情 回复 发表于 2013-3-7 10:00
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
呵呵,你的LCD驱动还没弄好啊;

我的 6800或8080控制器的LCD的设计资料与51、61的源代码,看到你已经下载了,

晚上9点后,QQ:604914729聊吧
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
唉,我都不好意思再问了。这么久还没弄出来。
新手。。。请多包涵一下谢谢了
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 never_ql 的回复:
唉,我都不好意思再问了。这么久还没弄出来。
新手。。。请多包涵一下谢谢了



大家都有成长的过程! 这都很正常!有什么不好意思啊!!
有问题一定要彻底弄明白,学到知识,这才是最关键。

况且,LCD的时序基本上是所有简单外设中,最难的一个!!

 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
晚上9点后,如果能上网,我再给传点资料吧,朋友
QQ加我。

我大二的时候,也遇到LCD调了很久,都快1个多月的业余时间,最后还是我师哥帮我整明白的,呵呵。
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

6
 
跟着数据手册里的时序这个是不会有问题的

如果实在不行的话,技术支持的会给出某个版本的源码

再抄一下那个源码,如果是软件的问题这样做基本都能出来

注意一下你芯片的速度就好
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸℃ぞ绮℃俊鐐€栭崝褏绮婚幋鐘差棜闁秆勵殕閻撴洟鏌熼柇锕€鐏遍柛銈咁儔閺屻倝寮堕幐搴′淮闂佸搫鏈粙鎴﹀煡婢跺ň鏋庨柟閭﹀枤閳诲繘姊虹拠鎻掝劉闁煎綊绠栬棟濞村吋娼欐闂佸憡娲﹂崹鎵不閹惰姤鐓曢柍鈺佸暔娴狅箑顭跨憴鍕缂佽鲸鎹囧畷鎺戔枎閹存繂顬夋俊鐐€戦崝灞轿涘┑瀣瀬闁告劦鍠栭~鍛存煟濡櫣浠涙繛鍫熷劤閳规垶骞婇柛濠冩礋楠炲﹥鎯旈姀鐘插闂傚倸鍊风粈渚€鎮块崶褜娴栭柕濞у懐鐒兼繛杈剧秬椤宕h箛娑欑厪闁割偅绻嶅Σ褰掓煟閹捐泛鏋涢柡宀嬬到椤粓鍩€椤掍胶顩查悹杞拌閻庡爼鏌i幋锝呅撻柣鎾存礋閺岋繝宕掑┑鍥┿€婄紓浣哄Х缁垶濡甸崟顖氼潊闁挎稑瀚崳鏉课旈悩闈涗粶妞ゆ垵顦靛顐﹀磼閻愭潙娈熼梺闈涱檧婵″洩銇愰妸鈺傗拺閻犲洦鐓¢妤呮煕濡崵鐭掔€规洘鍨块獮妯肩磼濡厧骞堥梻浣哥秺閸嬪﹪宕㈡總绋跨闁靛牆妫涚粻楣冩煕椤愵偄澧悗姘炬嫹闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掍礁鍓銈嗗姧缁犳垿鐛姀銈嗙厓閺夌偞澹嗛崝宥嗐亜閺傚灝顏紒杈ㄦ崌瀹曟帒顫濋钘変壕闁告縿鍎抽惌娆撴煕閺囥劌鐏犵紒鐙€鍨堕弻銊╂偆閸屾稑顏�闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛顐f礀缁犵娀鏌熼崜褏甯涢柛瀣ㄥ€濋弻鏇熺箾閻愵剚鐝曢梺绋款儏椤戝寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾绘⒑缂佹ê绗掗柣蹇斿哺婵$敻宕熼姘鳖唺闂佽鎯岄崹閬嶅极妤e啯鐓熼幖娣灮閸熸煡鏌熼崙銈嗗婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾剧粯绻涢幋鏃€鍤嶉柛銉墻閺佸洭鏌曡箛鏇炐ユい锔诲櫍閹宕楁径濠佸闂備礁鎲″ú锕傚磻婢舵劕鏄ラ柣鎰劋閳锋垿鎮归幁鎺戝婵炲懏鍔欓弻鐔煎礄閵堝棗顏�
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(中级)

8
 
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸℃ぞ绮℃俊鐐€栭崝褏绮婚幋鐘差棜闁秆勵殕閻撴洟鏌熼柇锕€鐏遍柛銈咁儔閺屻倝寮堕幐搴′淮闂佸搫鏈粙鎴﹀煡婢跺ň鏋庨柟閭﹀枤閳诲繘姊虹拠鎻掝劉闁煎綊绠栬棟濞村吋娼欐闂佸憡娲﹂崹鎵不閹惰姤鐓曢柍鈺佸暔娴狅箑顭跨憴鍕缂佽鲸鎹囧畷鎺戔枎閹存繂顬夋俊鐐€戦崝灞轿涘┑瀣瀬闁告劦鍠栭~鍛存煟濡櫣浠涙繛鍫熷劤閳规垶骞婇柛濠冩礋楠炲﹥鎯旈姀鐘插闂傚倸鍊风粈渚€鎮块崶褜娴栭柕濞у懐鐒兼繛杈剧秬椤宕h箛娑欑厪闁割偅绻嶅Σ褰掓煟閹捐泛鏋涢柡宀嬬到椤粓鍩€椤掍胶顩查悹杞拌閻庡爼鏌i幋锝呅撻柣鎾存礋閺岋繝宕掑┑鍥┿€婄紓浣哄Х缁垶濡甸崟顖氼潊闁挎稑瀚崳鏉课旈悩闈涗粶妞ゆ垵顦靛顐﹀磼閻愭潙娈熼梺闈涱檧婵″洩銇愰妸鈺傗拺閻犲洦鐓¢妤呮煕濡崵鐭掔€规洘鍨块獮妯肩磼濡厧骞堥梻浣哥秺閸嬪﹪宕㈡總绋跨闁靛牆妫涚粻楣冩煕椤愵偄澧悗姘炬嫹闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掍礁鍓銈嗗姧缁犳垿鐛姀銈嗙厓閺夌偞澹嗛崝宥嗐亜閺傚灝顏紒杈ㄦ崌瀹曟帒顫濋钘変壕闁告縿鍎抽惌娆撴煕閺囥劌鐏犵紒鐙€鍨堕弻銊╂偆閸屾稑顏�闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛顐f礀缁犵娀鏌熼崜褏甯涢柛瀣ㄥ€濋弻鏇熺箾閻愵剚鐝曢梺绋款儏椤戝寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾绘⒑缂佹ê绗掗柣蹇斿哺婵$敻宕熼姘鳖唺闂佽鎯岄崹閬嶅极妤e啯鐓熼幖娣灮閸熸煡鏌熼崙銈嗗婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾剧粯绻涢幋鏃€鍤嶉柛銉墻閺佸洭鏌曡箛鏇炐ユい锔诲櫍閹宕楁径濠佸闂備礁鎲″ú锕傚磻婢舵劕鏄ラ柣鎰劋閳锋垿鎮归幁鎺戝婵炲懏鍔欓弻鐔煎礄閵堝棗顏�
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
报名赢【小米双肩包、contigo水杯】 | TI MSPM0 系列 MCU 再添新成员
了解TI 前沿新品——高性能与高性价比的优秀组合 MSPM0G351x / MSPM0L111x,4月24日(周四)上午10:00直播~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表