作者easypro ()
看板ASM
标题Re: LCD测试问题
时间Fri Oct 1 09:41:30 2010
※ 引述《maxwellyann (不彦其烦)》之铭言:
sbit RS =P1^1;
sbit RW =P1^0;
sbit Enable =P1^2;
这边是设定为P1 Port了。
: void WriteIns(char instruction)
: {
: RS=0;
: RW=0;
: Enable=1;
: P1=instruction;
^^^^^^^^^^^^^^^
Data还走P1 Port???? 这样不会出来吧。
: Enable=0;
: CheckBusy();
: } /* WriteIns */
: void WriteData(char i)
: {
: RS=1;
: RW=0;
: Enable=1;
: P1=i;
^^^^^
同上面问题
: Enable=0;
: CheckBusy();
: } /* WriteData */
: void WriteString(count,MSG)
: char count;
: char MSG[];
: {
: char i;
: for(i=0;i<count;i++)
: WriteData(MSG[i]);
: } /* WriteString */
: void CheckBusy(void)
: {
: char i=0x80;
: while(i&0x80)
: {
: RS=0;
: RW=1;
: Enable=1;
: i=P1;
^^^^^
检查不到,永远卡死回圈。
: Enable=0;
: delay();
: }
: } /* CheckBusy */
: void delay(void)
: {
: int i;
: for(i=0;i<500;i++)
: ;
: } /* delay */
把RS、Enable、RW都改到P0上面,Data用P1送可以了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.141.250
※ 编辑: easypro 来自: 60.250.141.250 (10/01 09:42)
1F:推 maxwellyann:谢谢你唷~马上来试试!! 10/01 11:52
2F:→ maxwellyann:我将RS RW E 设成P2_0~2,P1不变,可是还是没有反应耶 10/01 13:05
3F:→ maxwellyann:i=P1 你说永远卡死回圈是什麽意思啊?是设P1会卡死嘛? 10/01 13:06
4F:→ maxwellyann:我改成P2还是没有反应捏 = = EA大麻烦你帮我解答 谢! 10/01 13:14
5F:→ easypro:LCM起始位址有设定归位吗? 10/01 17:11
6F:→ easypro:LCM型号? IO是否有先拉至应该设定的状态? 10/01 17:21
7F:→ maxwellyann:好像没有设耶 = = 那要设在哪一段呢? 10/01 22:19
8F:→ maxwellyann:LCM型号:MTC-16101X IO拉至应该设定的位置?甚麽意思? 10/01 22:20
9F:→ maxwellyann:我的IO跟RS RW E都有接才测试,但是都没反应捏= = 10/01 22:23
10F:推 ruemann:你先把你MCU IO和 LCM的IO连接PO一下 这颗没有那麽难搞 10/02 01:15
11F:→ maxwellyann:MCU IO是port1~8(P1.0~7) 10/02 14:01
12F:→ maxwellyann:LCM IO是port7~14(DB0~7)RS RW E是port21~23(P2.0~2) 10/02 14:03
13F:→ maxwellyann:LCM port1.3 Gnd port2 +Vcc 我的硬体连接大致是这样! 10/02 14:04
14F:→ maxwellyann:程式的部分我已经将RS RW E改成P2.0~2.3 LCM一样P1 10/02 14:06
15F:→ maxwellyann:要麻烦你噜 谢谢你 我也不知道为麽不会动作 = ='' 10/02 14:07
16F:→ easypro:LCM有出现一排黑字吗? 10/02 14:18
17F:→ maxwellyann:LCM出现淡淡的黑色,没有字,而且只有八格有黑色 10/02 16:21
18F:→ maxwellyann:而且也有试过,它是接电源就有黑色,烧ㄌ程式没动作! 10/02 16:21
19F:推 WolfLord:P0 的话,你需要PULL HIGH 至少10K 10/02 19:39
20F:→ maxwellyann:PULL HIGH 10K是甚麽意思呀 不太懂捏 请狼哥解释 = =' 10/02 22:16
21F:推 ruemann:你看有没有辨法搞个示波器看一下SPI动作是不是符合规定 10/03 02:20
22F:推 ruemann:在checkbusy里面的RS=0前面加上P1=1看看 10/03 02:48
23F:推 WolfLord:他那个LCM是PIO的不是SPI啦~~ 10/03 07:40
24F:→ maxwellyann:目前手边没硬体可以操作 = = 如果要用示波器测量 10/03 12:01
25F:→ maxwellyann:那麽要如何接啊 不太会操作示波器的说 @@ 10/03 12:02
26F:→ maxwellyann:还有要呈现甚麽波形才算正常呢!? 10/03 12:02
27F:→ maxwellyann:麻烦给予指导 谢谢你们!!! 10/03 12:03
28F:推 ruemann:我上面写错了 是P1=0xFF; 10/03 20:13