单片机课堂第八次项目设计任务
一、项目:国旗升降自动控制系统开发
二、功能要求:
作为一名机械工程师,穿越回到1949年的开国大典,贡献专业才干。请为国旗班设计一个升降国旗自动控制系统,助力开国大典升旗仪式圆满完成。要求如下:
(1)升旗----步进电机以给定的速度(选用每5ms步进电机专一个步距角的速度),运行给定的时长(国歌演奏的时长)后自动停止。
(2)降旗—--步进电机以给定速度(每毫秒转一个步距角)下降,在旗杆底部装有限位传感器(外部中断触发,用开发板P3.2端口的按键K1按下替代),降旗时遇限位停止运行。
| 本项目使用矩阵按键布局 | |||
| 升旗 | 7 | 8 | 9 |
| 降旗 | 4 | 5 | 6 |
| 暂停 | 1 | 2 | 3 |
| 发送 | / | 0 | 确定 |
(3)采用矩阵按键,按键的功能如下图定义:
(4)在升旗或降旗状态,可按下暂停键,暂停旗杆动作,再次按下暂停键,恢复原来动作继续执行。
(5)在停止状态(初始转态或降旗到达限位的状态,而非暂停状态)可设置升旗时间(两位数,单位为秒),按确定后保存设定的数值。
(6)系统具有串行通信的控制功能,每1秒将当前的系统工作状态(升旗、降旗、暂停、到达、停止)等状态发送至PC机。
(7)系统接收PC机发来的指令信号,编码格式含义如下:
(起始 动作 参数1 参数2 结束)
编码: 05 01 时间十位 时间个位 04 ------ 升旗 时长参数
05 02 xx xx 04------ 降旗 任意参数
05 03 xx xx 04------ 暂停 任意参数 单片机接到编码信息后,译码输出控制电机做相应动作。
(8)液晶显示信息自定,各按键的定义和选用自行安排。
三、学习目标:
1.能结合控制功能对矩阵按键进行自定义设计和子程序开发、调用;
2.能应用串行通信功能实现双机通信、信息识别和单片机输出控制;
3.能有效综合应用定时器、外部中断、串行通信等功能开发控制系统;
四、step by step系统开发设计:
第0步(准备):讲解上次课后作业,优化定时器设置;
第1步:在独立独立按键的基础上,加入暂停控制;
第2步:将升旗、降旗、暂停控制应用矩阵按键实现
第3步:应用矩阵按键实现升旗时长设定控制(1位数)
第4步:应用矩阵按键实现升旗时长设定控制(2位数)
第5步:应用串行通信,发送系统当前状态至上位机(单个字符和字符串两类信息)
第6步:每隔1秒发送系统当前状态至上位机(字符串信息)
第7步:串行中断方式接收上位机单个字符(数、数字或字母)信息
第8步:按串行通信格式接收上位机多个带有信息的字符串
四、调试实践说明:
1. 在第3步将电机控制的端口顺序配置到P3.4---P3.7。
2. P0端口作为液晶输出端口, P1端口作为矩阵按键输入端口,P36 和P37配置到电机输出,为防止信号干扰,将右下脚全部跳线帽偏插。
基础设计程序:
第0步:优化定时器设置
项目最后执行的HEX代码:
各步骤程序设计:

