51单片机 Proteus仿真 电风扇模拟控制系统 自然风 睡眠风 常风 | 您所在的位置:网站首页 › 家用电扇 › 51单片机 Proteus仿真 电风扇模拟控制系统 自然风 睡眠风 常风 |
课程设计题三十五:风扇模拟控制系统设计 设计内容:1、3个独立按键分别控制“自然风”、“睡眠风”、“常风”,(三者的区别是直流电机的停歇时间不同),并在数显管上显示出区别 2、每种类型风可以根据按下独立按键次数分为4个档的风力调节。 3、设计风扇的过热保护,用继电器实现。即当风扇运行一段时间后,暂停10秒。 4、其他创新内容(如报警提示) 按键1 1234档位 按键2 5678档位 按键3 9 10 11 12档位 所有代码仿真打开下载: http://dt4.8tupian.net/2/28880a68b9990.pg3这是一个基于8051单片机的嵌入式系统程序,用于控制风扇的档位和定时关闭功能。以下是程序的主要部分的解释: 头文件和宏定义: #include "reg51.h": 引入51单片机的寄存器定义。#include , , , : 引入一些标准库和一些用于字符串、输入输出和内存管理的头文件。定义了一些宏,如uchar, uint, u8, u16,用于简化数据类型的定义。全局变量和IO定义: sbit ENA = P3 ^ 4;: 定义 ENA 为 P3.4 引脚,用于控制风扇。u8 ENA_PWM_data = 7;: 用于控制风扇的 PWM 数据。uchar code LEDData[]: 数码管段选表。sbit key_01, key_02, key_03;: 定义三个按键的输入引脚。sbit RELAY = P3 ^ 6;, sbit BEEP = P3 ^ 7;: 定义继电器和蜂鸣器的控制引脚。函数和延时: void delay_ms_key(unsigned char t): 实现毫秒级延时函数。unsigned char KeySscan(void): 按键检测函数,返回按下的按键编号。void init_timer1(void): 定时器1的初始化设置。void timer1_server(void) interrupt 3: 定时器1中断服务程序,用于控制 PWM。主函数 main(): 初始化风扇、蜂鸣器和定时器。通过按键控制风扇档位,设置 ENA_PWM_data 和数码管显示的值。定时器1中断服务程序 timer1_server(): 控制 PWM 的工作。当 pwm_count 达到 ENA_PWM_data 时,关闭 ENA。定时器0中断服务程序 T1_time(): 实现定时功能,控制风扇在一定时间内打开或关闭。当 ifg 为1时,计时关闭风扇,否则计时打开风扇。控制 LED 数码管显示,用于显示风扇的运行时间。总体来说,这个程序通过按键控制风扇的档位,定时关闭风扇,并通过 LED 数码管显示风扇的运行时间。 |
CopyRight 2018-2019 实验室设备网 版权所有 |