大锤子 发表于 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下似乎有些问题,需要指定使用老版本的,具体工程配置文件可以参考:

platform = intel_mcs51@2.1.0; 这里指定平台的版本,使用老的sdcc
board = STC8H8K64U
board_build.f_cpu = 24000000L
lib_deps = https://gitee.com/dchuizi/stc8-g-h-lib.git   // 这里是使用的库,也可以使用pio的仓库,但是我还没有上传

效果演示:
133



大锤子 发表于 2024-5-4 17:05:08

更新库函数ADC,

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

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

工程配置文件:

platform = intel_mcs51@2.1.0
board = STC8H8K64U
board_build.f_cpu = 24000000L
lib_deps = https://gitee.com/dchuizi/stc8-g-h-lib.git

效果演示:
134

页: 1 [2]
查看完整版本: STC8H试验箱例程使用VSCode+SDCC+Platformio使用库函数实现