熄灯之后的学习——再读《MySQL必知必会》(4)|| 排序数据

这里写图片描述

子句(clause): SQL语句由子句构成,有些子句是必须的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。

order by xxx 指定以 xxx 列进行排序

这里写图片描述


按多个列排序: 只要指定列名,列名之间用逗号分开即可。在按多个列进行排序的时候,排序完全按所规定的顺序进行。

这里写图片描述


降序排序: 必须指定 DESC 关键字。

这里写图片描述

这里写图片描述


DESC 只应用到直接位于其前面的列名


想要在多个列上降序排列,必须对每个列指定 DESC


在 MySQL 中, A 与 a 被视为相同的


在给出 order by 子句时,应该保证它位于 from 子句之后
如果使用 limit ,必须位于 order by 之后

在51单片机上实现按钮控制LED灯的开关功能,可以通过硬件电路设计和软件程序配合完成。该功能的核心在于检测按钮的状态变化,并根据状态切换LED的亮灭。 ### 电路设计 在硬件方面,需要一个按钮作为输入设备,一个LED作为输出设备,以及必要的限流电阻。具体连接如下: - 按钮的一端接到单片机的一个I/O口(例如P3.2),另一端接地。 - LED的正极通过一个限流电阻(通常为220Ω或330Ω)连接到另一个I/O口(例如P1.0),负极接地。 - 按钮需要外接上拉电阻,或者使用内部上拉电阻以确保在未按下时I/O口处于高电平状态。 ```plaintext +5V | \ / 上拉电阻 (约10kΩ) \ | P3.2 o----+----GND | === (按钮) | +-----+-----+ | | GND 按钮 +5V | === LED | /\ \限流电阻 / | P1.0 o----+ | === GND ``` ### 程序设计 程序部分主要涉及按钮去抖动处理、状态检测和LED状态切换。以下是一个简单的C语言示例代码,用于实现按钮按一次点亮LED,再按一次熄灭LED的功能。 ```c #include <reg52.h> sbit LED = P1^0; // 定义LED连接的端口 sbit BUTTON = P3^2; // 定义按钮连接的端口 unsigned char led_state = 0; // LED状态变量 void delay(unsigned int time) { unsigned int i, j; for(i = 0; i < time; i++) for(j = 0; j < 1275; j++); } void main() { while(1) { if(BUTTON == 0) { // 检测按钮是否被按下 delay(20); // 延时去抖动 if(BUTTON == 0) { led_state = !led_state; // 切换LED状态 LED = led_state; // 更新LED状态 while(!BUTTON); // 等待按钮释放 } } } } ``` 上述代码中,`delay()`函数用于提供一定的延时来消除机械按键的抖动现象;当检测到按钮被按下后,会再次确认按钮状态以避免误触发;随后翻转LED的状态并等待按钮释放,防止连续多次触发[^1]。 ### 注意事项 - 在实际应用中,应考虑按钮的硬件去抖或软件去抖措施,以保证系统稳定性。 - 若使用的是无内置上拉电阻的I/O口,则需外部加上拉电阻。 - 可以增加额外的保护元件如TVS二极管等,提高系统的抗干扰能力[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值