188610329 发表于 2022-10-25 01:36 感谢大师指点!已经完全正常了。 |
P_SW2 |= 0x80; //这个最好放在 void main() 的第一句, 开了就不用关了。 P3PU =0xc0; |
ningsy 发表于 2022-10-24 11:21 STC8系列 有个 PnUP 寄存器 可以开启 内部的 4.7K 上拉,你不需要外接上拉电阻, 只要 开漏模式 + 内部上拉,就可以驱动 TM1650, 有些知识,随着使用的单片机进化,要跟着进化。 进入STC8 系列时代,如果不是对功耗有特别的需要,尽可能的用 开漏+内部上拉 取代 准双向模式。 |
lkc8210 发表于 2022-10-24 09:48 多谢高手指点!经测试完全可行。手头没有4.7K电阻,只有10K的。设为准双向口模式,加一个仍旧黑屏,并两个点亮,电压2.2V;并三个电压2.49V。单片机电流也降了几个mA。 那为何STC8G1K08 系列准双向口模式可以点亮呢?难道是由于制造误差,处在临界值上了? |
ningsy 发表于 2022-10-24 09:23 准双向模式的拉電流只有270~150uA 拉不動1650,要加上拉電阻(通常是4.7k) ![]() |
188610329 发表于 2022-10-9 11:38 多谢大佬指导!您说的这些我还没学到,有点晕 ![]() |
ningsy 发表于 2022-10-8 14:38 tm1650的代码其实很少,你觉得多,因为你用的89c52,就好比如果你没有硬件串口,要软件模拟串口,你也会觉得代码繁琐,其实说白了,大多网上传的所谓的“通用库”大多都是不利用硬件资源的,就好比ds1302,网上你能找到的范例都是用io直接驱动的,但是,如果用半双工spi直接驱动,或者串口直接驱动,代码就会简单很多。tm1650也一样,硬件驱动,代码会少很多。 |
IO可以直接控制的,但是四位数码管驱动代码还是比较冗长的,所以更换一下硬件选择,这样代码也可以变得更加简洁 |
Y_G_G 发表于 2022-10-8 10:10 有道理,1650的代码实在有些多,不好理解。 |
如果条件允许,最好是IO直接控制,有强推挽模式的就串联,没有这个模式的就上拉 在实际项目中,是完全可以用IO直接驱动的 245和138都是多余的 这是最优先选择的方案,首先是程序简单,对于不是很精通编程的人来说,代码简单易懂比很多东西都重要 最怕就是出了问题,你找半天都不知道是你自己的代码有问题还是别人的驱动代码有问题 但TM1650之类的外围你是肯定要学会使用的,毕竟,TM1650的优点就摆在那,当你的PCB是主控和显示是分离的,它的好处就显现了,IO直接驱动要12根线..... |
TM1650确实好用,又便宜又省引脚。IIC驱动到处都有例程能用,自己刷新还不用占用程序时间 |
188610329 发表于 2022-10-6 15:58 感谢大佬指导!我已经准备使用TM1650了,只是这两天商家放假,发货很慢,还没收到。 至于STC32,我今天实在忍不住下单买了一个,心想早晚要用上的吧(以后接12864或TFT屏)。如果看到您的建议,我可能会同时入一个STC8,不过没关系,我再买一次就是了。 |
ningsy 发表于 2022-10-2 21:07 确实,IO空着不用也是浪费, 但是,提议 TM1650 是基于,你打算用 HC24+ HC138 的前提下,建议你用 TM1650 更经济,以及更方便。 如果要 IO 直接驱动, 自然是可以的,但是动态扫描这个工作,负担会加在 MCU上,同时,还牵涉到 限流电阻等等的额外电路。这就要考虑“必要性”的问题了。毕竟成本来讲 TM1650 实在是太便宜了……,便宜到,我觉得 限流电阻太贵了。 最后,看你打算用 STC32, 虽然STC32本身不错,但是,基于你 单片机基础还薄弱,不建议 步子一下子迈那么大, 先STC8 系列 过渡一下,可能会更好。 以上,纯属个人建议。 |
ningsy 发表于 2022-10-4 11:40 完全可行啊,烧录口后期当通讯口用,随时想升级就升级. STC32了解过还没有买回来体验,后期好的话共享下体验,谢谢! |
qq603599910 发表于 2022-10-3 20:37 您说的有道理,我用的89C52内存8K已经快满了!还有很多功能没有加。这几天在重新选MCU,想一步到位换成STC32G12K128 DIP40,价格便宜量又足。 再请教一下:我这是个蠕动泵控制器,原理也不复杂,准备做基础版(数码管显示),高级版(12864及TFT显示),其实功能一样的,就是操作体验不同,颜值不一样。想做成向下兼容的,用同一块板子同一款U同时留出数码管和显示屏接口,烧写不同的软件,能否可行? 还有我感觉基础版用STC32G12K128+数码管,U的性能可能过剩了,有啥影响么? |
mengsiu 发表于 2022-10-3 15:18 非常感谢您的驱动代码!器件到了试一下 |
使用1650 IIC通信 |
ningsy 发表于 2022-10-2 21:07 看MCU还要什么功能,用多少PIN,基本都是STC15或者STC8系列,89系列已经很老很少用在产品上了.关于显示驱动我也偏向于用TM1650专业芯片,我用TM1650还几年没有给我惹过祸,升级固件和换硬件都不用管那一块,根本不用考虑显示时基和刷新率. |
TM1650驱动,使用51单片机。
|
ningsy 发表于 2022-10-3 11:10 TM1650用的地方很多,很可能你拆一个电磁炉的控制板就是用的TM1650 |
lwq1947 发表于 2022-10-3 07:00 这个应该要整体考虑程序、单片机、数码管的选型匹配吧!我这方面的功力还不够,客户端的环境和用户习惯千差万别,如果一旦客户抱怨(我能想到的:比如亮度不够,抗干扰不行等等)就很麻烦了。 |
npn 发表于 2022-10-2 21:52 总是看到“强推挽”这种用法,一直没弄明白具体怎么用,原来是我的STC89C52不支持啊 |
xianfajushi 发表于 2022-10-2 20:53 有道理,还没怎么想过驱动电流这个问题。 |
设计学习(开发)板的目的是让初学者用有限的资源学习掌握更多的外围硬件操控。但就某一项功能而言,学习板上的硬件配置未必是最佳。MCU的IO口输出能力毕竟有限,直接驱动数码管等其它功耗器件有点不堪重负,74H245、74HC138等外围IC既可以提高驱动力,又可以扩展应用范围。仿真只要逻辑正确基本都能成功。与实际电路还是有较大差距。做实际项目首先要考虑安全、可靠。玩具、民用、工控及医疗电器的行业安全标准不同,设计方案选择有所区别。高规格产品还要考虑冗余、抗扰、容错。单就怎么合理驱动4位数码管而言,使用专用集成电路TM1650的方案较佳,还能附加16个按键。当然MCU直接驱动数码管,只要在设计、选材和软件上用点心也完全可能。 |
ningsy 发表于 2022-10-2 21:07 最简单低成本就用公阴4位数码管和一只1K排阻就能驱动,因为现在的数码管都是高亮的2,3毫安就很亮了。 |
IO口配置为强推挽即可直接驱动 (STC89、90除外) |
188610329 发表于 2022-10-2 18:21 是啊,还带按键处理功能,还能调亮度的 |
188610329 发表于 2022-10-2 18:21 感谢指点,我这就去查资料。 我本来想89C52的IO这么多,用不上也得闲着,现在看来可以再找款IO少的MCU了。 |
硬件基础差了点,正确应该查单片机IO驱动电流,看描述未触及问题根本。 |
用tm1650吧,两个io就可以了。限流电阻都省了。 |