梁工 发表于 2024-8-3 12:32:31

fsy 发表于 2024-8-3 11:17
谢谢梁工。单片机图上晶振未用,用的内部晶振。看手册这款芯片有A版,B版,不知实际用的是A版还是B版?

...

液晶屏电路不全,看不出来。

fsy 发表于 2024-8-3 13:13:51

梁工 发表于 2024-8-3 12:32
液晶屏电路不全,看不出来。



梁工,这是全部的原理图。麻烦您看看。

fsy 发表于 2024-8-3 13:21:58

梁工 发表于 2024-8-3 12:32
液晶屏电路不全,看不出来。


fsy 发表于 2024-8-3 13:32:12

梁工 发表于 2024-8-3 12:32
液晶屏电路不全,看不出来。

实际具体到印刷板的走线应该存在一些问题,但原理性的连接我自己还没有发现什么问题,梁工及用过这款48脚芯片的坛友帮看看,谢谢。

fsy 发表于 2024-8-4 10:40:39

梁工 发表于 2024-8-3 12:32
液晶屏电路不全,看不出来。

谢谢梁工,原因基本上找到了。还是对这芯片了解不深,这一句没有加:
P_SW2 |= 0x80;   唉,两天时间。

梁工 发表于 2024-8-4 10:51:25

fsy 发表于 2024-8-4 10:40
谢谢梁工,原因基本上找到了。还是对这芯片了解不深,这一句没有加:
P_SW2 |= 0x80;   唉,两天时间 ...

{:lol:}我都没留意到,以为你在程序开头有了这句。

fsy 发表于 2024-8-8 11:04:28

梁工 发表于 2024-8-4 10:51
我都没留意到,以为你在程序开头有了这句。

梁工,麻烦再请教一个问题。
C0SEGV2 |= R_data_sw; 这一句是正确的,但我想将 C0SEGV2 传到一个数组中即
R_add_sw = C0SEGV2;然后再执行这一句R_add_sw|= R_data_sw;想象中应该和第一句是同样效果, 但实际证明是不行的,这个应该怎么写才能用一个数组将 C0SEGV2 传到C0SEGV2 |= R_data_sw这一句的 C0SEGV2 位置上去?谢谢。

梁工 发表于 2024-8-8 16:32:35

fsy 发表于 2024-8-8 11:04
梁工,麻烦再请教一个问题。
C0SEGV2 |= R_data_sw; 这一句是正确的,但我想将 C0SEGV2 传到一个数组 ...

下面的操作应该是可以的:
R_add_sw = C0SEGV2;
R_add_sw |= R_data_sw;
C0SEGV2 = R_add_sw;

不过我一般是先显存(数组)操作,再送寄存器,正如我的例子中那样。

fsy 发表于 2024-8-8 17:33:53

梁工 发表于 2024-8-8 16:32
下面的操作应该是可以的:
R_add_sw = C0SEGV2;
R_add_sw |= R_data_sw;


如果要第三句 (C0SEGV2 = R_add_sw;)的话就没有意义了,我的想法就是想用数组中的一个来代替这个数据寄存器C0SEGV2 ,用数组中的另外的代替另外的数据寄存器。因为第一句(R_add_sw = C0SEGV2;)我的理解就是已经将 C0SEGV2送入到了R_add_sw中,那么R_add_sw |= R_data_sw不是就等于C0SEGV2 |= R_data_sw这一句了吗?实际不对,就是没有搞懂为什么不行?可以有什么方法来代替这个C0SEGV2,便于编程?

梁工 发表于 2024-8-8 22:04:57

fsy 发表于 2024-8-8 17:33
如果要第三句 (C0SEGV2 = R_add_sw;)的话就没有意义了,我的想法就是想用数组中的一个来代替这个数据 ...

可以参考我的例子,先操作显存,再传给寄存器。
页: 1 2 [3] 4
查看完整版本: 8H4K64TLCD驱动段码LCD的寄存器咨询