找回密码
 立即注册
楼主: weiweigao2023

STC8H8K64U开天斧三.1核心板学习交流日记 | 再送个STC32的实验箱

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-8 22:22:40 | 显示全部楼层
本帖最后由 weiweigao2023 于 2023-5-8 22:49 编辑

1.5利用移位运算符,在P2口实现二进制流水灯试验。

1.准备工作:
        硬件(开天斧三.1核心板+USBtypeC数据线)。
        软件(Keil51编程软件+(程序烧录工具stc-isp-15xx-v6.91N)
2.先弄清楚:P2口的I/O口二进制低位和高位对应关系。(很重要)


3.流水灯现象描述:
1.png

4.程序里用到的移位运算符(左移:<<;右移:>>。)
2.png

5.程序里用到for循环语句,使P2口的灯,自左向右,逐个点亮,再逐个熄灭。
3.png

6.程序里用到延时程序(1秒),可以由STC-ISP程序软件工具自动生成。(方法详见1.3点灯编程和试验。
7.程序打包放在(附件里),程序下载方法,看(1.2编程软件环境设置步骤)。
8.核心程序截图和试验效果如下:
1.png 2.png








二进制流水灯效果.mp4

789.24 KB, 下载次数: 131

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-17 17:37:18

4

主题

94

回帖

511

积分

高级会员

积分
511
发表于 2023-5-9 09:16:28 | 显示全部楼层
weiweigao2023您好!STC8H8G的 EAXFR=1 访问特殊寄存器使能,编译出错,怎样操作?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-9 15:48:19 | 显示全部楼层
sdwf*** 发表于 2023-5-9 09:16
weiweigao2023您好!STC8H8G的 EAXFR=1 访问特殊寄存器使能,编译出错,怎样操作? ...

EAXFR=1, 访问外部设备时置1,接的外部设备是什么?能说具体一点吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-17 17:37:18

4

主题

94

回帖

511

积分

高级会员

积分
511
发表于 2023-5-9 16:58:06 | 显示全部楼层
没有接外部设备,当用到特殊寄存器时就需要将EAXFR=1,STC32没问题,STC8H编译就会出错。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-9 21:47:36 | 显示全部楼层
sdwf*** 发表于 2023-5-9 16:58
没有接外部设备,当用到特殊寄存器时就需要将EAXFR=1,STC32没问题,STC8H编译就会出错。 ...

1.png

P_SW2寄存器的最高位EAXFR 是扩展SFR访问控制使能
如下特殊功能寄存器位于扩展 RAM 区域 访问这些寄存器,需先将 P_SW2 的 BIT7(EAXFR) 设置为 1,才可正常读写。

2.png

如果还是不行,您打下面技术电话问一下:
3.png




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-9 23:34:47 | 显示全部楼层
1.6 按键控制灯的几种方式

1.png 2.png 3.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-17 17:37:18

4

主题

94

回帖

511

积分

高级会员

积分
511
发表于 2023-5-10 09:43:03 | 显示全部楼层
本帖最后由 sdwflzg 于 2023-5-10 09:45 编辑
weiweig*** 发表于 2023-5-9 21:47
P_SW2寄存器的最高位EAXFR 是扩展SFR访问控制使能
如下特殊功能寄存器位于扩展 RAM 区域 访问这些寄存 ...

非常感谢
P_SW2 |= 0x80;
这样就可以了

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-10 22:40:56 | 显示全部楼层
1.7按键消抖的两种方法:机械消抖和软件延时消抖。

(1)为什么要进行按键消抖?
     因为按键在按下和松开的瞬间,会产生抖动;且单片机的运行速度非常快,所以IO口会检测到多个高低电平,导致程序不能正常执行。所以在使用按键时,要考虑消除按键抖动对程序的影响。
1.png
(2)按键消抖的方法?
  机械消抖:用可靠的动作灵活的按键,在按键的两侧并联一个电容,利用电容储能削峰的特性,减少按键抖动对程序的影响。(适合少量按键消抖,麻烦,成本高)
2.png
软件延时消抖:一般按键按下或者松开的时间在5-10ms,所以,在设计程序时,对按键按下到稳定的时间,做一个延时等待时间(约10ms)。(适合多个按键消抖,简单实用。)
(3)软件延时消抖 程序举例;
if(key_S6==0)        //如果检测到按键按下。
{
  delay 10ms();       //延时10毫秒
    if (key_S6==0)    //再次检测按键是否按下?
     {
      ********       //按键按下需要执行内容。
      while(!key_S6); //松手检测,如果按键未松开,程序停在此处等待。
     }
}  


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-11 11:39:07

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-10 22:51:46 | 显示全部楼层
本帖最后由 weiweigao2023 于 2023-5-10 22:58 编辑

1.8 用按键控制P2口的跑马灯

实践编程案例:用板子上的S6按键,控制P2口的跑马灯。
(1)程序描述:当S6按键每按下1次,P2口上的灯,自右向左,交替亮灭,至最左侧时,再自左向右,交替亮灭,到最右侧时,再循环往复。
(2)跑马灯现象分析:
1.png
(3)核心程序截图:
2.png 3.png 4.png 5.png 6.png
(4)板子视频效果展示,如下:

按键控制P2口的跑马灯.mp4

7.13 MB, 下载次数: 135

按键跑马灯

8.按键控制跑马灯灯.rar

113.74 KB, 下载次数: 135

程序打包

回复 支持 反对

使用道具 举报 送花

0

主题

2

回帖

6

积分

新手上路

积分
6
发表于 2023-5-11 08:50:23 | 显示全部楼层
绝对保姆级教程!
回复 支持 1 反对 0

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:35 , Processed in 0.127388 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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