找回密码
 立即注册
楼主: 不会书

32G12K128学习记录

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:214
  • 最近打卡:2025-05-11 08:38:48

1

主题

47

回帖

74

积分

注册会员

积分
74
发表于 2024-8-16 18:25:00 | 显示全部楼层
不*** 发表于 2024-8-16 02:30
第八集:蜂鸣器的应用,由蜂鸣器电路图就可以知道将P54设置为低电压时可以使三极管进入饱和导通状态,设置 ...

数码管可以动态刷新,利用人眼的余晖效应,显示不同的值
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-18 23:21:57 | 显示全部楼层
hy*** 发表于 2024-8-16 18:25
数码管可以动态刷新,利用人眼的余晖效应,显示不同的值

噢噢,原来如此{:5_323:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-20 00:28:56 | 显示全部楼层
本帖最后由 不会书 于 2024-8-20 17:50 编辑

之前有点事情耽搁了,今天继续学习
第四天:
第十集:多个数码管的使用,用短暂的延时来达到控制多个数码管,创建一个控制P7的数组,再多创建一个缓存数组来控制指定数码管显示指定的数字。如果打开P40开关的话,再加一个LED数组应该是可以做到同时LED灯组和数码管。
第十一集:定时器的使用,TMOD寄存器可以控制T0和T1,初始化设置时,高位4个位为T1,低位4个位为T0,四个位中第一位,置1时则需用外中断引脚( INT0或 INT1)上的电平与运行控制位TRx共同来控制定时器/计数器运行。
第二位置0时为定时器,置1时为计数器。后两位控制的是T0,T1的工作方式。通过定时器中断可以替代延时函数,防止延时函数阻断函数运行。初始化设置如下图。
第十二集:计数器的使用,初始化设置与定时器相似,多了一步设置打开内部上拉电阻,采用计数器模式,需要在外部引脚T0(P3.4)或T1(P3.5)提供一个能够进行负跳变的设备,比如开关按键。我照着冲哥的视频做了一遍
但是我的代码两秒过后无法重置计数器,在参考视频原代码后发现我的TMOD = 0x40,而参考代码为0x50。在我多次回放后找到在冲哥视频的33分49秒处有一次剪辑,从后TMOD 就 = 0x50了。
问题:为什么0x40变成0x50后又可以重置了呢?我改了一下我的代码,在16位重载模式下T1无法改变[TH1,TL1]的值,并且我发现在重载模式下,即使是在计数器的中断函数中也无法改变[TH1,TL1]的值。而以上在非重载模式下可以改变[TH1,TL1],也就可以重置了,这是为什么?
计数器配置.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-20 00:29:41 | 显示全部楼层
有人帮忙解答一下的吗{:5_335:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-21 23:05:13 | 显示全部楼层
第5天:
第十三集:TIM多任务处理:将前面所学的内容结合在一起,并讲述了如何规范性的编写工程文件,整体模块化标准化,模块统一使用 .c+.h,程序结构更加简介明了,可读性高,更好修改。
第十四集:矩阵按键:通过给给行,列引脚设置高低电压,在按键后会导致按键的行(或者列)的引脚的电压变为低电位,与之前的进行比较找出变化的行(或者列),再次切换与上次相反的电压位,重复上次操作即可确定矩阵按键的列(或者行)。再通过综合性小练习对之前的知识更加巩固。以下为矩阵按键的电路原理图。
思考:理论上8个位可以实现4X4的矩阵按键,2X4矩阵应该浪费了0.4,0.5两个位。矩阵按键软件控制原理非常巧妙。
第十五集:外部中断:在初始化打开外部中断后,外部中断的引脚的电压发生变化(比如下降沿,上升沿时)则会触发中断条件。中断拥有优先级,而外部中断INT0优先级最高,具体优先级参考下图,初始化原理也请参考下图。
思考:外部中断与计数器中断很相似,都是由引脚电压变化控制,计数器无法选择下降沿和上升沿,外部中断没法控制多次次电压变化触发中断,只能变化一次触发一次。
中断列表.png
中断结构图.png
矩阵按键电路原理图.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2025-05-07 18:17:53

13

主题

164

回帖

375

积分

中级会员

积分
375
发表于 2024-8-22 07:38:11 | 显示全部楼层
不*** 发表于 2024-8-16 02:30
第八集:蜂鸣器的应用,由蜂鸣器电路图就可以知道将P54设置为低电压时可以使三极管进入饱和导通状态,设置 ...

蜂鸣器也要接二极管吗,我记得是电感硬件才接吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2025-05-07 18:17:53

13

主题

164

回帖

375

积分

中级会员

积分
375
发表于 2024-8-22 07:44:53 | 显示全部楼层
u16 DATA
好像是因为变量不能放在主函数里
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-22 21:16:19 | 显示全部楼层
阿杰爱*** 发表于 2024-8-22 07:44
u16 DATA
好像是因为变量不能放在主函数里

这样的吗{:5_335:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-22 21:30:43 | 显示全部楼层
阿杰爱*** 发表于 2024-8-22 07:38
蜂鸣器也要接二极管吗,我记得是电感硬件才接吧

蜂鸣器属于感性元器件,关闭时,蜂鸣器里面的电流不能突然降为0,在突然关闭时会产生反相的电压,这时电流就需要有一个泄放路径,二极管就充当这个泄放路径。而蜂鸣器为什么要使用三极管驱动是因为蜂鸣器的电流有10mA左右,IO的驱动能力不够,所以一般蜂鸣器都是通过三极管驱动的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:26
  • 最近打卡:2024-11-18 21:31:21

1

主题

16

回帖

157

积分

注册会员

积分
157
发表于 2024-8-22 23:12:52 | 显示全部楼层
第十六集:IO中断:首先设置IO口的中断模式PXIM0,PXIM1(X=0-7)。端口配置模式和具体端口模式配置寄存器请参考下图。
再打开端口中断使能,寄存器为PxINTE,0为关闭中断,1为打开,具体请参考下图。
以上完成即完成端口中断的初始化。
使用中断函数时,keil5对于c51,c52最多只有32个中断号,想要使用超过31的中断号,可以借助中断号13(闲置的中断号),在STC官网的工具软件里有可以增加keil软件端口数的扩展软件。
然后就是中断函数内部记得执行完后清空标志位让PXINTF = 0;(X = 0-7);
最后就是给定时器设置优先级,具体请参考下图。
这个中断优先级设置我感觉有点没弄明白
IO口端口配置.png
端口中断使能寄存器.png
中断优先级控制.png
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-11 19:28 , Processed in 0.151237 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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