amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 594|回复: 13

请问支持强推挽的STC窄体单片机有哪些型号?想直接点数...

[复制链接]
发表于 2019-4-25 11:00:09 | 显示全部楼层 |阅读模式
可能这个问题问得不专业,小白问路一下。想直接点数码管,类似于杜洋老师的那种手工实验。。。。。。
发表于 2019-4-26 09:15:16 | 显示全部楼层
STC的单片机不管窄体宽体都支持强推挽吧,但IO口输出总电流有限制,动态扫描方式点电数码管没问题。
发表于 2019-4-26 09:34:55 | 显示全部楼层
数码管也可以用普通IO点啊  你可以 开启一个 GRID  依次刷掉8个SEG啊位数不宜太多       不一定非要开一个GRID一次刷8个SEG      过多的位数就用专门的数码管驱动去刷  
发表于 2019-4-26 22:58:28 | 显示全部楼层
一个TM1620才1块多点,可以驱动6位数码管,如果量大可能更加便宜,只需要用三线制的SPI接口就可以了,为什么要直接用I/O驱动?这样CPU的开销大,对端口的损伤也比较大。
发表于 2019-4-27 01:21:11 | 显示全部楼层
wxdn 发表于 2019-4-26 22:58
一个TM1620才1块多点,可以驱动6位数码管,如果量大可能更加便宜,只需要用三线制的SPI接口就可以了,为什 ...

上电有冲击,造成瞬间有电压跌落现象,单片机重启,特殊行业处理很麻烦。
发表于 2019-4-27 01:32:14 | 显示全部楼层
jqfsjt 发表于 2019-4-27 01:21
上电有冲击,造成瞬间有电压跌落现象,单片机重启,特殊行业处理很麻烦。 ...

你可以上电后延迟一会,再启动数码管驱动芯片啊。
发表于 2019-4-27 01:34:28 | 显示全部楼层
wxdn 发表于 2019-4-27 01:32
你可以上电后延迟一会,再启动数码管驱动芯片啊。

都一样,由于TM系列片子没有限流电阻,所以冲击大。我设置为亮度最低还是不行,只有增加限流电阻。
发表于 2019-4-27 01:45:53 | 显示全部楼层
jqfsjt 发表于 2019-4-27 01:34
都一样,由于TM系列片子没有限流电阻,所以冲击大。我设置为亮度最低还是不行,只有增加限流电阻。 ...

可能是你的电源电路比较敏感了,这个片子我用在工控行业,在产品里已经运行了几年,没有发现有这个问题的。
发表于 2019-4-27 12:01:38 | 显示全部楼层
只能说 xx003 这类便宜的mcu不出  MSOP-10超小封装的,可惜了
发表于 2019-4-27 13:54:26 | 显示全部楼层
去STC网站不就知道了,现在主推STC8系列。
发表于 2019-4-29 08:32:13 | 显示全部楼层
15系列 8系列都支持啊
 楼主| 发表于 2019-4-29 20:46:31 | 显示全部楼层
KongQuan 发表于 2019-4-27 13:54
去STC网站不就知道了,现在主推STC8系列。

#define LH_P0M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P0M0SET                0xd3 //设置I/O口工作方式//11010011(PxM0为1时设置为强推)
#define LH_P1M1SET                0x00 //设置I/O口工作方式//00000000(左到右,高到低位)
#define LH_P1M0SET                0x28 //设置I/O口工作方式//00101000
#define LH_P2M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P2M0SET                0x5C //设置I/O口工作方式//01011100
#define LH_P3M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P3M0SET                0x94 //设置I/O口工作方式//10010100
#define LH_P4M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P4M0SET                0xe0 //设置I/O口工作方式//11100000

这是一段强推挽的程序片断,我想问一下,上述设置把哪些口置为强推挽了?有何依据?
 楼主| 发表于 2019-4-29 21:21:17 | 显示全部楼层
tjx0512 发表于 2019-4-29 08:32
15系列 8系列都支持啊

QQ截图20190429211311.png

是想这样子搞个连续汉字输出小屏玩玩,练练代码。。。。。。

用到了P1.1-1.7 P4.7 P3.0-3.7 P 0.0-0.7 P4.6 4.5 4.4 P2.7-2.3,请问如何推挽初始化?
 楼主| 发表于 2019-4-30 09:47:53 | 显示全部楼层
问题解决,P出修改代码,感谢大家关注。

/*
#define LH_P0M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P0M0SET                0xd3 //设置I/O口工作方式//11010011(PxM0为1时设置为强推)
#define LH_P1M1SET                0x00 //设置I/O口工作方式//00000000(左到右,高到低位)
#define LH_P1M0SET                0x28 //设置I/O口工作方式//00101000
#define LH_P2M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P2M0SET                0x5C //设置I/O口工作方式//01011100
#define LH_P3M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P3M0SET                0x94 //设置I/O口工作方式//10010100
#define LH_P4M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P4M0SET                0xe0 //设置I/O口工作方式//11100000
//*/
#define LH_P0M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P0M0SET                0x94 //设置I/O口工作方式//11010011(PxM0为1时设置为强推)
#define LH_P1M1SET                0x00 //设置I/O口工作方式//00000000(左到右,高到低位)
#define LH_P1M0SET                0xa6 //设置I/O口工作方式//00101000
#define LH_P2M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P2M0SET                0x48 //设置I/O口工作方式//01011100
#define LH_P3M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P3M0SET                0xd3 //设置I/O口工作方式//10010100
#define LH_P4M1SET                0x00 //设置I/O口工作方式//00000000
#define LH_P4M0SET                0x90 //设置I/O口工作方式//11100000
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-7-21 19:50

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表