|
作为一块开发板集成了太多的功能,所以不同的模块会共用引脚,短接片连上右边的点阵就不会亮了。 位选控制了数码管亮的位,并没有控制数码管的八个管脚具体如何亮,你虽然命名了duansmg,但发送的实际上是位选信号。 |
| 你可以先查看下开发板原理图看下是不是因为开发板的硬件设计把数码管和点阵的驱动引脚相连了,再有就是对于数码管的断选和位选你再好好看下,估计你看完断选和位选你就知道怎么单独控制一个数码管发光了 |
| sbit LSA=P2^2; sbit k1=P3^1; #define LSA P2 定义重复了把。。 |
| 数码管的显示要采取动态显示方式,即在20ms时间内要依次点亮各位数码管一次,并按此方法不间断依次点亮,才可以整体显示出来,你的程序只用P0=smgduan[6];一条语句点亮了默认的一位,建议你去看一下动态显示原理再编写程序试验! |
| 这种开发板带的戴南镇和数码管是连在一起的,你如果不想让他们俩同时点亮就需要把74HC595模块上的JP595短接片拔掉。至于程序问题是出在你的主程序里边,而且你的数码管位定义不完整 |
|
这个板子的点阵端和数码管是连在一起的所以点阵那边也会亮 应该有短接片让点阵那边不再亮 然后是你的问题——你让LSA取反完全没有改变数码管的显示啊 只是让原先的管脚电平改变了,因为这个管脚是与数码管位置有关的管脚 所以这个管脚电平的改变会导致数码管显示位置的改变 |
| 删除#define LSA P2试看 |
| 我在遇到类似的问题时,都是看看那个宝上哪家在销售同样的板子,然后找客服直接咨询,通常都能解决问题。 |
| 如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。 |
| 你不是已经让数码管显示“6”了吗?不知道你想怎么控制,你查一下原理图看看位选引脚是哪个,LSA既位定义又宏定义,不知道你想干嘛 |
问题解决了吗 我也想知道 是为什么![]() |