- 博客(23)
- 收藏
- 关注
原创 硬件驱动——51单片机:独立按键、中断、定时器/计数器
以16位定时器模式工作,按下不同的按键,使LED灯分别按照1s,500ms,200ms,100ms动态闪烁。打开外部中断0和外部中断1,当外部中断0执行时,点亮所有LED灯,当外部中断1执行时,熄灭所有LED灯。单片机通电后,51单片机的40个引脚均为高电平(即值均为1),其中引脚5~8为。若需要1毫秒计数一次,则定时器的初值应为65535-(921600÷1000)=本人使用的51单片机的系统时钟频率为11.0592MHz,定时器。按下特定按键,对应的LED灯亮起,同时数码管显示对应数字。
2025-03-14 21:44:12
1089
原创 硬件驱动——51单片机:寄存器、LED、动态数码管
51单片机共40个引脚,其中P0,P1,P2,P3是四个有8引脚的寄存器,寄存器可视为全局变量,寄存器在keil中以特殊宏的形式储存,例如: 用C语言规范写法,需将寄存器地址的值强转为指针,然后访问修改指针所指向内容,因此上图中的寄存器代码等价于: 单片机通电后,51单片机的40个引脚均为高电平(即值均为1),其中引脚21~28为寄存器P2的八个引脚P20~P27,负责控制LED模块的8个发光二极管。 若将P20置为低电平(即值改为0),则发光二极管D1两端产生
2025-03-13 20:43:51
758
原创 数据结构——Makefile、算法、排序(2025.2.13)
变量名=值+= 在原来变量内容的基础上增加:= 在原来的基础上覆盖变量引用:使用变量中的内容$(变量名)程序 = 数据结构 + 算法算法:解决特定问题的求解步骤。
2025-02-14 23:40:37
1124
原创 数据结构——二叉树(2025.2.12)
①树:树是由n个结点组成的有限集若n = 0, 则为空树。②根:树只有一个根结点除根外,其他所有结点只有一个前驱结点,但可以有多个后继结点。一对多③叶子:叶子结点,即终端结点只有前驱结点,没有后继结点。④分支:分支结点,即非终端结点既有前驱节点,也有后继的结点。⑤森林:n个互不相交的树的集合。①二叉树:任意一个节点的子节点个数不能超过2个(树的度为2),且子节点的位置不可更改。②满二叉树:在不增加树的层数的前提下,无法再增加一个结点的二叉树特性:满二叉树第K层有2^(k-1)个节点。
2025-02-13 23:59:46
481
原创 数据结构——队列、哈希存储(2025.2.11)
之前我们提到过的队列结构,也是一种线性存储的数据结构。从一端进行数据插入,另一端进行数据删除的线性存储结构。队列均遵循FIFO,即先进的先出后进的后出。哈希存储,也称散列存储:将要存储数据的关键字和数据的存储位置之间建立对应的函数关系,即哈希函数。哈希存储的目的是为了提高数据的查找效率。哈希存储的表现方式是哈希表。哈希表:一段连续内存空间。存储数据时,按照函数关系寻找存储位置;数据查找时,根据关键字进行函数映射得到数据的存储位置。
2025-02-12 10:38:58
937
原创 数据结构——栈区、栈结构(2025.2.10)
之前我们提到过的栈区,是一种系统栈,由操作系统对栈区进行操作处理。今天我们提到的栈结构,是指一种线性的数据结构,由用户对栈区进行操作处理。只允许从一端进行数据的插入和删除的线性存储结构。无论是栈结构与栈区,只要是栈均遵循FILO,即先进的后出、后进的先出。
2025-02-11 01:06:32
954
原创 数据结构——单向链表(2025.2.6)
一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,并在此基础上实现某个特定的功能的操作;程序 = 数据结构 + 算法。
2025-02-06 21:37:23
1071
原创 C语言入门学习——指针的指针、结构体(2025.1.22)
则需传递其指针(即指针传参),若本来所传递的内容便是指针,则需要传递指针的指针。了一种名为struct Student的结构体类型。注意结尾与函数声明相同,如图,Date是一种名为struct Birthday的。同事,与函数相同,结构体之间也可以相互嵌套。对于指向同一字符串的字符指针,,指向的内容依然是个指针。C语言允许用户自己定义一种。数组的每一项都装着指针的。向结构体中的每一项输入内容时需要使用。进行拼接或复制,否则会进入。,结构体名中Student。,因为字符串终止的标志。
2025-01-23 01:17:40
145
原创 C语言入门学习——数组指针、函数指针、内存动态分配(2025.1.21)
长度为10的整型数组指针,在64位操作系统中,指针中的地址占8字节,故共计80字节。一个指向整型数组中第10个元素的指针p,占8字节。这些函数也被称为下面打印数组函数的。目标内容被回收销毁后,指针p、q变为。,故最后还需将指针p、q归零为。释放归还空间,否则会产生。的指针,保存的是函数的。
2025-01-22 00:49:57
184
原创 C语言入门学习——各类指针、快速排序(2025.1.20)
可能指向系统中任意一块存储空间,若指向的存储空间正在使用,当发生调用并执行操作时,就可能造成系统崩溃。,程序无法根据这种定义为该指针指向的变量分配存储空间,所以如果要使用该指针为其他指针赋值,必须先。使指针所指向的内容变为只读状态,无法通过指针对其间接访问来修改内容。是指没有指向任何一个存储单元的指针,内部装的内容。当我们需要用到指针,但不确定指针指向何处时使用。指针内装的是地址,因此指针之间。这种指针指向一块内存,但因其。但可以通过指针对其进行。的指针,内部装的内容为。
2025-01-21 00:42:02
213
原创 C语言入门学习——变量、存储类别、预处理(2025.1.17)
用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为:#define标识符字符串这就是已经介绍过的定义符号常量。这使得用户能以一个简单的名字代替一个长的字符串,因此把这个标识符(名字)称为“宏名”,在预编译时将宏名替换成字符串的过程称为“宏展开#define是宏定义命令。宏定义是用宏名代替一个字符串,也就是作简单的置换,不作正确性检查。
2025-01-19 23:50:36
551
原创 C语言入门学习——函数、栈区(2025.1.15)
对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,再由若干个源程序文件组成一个C程序。一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。但应说明,如果实参表列包括多个实参,对实参求值的顺序并不是确定的,有的系统按自左至右顺序求实参的值,有的系统则按自右至左顺序。(4)所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。(3)C程序的执行是从main函数开始的,如是在main函数中调用其他函数,则在。
2025-01-15 20:09:28
232
原创 C语言入门学习——字符数组相关函数(2025.1.14)
二维数组定义的一般形式为:类型说明符数组名[常量表达式][常量表达式];例如:floata[3][4],b[5][10];定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。C语言对二维数组采用这样的定义方式,使得二维数组可被看作是一种特殊的一维数组:它的元素又是一个一维数组。例如,可以把a看作是一个一维数组,它有3个元素:a[0]、a[1]、a[2],每个元素又是一个包含4个元素的一维数组。
2025-01-14 18:31:47
519
原创 C语言入门学习——逆序、排序、查找算法(2025.1.13)
用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。字符数组的定义方法与整型数组类似,例如:也可以采用字符串的形式定义,例如:2.字符串结束的标准可以看到上面用字符串定义数组时,长度发生了变化,这是因为为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\0'作为标志。也就是说,在遇到字符'\0'时,表示字符串结束,由它前面的字符组成字符串。系统对字符串常量也自动加一个'\0'作为结束符。
2025-01-13 20:13:18
419
原创 C语言入门学习——break、continue语句(2025.1.11)
一维数组的定义方式为:类型说明符 数组名[常量表达式];例如:int a[5];它表示定义了一个整型数组,数组名为a,此数组有5个元素,分别为a[0],a[1],a[2],a[3],a[4]。
2025-01-13 12:52:25
422
原创 C语言入门学习——输入与输出(2025.1.9)
putchar函数,即,它的作用是向终端输出。其一般形式为:putchar(c)它输出字符变量c的值,c可以是字符型变量或整型变量。
2025-01-10 00:09:18
338
原创 C语言入门学习——运算符与表达式(2025.1.8)
C语言规定了各种运算符的结合方向(结合性),算术运算符的结合方向为“自左至右”,即先左后右,因此a-b+c中,b先与减号结合,执行a-b的运算,再执行加c的运算。下图中横向向左的箭头表示必定的转换,如字符数据必定先转换为整数,short型转换为int型,float型数据在运算时一律先转换成双精度型,以提高运算精度(即使是两个float型数据相加,也先都化成double型,然后再相加)。把常量3赋给变量a。对赋值表达式求解的过程是:先求赋值运算符右侧的“表达式”的值,然后赋给赋值运算符左侧的变量。
2025-01-08 23:50:25
666
原创 C语言入门学习——数据类型(2025.1.7)
的int整型,分配的存储空间为4字节,范围为-2^31~2^31-1(即十进制为-2147483648~2147483647,十六进制为0x80000000~0x7FFFFFFF)的短型的int整型,分配的存储空间为2字节,范围为-2^15~2^15-1(即十进制为-32,768~32,767)的长型的int整型,分配的存储空间为8字节,范围为-2^15~2^15-1(即十进制为-32,768~32,767)完整为signedlongdouble,即有符号的长双精度浮点型,分配的存储空间为16字节。
2025-01-08 10:14:53
762
原创 Linux入门学习(2025.1.6)
例:在桌面下创建三个文件夹test1 test2 test3 分别在test1 test2 test3下 创建file1.txt file2.txt file3.txt。2.将test1下的file1.txt移动到test3目录下。ls -a:显示所有文件(包括隐藏文件.)ls --help:展示所有ls系列指令。pwd:打印工作目录(显示所在文件夹)ls:列表(显示当前所有文件夹)mkdir:创建文件夹。
2025-01-06 18:39:38
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人