当前位置: 首页 > news >正文

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图

一、题目要求

二、绘制系统状态流图

题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。

三、利用定时器产生时基

题目:由Timer1定时器中断产生1ms时基,在1ms时基基础上产生10ms,100ms,500ms和1s的时基。

1.编写Timer1的中断服务程序

(要仔细看清题目要求是用 Timer0 还是 Timer1 )

2.编写系统时基实现程序

四、定义系统的状态变量

系统状态字不同,代表系统处于不同的状态。不要轻易浪费资源。

题目:根据上述描述定义系统的状态变量,状态时间变了、各种状态变量、按键变量以及按键功能敞亮定义,例#define xx_State 0x01

1.系统状态变量声明

2.状态时间变量声明

3.系统状态常量定义

(实际考察对于宏定义的理解以及应用)

4.按键相关变量定义

5.按键常量定义

五、定义各个状态函数

题目:定义各个状态函数,例void Fun_xxState(void){}//xx状态函数,函数声明需完整,注释清楚,函数具体实现内容不需要编写,根据自己定义的函数编写系统状态机控制函数Fun_SysState

六、编写系统【空闲】状态函数

题目:编写完整的系统【空闲】状态函数,添加注释

七、编写系统【分编辑】状态函数

题目:编写完整的系统【分编辑】状态函数,添加注释

八、部分示例代码

1.主程序

2.系统状态机

3.系统上电程序

(系统状态每10ms调用一次 → 3s = 3 * 100)

4.系统关机程序

5.系统工作程序

按键宏定义

 6.系统显示函数

7.系统暂停程序 

这些函数中全都是对系统变量的操作,而系统的变量以什么样的形式去显示是在其他环节完成的,例如通过串行口发送出去。

8.串行口初始化

【注意】在proteus中做仿真时,需要将51单片机的时钟频率改为11.0596MHz才能跟计算机通信,否则计算出的波特率有误差,无法实现与计算机的通信。

http://www.lqws.cn/news/178525.html

相关文章:

  • 【k8s】k8s集群搭建
  • .NET AOT 详解
  • C++总复习
  • 【Go语言基础【6】】字符串格式化说明
  • ruoyi-plus-could 负载均衡 通过 Gateway模块配置负载均衡
  • 负载均衡LB》》HAproxy
  • 解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
  • 电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
  • 前端对WebSocket进行封装,并建立心跳监测
  • 【Redis】分布式锁的介绍与演进之路
  • 以太网原理图设计和PCB设计deepseek
  • RFID推动新能源汽车零部件生产系统管理应用案例
  • 使用SSE解决获取状态不一致问题
  • 使用Python和OpenCV实现图像识别与目标检测
  • 通道注意力
  • Opencv中的addweighted函数
  • Keil调试模式下,排查程序崩溃简述
  • C#实现Stdio通信方式的MCP Server
  • 数据通信 PoE 交换机解决方案
  • 高效Excel合并拆分软件
  • 【人工智能】一些基本概念
  • 惠普HP Deskjet 9600 打印机信息
  • 【递归、搜索与回溯】综合练习(四)
  • JVM虚拟机:内存结构、垃圾回收、性能优化
  • 使用 Mechanical 脚本获取联合反作用力和力矩
  • Linux 服务管理与自启动配置全解析:rc.d、systemctl与service对比
  • 物联网嵌入式开发实训室建设方案探讨(高职物联网应用技术专业实训室建设)
  • 【使用conda】安装pytorch
  • 力扣刷题(第四十九天)
  • 【redis实战篇】第八天