- 博客(16)
- 收藏
- 关注
原创 MATLAB 1.3:MATLAB语言的流程结构
目录一、循环结构1. for 循环2. while 循环3. 循环嵌套二、条件转移结构三、开关结构四、试探结构五、结构示意图 例1:用循环结构求解 1+2+3+...+99+100。 例2:求解级数求和问题 。 扩展:sum 函数是一个非常有用的内置函数,用于计算矩阵或数组中所有元素的总和或者沿着指定轴的总和。 ① 例1求和可以直接使用“sum(1:100)”进行求解 ② 在MATLAB程序中,循环结构的执行速度较慢。所以在实际编程时,
2024-02-18 12:14:39 1252 1
原创 MATLAB 1.1:程序设计语言基础
目录一、变量与常量1. 常量2. 变量二、数据结构1. 数值型数据 (1)整数型 (2)浮点数型 (3)复数型 (4)Inf 和 NaN2. 符号型数据3. 其它数据结构三、基本语句结构1. 直接赋值语句2. 函数调用语句四、冒号表达式五、子矩阵提取 常量是程序语句中值不会改变的那些量。如:表达式 y=3.1415*x 中的系数 3.1415 就是一个数值常量;表达式 s='Name and Tel' 中单引号内的英文字符串是一个字符串常量。 在 MATLAB 语言中还为
2024-01-30 19:43:19 1046 1
原创 MATLAB :向量、矩阵、数组、数据类型
sz的格式是包含两个元素的向量,即[m , n],表示一个 m 行 n 列的矩阵。an是向量尾元素的幂,即A(n)为10的an次幂,n是向量的维数。若S矩阵是稀疏的,而Y矩阵是全元素的,则不管I、J 是标量还是向量,右引用 Y=S(I,J) 都生成稀疏矩阵,左引用 S(I,J)=Y 都生成满矩阵。如果A和B为矩阵或多维数组,则它们必须具有相同大小,此时cross函数将A和B视为三元素向量集合,计算对应向量沿大小等于3的第一个数组维度的叉积。a1是向量的首元素,an是向量的尾元素,n表示向量中元素的个数。
2023-10-29 23:07:26 2676 1
原创 51单片机(十一):蜂鸣器
在蜂鸣器电路中,蜂鸣器电流通常相对较大,这就意味着直接将蜂鸣器连接到单片机的输出引脚可能会超过设备的最大驱动能力,从而导致单片机的输出引脚过载,因此可能会导致设备损坏或者蜂鸣器无法正常工作。用蜂鸣器来输出音乐,仅仅是好玩而已,应用很少,里面包含了音阶、乐谱的相关内容,只做简单的了解即可。通过学习上面的内容我们知道,声音的高低对应不同的震动频率,即不同的音符对应不同的输入信号频率,我们可以。,能将恒定的直流电转化为一定频率的脉冲信号,从而实现磁场交变,带动蜂鸣器振动发音。音调指声音的高低,即声音的振动频率)
2023-10-11 22:16:23 4393 1
原创 51单片机(十):定时器&中断的应用
但是由于定时器工作模式寄存器TMOD是不允许位寻址的,所以虽然Timer1的工作模式没有被改变,但是它的工作模式是被重新定义过的。”语句可以实现50ms定时,如果想要实现1s的定时,可以通过1s=50ms×20,即添加“循环”的方法进行实现。(可以将上述代码中的变量k定义为unsigned int类型,并将while(k
2023-10-06 18:11:59 3133 1
原创 51单片机(九):中断
比如说有多个中断同时发生了,当然实际上发生这种情况的概率很低,但另外一种情况就常见得多了,那就是出于某种原因暂时关闭了总中断,即EA=0,执行完一段代码后又重新使能了总中断,即 EA=1,那么在这段时间里就很可能有多个中断都发生了,但因为总中断是关闭的,所以它们当时都得不到响应,而当总中断再次使能后,它们就会在同一时间请求响应,很明显,这时也必需有个先后顺序才行,这就是非抢占优先级的作用,谁优先级最高先响应谁,然后按编号排队,依次得到响应。EA=1,CPU开放中断,各中断的产生由各自的允许位决定。
2023-09-16 15:01:16 4071 1
原创 51单片机(八):定时/计数器
当GATE位为1时,定时器的启动受外部引脚的控制,用指令使TCON中的TR1(TR0)置1的同时,只有当外部中断INT1(INT0)引脚输入高电平时,才能启动相应的定时器1(定时器0)。定时器内部有一个寄存器,让它开始计数后,这个寄存器的值每经过一个机器周期就会自动加1,因此,可以把机器周期理解为定时器的计数周期。例如16位的定时器,也就是两个字节,最大值就是65535,那么加到65535后,再加1就算溢出,如果有其他位数,道理是一样的,对于51单片机来说,溢出后,这个值会直接变成0。
2023-09-13 18:08:11 1494 3
原创 51单片机(七):RAM分布&数据类型
在“工作寄存器区”上方是16个字节(128位)的“位寻址区”,位寻址区在C51单片机的RAM中占据了一部分地址空间,通常是从0x20到0x2F的地址范围。偏移量是一个固定的值,通常是2的指数幂减1。尾数位的值可以是任意的,但是在规范化表示中,尾数位的最高位总是1,因此可以被省略。尾数位的长度取决于浮点数的精度,对于单精度浮点数,尾数位长度为23位,对于双精度浮点数,尾数位长度为52位。这些特殊功能寄存器在C51微控制器中起着关键的作用,通过对这些寄存器的配置和操作,可以实现对微控制器各种功能的控制和配置。
2023-09-09 21:26:32 2720 2
原创 51单片机(六):矩阵键盘的扫描
在行扫描中,逐行检测按键状态,而在列扫描中,逐列检测按键状态。在逐行逐列扫描方法中,键盘的按键布局被组织成多行和多列的矩阵。按键是接到P2口上,P2口上电默认是准双向 I / O 口,下面来简单了解一下准双向 I / O 口的电路,电路如上图所示。在某一个系统设计中,当需要使用很多按键时,做成独立按键会大量占用I / O口,因此引入了矩阵按键的设计。函数体中计算了a和b的和,并将结果存储在sum变量中,最后通过return语句返回sum的值。类似地,在逐列扫描方法中,扫描过程从第一列开始,逐列扫描每一列。
2023-08-28 20:34:29 3517 1
原创 51单片机(五):LCD1602调试工具(江协)
总之,LCD1602作为调试工具在51单片机中具有显示信息、输出结果、显示用户界面和监控系统状态等多种作用,可以提高程序开发和系统调试的效率。1. 显示调试信息:通过将调试信息输出到LCD1602上,可以实时显示程序的执行状态、变量的数值等信息,方便程序员进行调试和排错。2. 显示运行结果:在程序开发过程中,可以将一些重要的运行结果输出到LCD1602上,以便进行实时观察和验证。江协科技提供的LCD1602代码属于模块化的代码,使用者只需要知道所提供函数的作用和使用方法就可以很容易的使用LCD1602。
2023-08-22 21:05:57 1121 1
原创 51单片机(四):动态数码管的消影
但是由于期间只延迟了一段非常短的时间,超过了人眼的分辨能力,从而使得多个位和多个段的数字看起来同时发光,但并没有真正实现“消影”的效果。例如,对于一个4位数码管,可以使用一个2进制-4线译码器,将一个2位的二进制选择信号转换为4个位选信号。- 译码器将输入信号的二进制编码转换为相应的位选信号,并通过开关切换将位选信号发送到相应的位。当输入为01时,选择第二个位,依此类推。当切换一个数码管的数字时,由于刷新频率有限,数码管的液晶分子需要一定的时间来重新排列,这可能会导致前一个数码管数字的残影留在屏幕上。
2023-08-21 21:14:13 6284 3
原创 51单片机(三):按键的消抖
抖动时间是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合或者一次断开只响应一次,必须进行按键的消抖处理。在`debounce()`函数中,首先检测按键是否处于按下状态,然后进行一段较短的延时,再次检测按键是否仍处于按下状态。最简单的消抖原理,就是当检测到按键状态变化后,先等待10ms左右的延时,让抖动消失后再进行一次按键状态检测,如果与刚才检测到的状态相同,则可以确认按键已经稳定动作。这样,每次按下按键,LED都会在亮和灭状态之间切换,并且消抖处理可以确保稳定的按键响应。
2023-08-21 17:15:12 3433
原创 51单片机(二):sbit与bit详解
使用sbit定义的引脚可以用于读取和写入单个引脚的状态。需要注意的是,sbit和bit只能用于访问和操作单个引脚或位,无法对多个引脚或位进行批量操作。在编写51单片机的程序时,可以根据需要选择使用sbit或bit来方便地对单个引脚或位进行操作。在上面的示例中,定义了一个名为flag1的位变量,可以使用0或1来读取和设置该位。在上面的示例中,通过sbit定义了一个名为LED的引脚,即P1.0引脚。它通常用于对寄存器中的特定位进行操作。在51单片机中,sbit和bit是两种定义和访问单个引脚的方式。
2023-08-21 15:57:35 10007
原创 51单片机(一):char数组
上述示例中的数组是顺序存储的,即'65'、'66'、'67'和'68'依次存储在myArray[0]、myArray[1]、myArray[2]和myArray[3]中。例如,如果定义了一个char数组`char myArray[4] = { 'A', 'B', 'C', 'D' };`,则在内存中存储为'65'(对应字符'A'的ASCII码)、'66'('B'的ASCII码)、'67'('C'的ASCII码)和'68'('D'的ASCII码)四个字节。char数组可以用来存储一串字符或者一串字节数据。
2023-08-20 20:57:36 2357 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人