梁工
发表于 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;)的话就没有意义了,我的想法就是想用数组中的一个来代替这个数据 ...
可以参考我的例子,先操作显存,再传给寄存器。