自检与状态指示
- 自动检查(自检) 指的是设备刚上电时,通过显示屏数码管或指示灯等电路进行状态切换, 检查软件程序、硬件的基本工作是否正常。
- 状态指示 指的是利用显示屏、数码管或指示灯指示设备的工作状态。
1. 硬件实现
- 增加两个指示灯 D2:红色发光二极管,D3:蓝色发刚二极管
- 增加两个限流电阻 R5,R6(阻值为1k,实际电路根据亮度及限额自行调整)
2. 接口分配
- IO11 红色指示灯接口(单片机脚位为PB3,此为单片机脚位名称简称)
- IO12 蓝色指示灯接口(PB4)
3. 软件实现
- 设定黄色LED为电源指示灯(一般用红色LED表示,此程序为了颜色区分,暂时用黄色LED替代)
- 设定红色LED与蓝色LED为状态指示灯(proteus 无红蓝双色LED,我们以独立的红色LED 和蓝色LED替代)
自检程序实现
- 自检程序一般在初始化代码中实现,并且为顺序简单处理,所以此处不用绘制流程图
/* Main.ino file generated by New Project wizard
*
* Created: 周三 1月 1 2020
* Processor: Arduino Uno
* Compiler: Arduino AVR (Proteus)
* Writer: 知乎向导
*/
#define LED_YELLOW 13
#define LED_RED 11
#define LED_BLUE 12
void setup()
{ // put your setup code here, to run once:
//自检
pinMode(LED_YELLOW,OUTPUT); //设置黄色指示灯接口为输出模式
digitalWrite(LED_YELLOW, HIGH); //设置接口为高电平,点亮黄色LED
delay(1000);//延迟1秒
pinMode(LED_RED,OUTPUT);//设置红色指示灯接口为输出模式
digitalWrite(LED_RED, HIGH); //设置接口为高电平,点亮红色LED
delay(1000);//延迟1秒
pinMode(LED_BLUE,OUTPUT);//设置蓝色指示灯接口为输出模式
digitalWrite(LED_BLUE, HIGH); //设置接口