找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7581|回复: 13
打印 上一主题 下一主题
收起左侧

吐槽一下STC8G1K17单片机端口设置越来越难,越来越复杂

[复制链接]
跳转到指定楼层
楼主
不得不吐槽一下STC8G1K17,我是初学单片机,但是,同样的程序,同是STC的片子,由STC89C51到STC15W的片子都能正常运行。就是8G1K17不能,端口设置越来越难,越来越复杂。真正是花样越多,问题越多。象例程等待2个空时钟都用了。就是死活不能令12864显示。无奈。唯有换另一封装的片了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:401564 发表于 2021-10-18 18:47 | 只看该作者
STC8G1K17我DIY经常用,如果用不到12位ADC的话,这个单片机可以说是STC里面最能玩的单片机了,几乎是把STC前几代的缺点都改善了
1,内置上拉电阻
2,开机可以不用再高电平启动了
3,内置的参考电压也是很精确统一的,不像STC15系列那么鸡肋
4,下载也不像STC89那样难了
你不能用它让12864显示,只能说明,你当初学12864的时候,代码是复制过来,估计是压根没有认真看过12864的数据手册
回复

使用道具 举报

板凳
ID:965325 发表于 2021-10-18 19:13 | 只看该作者
楼主,这个不能怪单片机呀,随便复制个代码就像完全正常运行,有点偷懒的感觉。

回复

使用道具 举报

地板
ID:965325 发表于 2021-10-18 19:14 | 只看该作者
Y_G_G 发表于 2021-10-18 18:47
STC8G1K17我DIY经常用,如果用不到12位ADC的话,这个单片机可以说是STC里面最能玩的单片机了,几乎是把STC前几 ...

我准备把STC8H3k64-TSOP20当主力芯片用了,主要是有12位ADC。

可惜STC8G1K17的DAC是10位的,否则价格便宜更适合我用。
回复

使用道具 举报

5#
ID:213173 发表于 2021-10-18 20:15 | 只看该作者
89到8G已经隔了好几代了。就像一直用着诺基亚,突然换个苹果13,想打个电话都找不到北。
回复

使用道具 举报

6#
ID:584814 发表于 2021-10-20 20:52 | 只看该作者
吐槽一下现在的手机,从大哥大到诺基亚,哪个没数字按键 ?哪个不讲超长待机 ?
现在个个都搞个大屏,待机不过一天不说,打个电话都不好拔号,差评
回复

使用道具 举报

7#
ID:57657 发表于 2021-10-21 19:58 | 只看该作者
具体请看图里的红字。

回复

使用道具 举报

8#
ID:956872 发表于 2021-10-21 22:45 来自手机 | 只看该作者
npn 发表于 2021-10-21 19:58
具体请看图里的红字。

高阻输入状态是属于低电平吗?还是?
回复

使用道具 举报

9#
ID:401564 发表于 2021-10-21 23:06 | 只看该作者
PEB188 发表于 2021-10-21 22:45
高阻输入状态是属于低电平吗?还是?

高阻一般是作为输入的,少数的情况下,可以作为输出,但一般不这么干的
电流不能流出也不能吸入
可以检测端口电平
可以测量端口电压(如果有ADC又是ADC端口的话)
回复

使用道具 举报

10#
ID:419909 发表于 2021-10-22 08:28 | 只看该作者
PEB188 发表于 2021-10-21 22:45
高阻输入状态是属于低电平吗?还是?

按我使用8G系列的经验。高阻状态一般用于ADC输入。按默认就好。如果在要读ADC。但是端口设置为其它方式。则ADC数据就容易出错。或者误差大。如果没有什么特殊场合。已经养成习惯。加一个port_init();
内容就是把所有端口都设置为标准输入输出。后面再根据实际需要。单独设置某个端口工作方式。
回复

使用道具 举报

11#
ID:965189 发表于 2021-10-22 15:09 | 只看该作者
wfqxgw 发表于 2021-10-22 08:28
按我使用8G系列的经验。高阻状态一般用于ADC输入。按默认就好。如果在要读ADC。但是端口设置为其它方式。 ...

我使用串口驱动12864,端口设置为准I/O口,其实,几种模式都试过,都不成功。同样的程序,在8G1K08都可以显示。因为程序内存不够用,所以想用8G1K17.
回复

使用道具 举报

12#
ID:401564 发表于 2021-10-22 15:41 | 只看该作者
君工创 发表于 2021-10-22 15:09
我使用串口驱动12864,端口设置为准I/O口,其实,几种模式都试过,都不成功。同样的程序,在8G1K08都可以 ...

STC8G1K17和STC8G1K08是同一个系列,只是内存空间不同而已
STC8G1K08能正常运行的程序,到STC8G1K17直接复制就可以的
如果是有问题,那可能是你更改过,或者是STC8G1K08本身能正常运行只是运气好,程序本身就是有问题的
回复

使用道具 举报

13#
ID:624769 发表于 2021-10-22 20:45 | 只看该作者
君工创 发表于 2021-10-22 15:09
我使用串口驱动12864,端口设置为准I/O口,其实,几种模式都试过,都不成功。同样的程序,在8G1K08都可以 ...

STC8G1K08 和 STC8G1K17 总共有三个地方不同。

STC8G1K08 可以在线仿真                   STC8G1K17 不可以。
STC8G1K08 支持USB直接下载             STC8G1K17 不可以。
STC8G1K08 总共有8K存储空间 + 4K Eeprom空间  STC8G1K17 拥有17K存储/Eeprom空间,需要在下载时进行分割,最小可以分割0.5K,如果你程序有IAP操作,但是你Eeprom空间分割太小,可能会出错。
回复

使用道具 举报

14#
ID:972853 发表于 2021-10-22 20:55 | 只看该作者
这个不存在的,12864可以时钟周期到DC,大不了单步执行一个PIN一个PIN的测量也能找到问题所在。楼主的问题应该是不知道底层是如何驱动的也不知道应该如何设置端口,直接拷贝来程序不能用就无从下手了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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