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

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

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

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-7 18:24:36 | 显示全部楼层
本帖最后由 weiweigao2023 于 2023-5-7 21:19 编辑

1.4利用循环左移和循环右移指令,在P2口实现二进制跑马灯试验
感谢大家的支持!CDC串口不停电下载的问题,先搁置一下。
今天分享一个利用二进制和循环左移、循环右移指令,在P2口实现二进制跑马灯的试验。
1.准备工作:
        硬件(开天斧三.1核心板+USBtypeC数据线)。
        软件(Keil51编程软件+(程序烧录工具stc-isp-15xx-v6.91N)
2.先弄清楚:P2口的I/O口二进制低位和高位对应关系。(很重要)
1.png

3.跑马灯现象分析:
2.png

4.程序里用到循环移位指令(循环左移:_crol_;循环右移:_cror_
3.png

5.程序里用到的for循环语句,使P2口的灯,每隔1秒,向左或右,依次亮灭。
4.png
6.程序里用到延时程序(1秒),可以由STC-ISP程序软件工具自动生成。(方法详见1.3点灯编程和试验。
7.程序打包放在(附件里),程序下载方法和视频效果,看(1.2编程软件环境设置步骤)。
8.核心程序截图如下:
1.png 2.png






4.二进制跑马灯.rar

51.41 KB, 下载次数: 177

二进制跑马灯

回复

使用道具 举报 送花

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

2

主题

28

回帖

162

积分

注册会员

积分
162
发表于 2023-5-7 18:39:50 | 显示全部楼层
STC爱好者 发表于 2023-5-5 16:34
感谢楼主的STC8H8K64U学习经验分享,又一保姆级教程,Mark一下,跟着大佬一起学习起来 ...

感谢您的支持!我可不是大佬,我也是正在学习STC核心板的初学者。
发帖是为了记录自己的学习过程,和大家一起互相交流学习。
欢迎以后多发帖,多交流,一起进步,支持国芯。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数: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, 下载次数: 195

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数: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); //松手检测,如果按键未松开,程序停在此处等待。
     }
}  


回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-16 06:15 , Processed in 0.132434 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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