- #include "NT51.h"
- #define LED_PIN P1_0 // LED连接到P1.0
- #define BUTTON_PIN P2_0 // 按钮连接到P2.0
- void main(void) {
- // 初始化
- GPIO_Init(LED_PIN, GPIO_MODE_OUTPUT);
- GPIO_Init(BUTTON_PIN, GPIO_MODE_INPUT);
- while (1) {
- if (GPIO_Read(BUTTON_PIN) == 1) { // 检测到按钮按下
- GPIO_Toggle(LED_PIN); // 切换LED状态
- Delay(200); // 防抖延时
- }
- }
- }
- // 简单延时函数
- void Delay(unsigned int ms) {
- while (ms--) {
- for (volatile int i = 0; i < 1000; i++);
- }
- }
功能说明- LED控制:当按钮按下时,LED灯会切换状态(开/关)。
- 防抖处理:通过简单的延时函数来避免按钮抖动带来的误触发。
- 可扩展性:该代码结构清晰,可以轻松扩展更多功能,比如加入定时开关、手机APP控制等。
结论
通过新唐MCU,我成功实现了一个基础的智能家居控制系统。这只是一个开始,未来我打算继续扩展功能,比如增加温湿度传感器、远程控制等。希望这个简单的例子能给大家带来启发,期待听到大家的想法和建议!
作者: 公羊子丹 时间: 2024-10-6 08:05
这个项目看起来很不错!新唐MCU的性能怎么样?你觉得它的开发难度如何?
作者: 周半梅 时间: 2024-10-6 08:05
代码写得很清晰,特别是延时处理的部分。你是如何确定延时的参数的呢?
作者: 帛灿灿 时间: 2024-10-6 08:05
有考虑过增加更多传感器吗?比如光传感器之类的,可以让灯光更智能化。
作者: 童雨竹 时间: 2024-10-6 08:06
我最近也在做类似的项目,你能分享一下你在硬件连接方面的经验吗?
作者: Wordsworth 时间: 2024-10-6 08:06
按钮防抖的处理很实用!你是用了什么方法来测试开关的反应速度?
作者: 万图 时间: 2024-10-6 08:06
这个智能灯控系统很实用,尤其是晚上回家时。期待你之后的功能扩展!
作者: Bblythe 时间: 2024-10-6 08:06
有没有考虑过使用蓝牙或Wi-Fi模块来实现远程控制呢?这样就可以用手机操作了。
作者: Pulitzer 时间: 2024-10-6 08:07
新唐MCU的功耗表现如何?我有点担心长期使用会影响电池寿命。
作者: Uriah 时间: 2024-10-6 08:07
你觉得这个系统的稳定性怎么样?在使用中有没有遇到什么问题?
作者: Clyde011 时间: 2024-10-6 08:07
很喜欢这个项目的思路!希望你能分享更多细节,特别是后续的功能扩展!
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) |
Powered by Discuz! X3.5 |