找回密码
 立即注册
楼主: 大锤子

STC8H试验箱例程使用VSCode+SDCC+Platformio使用库函数实现

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-05-02 11:38:17

44

主题

230

回帖

2845

积分

金牌会员

积分
2845
发表于 2024-5-4 16:54:59 | 显示全部楼层
试验箱,例程17:

显示效果为: 数码时钟.

使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下,用户修改MCU主时钟频率时,自动定时于1ms.
左边4位LED显示时间(小时,分钟), 右边最后两位显示按键值.
ADC按键键码为1~16.
按键只支持单键按下, 不支持多键同时按下, 那样将会有不可预知的结果.
键按下超过1秒后,将以10键/秒的速度提供重键输出. 用户只需要检测KeyCode是否非0来判断键是否按下.
调整时间键:
键码1: 小时+.
键码2: 小时-.
键码3: 分钟+.
键码4: 分钟-.


注意事项,如果是最近安 intel_mcs51 平台的,因为最新版本使用了最新的sdcc,但是最新的sdcc在windows下似乎有些问题,需要指定使用老版本的,具体工程配置文件可以参考:
  1. [env:STC8H8K64U]
  2. platform = intel_mcs51@2.1.0  ; 这里指定平台的版本,使用老的sdcc
  3. board = STC8H8K64U
  4. board_build.f_cpu = 24000000L
  5. lib_deps = https://gitee.com/dchuizi/stc8-g-h-lib.git   // 这里是使用的库,也可以使用pio的仓库,但是我还没有上传
复制代码


效果演示:




不争是争
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-05-02 11:38:17

44

主题

230

回帖

2845

积分

金牌会员

积分
2845
发表于 2024-5-4 17:05:08 | 显示全部楼层
更新库函数ADC,

使用例程17,ADC按键检测验证。

需要特别注意,编译的时候出错了,具体原因还没有找到。大概是跟sdcc的最新版本有关系。sdcc的版本是通过pio的平台配置的,因此切换到老版本的平台就可以了。

工程配置文件:
  1. [env:STC8H8K64U]
  2. platform = intel_mcs51@2.1.0
  3. board = STC8H8K64U
  4. board_build.f_cpu = 24000000L
  5. lib_deps = https://gitee.com/dchuizi/stc8-g-h-lib.git
复制代码


效果演示:


不争是争
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:04 , Processed in 0.822375 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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