基本8位单片机的软件平台设计方案(2)
8位单片机结构
8位单片机结构8位单片机是一种常见的嵌入式微控制器,它具有8位宽的数据总线和地址总线,适用于各种控制和嵌入式系统。
本文将介绍8位单片机的结构,包括其组成部分和功能。
一、概述8位单片机由中央处理器(CPU)、存储器、输入输出(I/O)接口、定时器和串行通信接口等组成。
它可以执行各种指令,控制外围设备的操作,并处理数据。
二、中央处理器8位单片机的中央处理器通常采用精简指令集计算机(RISC)架构,具有较小的指令集和较短的指令周期。
它包括指令寄存器、程序计数器、算术逻辑单元(ALU)和状态寄存器等组件。
三、存储器8位单片机的存储器包括程序存储器和数据存储器。
程序存储器用于存储程序代码,数据存储器用于存储数据。
它们可以是闪存、EPROM、RAM等不同类型的存储器。
四、输入输出接口8位单片机的输入输出接口可以连接各种外围设备,如按键、LED、LCD、温度传感器等。
它们通过引脚与外围设备进行通信,并提供数据输入和输出的功能。
五、定时器8位单片机的定时器用于生成精确的时间延迟和定时事件。
它可以用于计时、脉冲宽度调制(PWM)、频率测量等应用。
定时器通常包括计数器和控制寄存器。
六、串行通信接口8位单片机的串行通信接口用于与其他设备进行通信,如串口通信、SPI(串行外围接口)通信、I2C(两线制串行通信)通信等。
它可以实现数据的发送和接收。
七、应用领域8位单片机广泛应用于各种控制和嵌入式系统,如家电控制、工业自动化、电子仪器、车载电子等。
它具有体积小、功耗低、成本低等优点,适合于资源受限的应用场景。
八、发展趋势随着技术的不断发展,8位单片机的性能不断提升,功能越来越强大。
同时,它也面临着来自32位单片机和ARM处理器等竞争对手的挑战。
总结:8位单片机是一种常见的嵌入式微控制器,具有8位宽的数据总线和地址总线。
它由中央处理器、存储器、输入输出接口、定时器和串行通信接口等组成。
它广泛应用于各种控制和嵌入式系统,并具有体积小、功耗低、成本低等优点。
8位竞赛抢答器课程设计
目录1. 原理分析(by 张潇) (2)1.1 设计任务 (2)1.2 性能指标 (2)1.3 工作原理 (2)2. 方案选择(by 张潇) (3)2.1 方案设定 (3)2.2 方案比较 (3)2.3 方案选择 (3)3. 电路原理图绘制及仿真(by 王倩) (3)3.1 所需元器件型号及数量 (3)3.2 电路原理图 (4)3.3 电路仿真结果 (5)4. Pcb图绘制(by 朱文广) (5)4.1 pcb绘制步骤 (5)4.2 pcb绘制原则 (5)4.3 8路抢答器pcb图 (7)5. 综合调试(by 朱文广) (7)5.1 软件调试 (7)5.2 硬件调试 (9)6. 总结(by 王倩) (10)附录1:电路仿真图 (11)附录2: 8路抢答器完整程序 (12)1.1 设计任务以单片机为核心,设计一个8位竞赛抢答器,同时供8名选手或8个代表队比赛。
设置一个系统清除和抢答控制开关S,开关由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
抢答器具有定时抢答功能,且一次抢答的时间可由主持人设定。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
1.2 性能指标电源电压:直流5V±10%选手组数:2-8组初始抢答倒计时:20s初始回答倒计时:30s倒计时范围:1-99s可设倒计时提示时间:最后5s1.3 工作原理八路数字抢答器原理框图如图1所示,其工作原理为:接通电源后,主持人未按下开始抢答,抢答器处于禁止状态,数码管显示“----”;主持人宣布“开始”同时按下开始抢答按键,抢答倒计时开始计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。
项目二:8位流水灯的单片机控制讲解
内部总线 1 写锁存器
DQ
1
CK /Q
0
1
读引脚 =1
截 引脚P1.X 止
P1口控制流水灯(8个发光二极管)电路
发光二极管的连接方法:若 将它们的阴极连接在一起,阳 极信号受控制,即构成共阴极 接法,如图a所示;若将它们的 阳极连接在一起,阴极信号受 控制,则构成共阳极接法,如 图b所示。由于P1口引脚输出 高电位时电压大约是5V,为保 证发光二极管的可靠工作,必 须在发光二极管和单片机输出 引脚间连接一只限流电阻。
三 、程序PROTUES仿真与调试
人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。
DJNZ R7,D0
RET
;子程序返回指令
END
;程序结束标记
知识点链接
在本项目中,利用P1口实现8个发光二极管的流水灯控制,主要利 用了送数指令,将要显示的现象对应的数据通过P1口送出。在编写控制 程序时,应首先将每个对应现象分析清楚,比如:要让L3亮,其余发光 二极管灭,则P1口的数据应为11110111B;要让L7亮,则P1口的数据 应为01111111B。然后找到能实现此操作的指令即可。下面使用我们在 本项目中学习的移位指令编写程序如下:
R7,D0
;L6亮
指令意义(注释)
; L7亮 ;将立即数FEH送累加器A,L0亮 ;重复执行本条指令(程序结束) ; 延时程序从0F00H开始 ;将立即数10送通用寄存器R7 ;将立即数100送通用寄存器R6 ;将立即数200送通用寄存器R5 ;根据R5减1后的内容判断程序执行方向 ;根据R6减1后的内容判断程序执行方向
项目2---8位流水灯的单片机
二、编程及问答:
1、要使得本项目中发光二极管的闪烁速度加快,程序如何修 改?若变慢呢?
2、试编写两段延时时间不同的子程序,并分别调用。 3、汇编程序的书写格式和注意事项是什么?
项目2个发光二极管的顺序点亮, 学会使用MCS-51单片机芯片的P1口进行输出控 制,进一步学习汇编程序的分析方法,并能熟练 运用RR、RL等基本指令。
项目任务
要求应用AT89C51芯片,控制8个发光 二极管的有序亮灭,呈现流水灯的效果。 设计单片机控制电路并编程实现此功能。
(二)程序编写
ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV P1,#0FEH LCALL YS MOV P1,#0FDH LCALL YS MOV P1,#0FBH LCALL YS MOV P1,#0F7H LCALL YS MOV P1,#0EFH LCALL YS MOV P1,#0DFH LCALL YS
项目分析
利用单片机P1口连接8个发光二极管, 利用各引脚输出电位的变化,控制发光二 极管的亮灭。P1口各引脚的电位变化可以 通过指令来控制,为了清楚地分辨发光二 极管的点亮和熄灭,在P1口输出信号由一 种状态向另一种状态变化时,编写延时程 序实现一定的时间间隔。
项目实施
一、硬件电路设计 二、控制程序的编写
MOV P1,#0BFH LCALL YS MOV P1,#7FH LCALL YS LJMP MAIN ORG 0100H YS:MOV R7,#2 L1:MOV R6,#0FFH L2:MOV R5,#0FFH L3:DJNZ R5,L3 DJNZ R6,L2 DJNZ R7,L1 RET END
DJNZ R7,D0
LJMP XH
第二章 Freescale 8位单片机概述
第二章Freescale 8位单片机概述2.1 08系列MCU的概述Freescale的08系列单片机型号有一百多种。
在这些不同型号的单片机中,资源各不相同,即使是同一种型号的单片机,也有多种封装形式,其I/O口数目也不相同。
表4-1表现了几种08系列单片机的资源差异情况。
表4-1 08系列单片机的资源差异情况表从表4-1可以看出08系列单片机内置资源差异很大,内存容量(RAM)最大的达到4K字节,而最少的只有128个字节;最多的I/O口数有56个,最少的只有6个;闪存(FLASH)最大的达到了60K字节,而最少的只有1.5K字节。
这种差异非常适合于各种不同的应用系统。
在实际应用开发过程中,选择合适的单片机是非常重要的。
HC08系列MCU有很多类型,各种类型除了拥有HC08系列的共同特点外,又具有其自身的特点,可以满足特定的实际需求,如表4-2所示。
表4-2 MC68HC08系列MCU的类型及特点2.2 MC68HC908QY4 MCU的性能概述MC68HC908QY4是MC68HC08 微控制器系列中的产品,MC68HC08 是一种高性能的8位单片机系列,具有速度快、功能强、价格低等特点。
采用高性能的MC68HC08中央处理器与MC68HC05指令代码完全向上兼容5V或3V的工作电压(VDD)5V工作电压时内部总线频率最高为8MHZ,3V时内部总线频率最高为4MHZ8位字节可调整的内置振荡器,可产生3.2MHZ的总线频率,可调范围±5%由STOP状态可以自动唤醒通过CONFIG寄存器可以对MCU进行配置,包括低电压禁止(LVI)设置具有片内FLASH,具有FLASH存储器在线编程功能和保密功能(FLASH编程/擦除的电压由芯片内部电荷泵产生)MC68HC908QY4的FLASH的存储器大小为4096字节128字节的片内ROM双通道16位定时器模块(TIM)MC68HC908QY4具有4路8位模数转换器(ADC)13个双向I/O口,一个单向输入口:所有I/O口都具有很强的吸电流和放电流能力所有I/O口内部上拉电阻6位键盘中断,具有唤醒的特点低电压禁止模块(LVI)具有软件可选的特点,由CONFIG寄存器进行设置系统保护特性:设计算机工作正常(COP)复位低电压检测复位非法指令码检测复位非法地址检测复位IRQ),此引脚与通用输入引脚复用带有内部上拉的外部异步中断引脚(复位引脚(RST),与通用I/O复用上电复位RST和IRQ引脚的内部上拉可以降低外围路的复杂性存储器映射I/O寄存器WAIT和STOP低功耗模式MC68HC908QY4 具有以下封装:16引脚PDIP、SOIC、TSSOP2.3内部结构简图MC68HC908QY4系列结构框图如图2-1所示。
基于STM8系列单片机的开放式实践教学平台设计
∗海南热带海洋学院2017年度校级教育教学改革项目(RDJGb2017-04)单片机类课程实践性非常强,单片机相关技术更新也非常快,在传统的高校教学中常用Intel 公司早期推出的MCS-51内核单片机作为讲解对象,多数51内核单片机片上资源单一,教学实验箱上外设器件缺乏新颖性、扩展性局限且与实际工程应用脱节,最终导致实践教学多以验证性实验为主,实践教学效果欠佳,很难激发学生的创造力和综合项目的设计能力。
基于以上实际情况,本文从以往教学中总结经验并梳理需求,经过师生交互与多次改版,最终设计了该款开放式实践教学平台,并将其运用在学科竞赛、课程综合设计、毕业设计中,均收到了良好的效果。
STM8系列单片机是意法半导体公司推出的一款8位微控制器产品,该系列的单片机产品拥有高性能8位内核和丰富的外设资源,STM8系列单片机采用意法半导体专有的130nm 嵌入式非易失性存储器技术制造而成,具备增强型堆栈指针操作、高级寻址模式和新增的指令,让用户能够实现快速、安全的开发。
丰富的产品线路为实践教学提供了支持,考虑单片机资源的丰富程度,本文选定了STM8S 系列中的STM8S208MB 单片机作为实践教学平台的主控核心[1-2]。
1实践教学平台硬件设计1.1硬件外设资源及组成开发平台应满足单片机实践教学基本需求,并在基础实验之上拓展功能外设,使得学生在使用平台时可以自行设计高阶实验巩固理论知识并扩展和创新。
该平台构建了多种功能资源和接口,分别是:CH340T 芯片USB 转TTL 串口通信单元、LDO 电源配置单元、光敏电阻模拟信号单元、热敏电阻模拟信号单元、可调电位器模拟信号单元、DS1302实时时钟单元、4路发光二极管单元、复位单元、SWIM 调试接口单元、图形/点阵型12864液晶接口、字符型1602液晶接口、AT24Cxx 系列I 2C 接口EEPROM 单元、华邦W25Qxx 系列SPI 接口FLASH 单元、超声波测距接口、无线模块接口、8键独立按键单元、NE555频率/占空比可调发生器单元、双74HC595串行8位数码管接口、2路1-Wire 单总线单元、无源蜂鸣器驱动单元、TJA1050芯片CAN 总线收发电路单元、A /B /C 多功能接口组、基础版本TTS 语音合成单元、38kHz 红外遥控信号接收接口、PS /2标准计算机接口单元、单片机最小系统单元和外部石英晶体振荡器单元。
单片机的实施方案
单片机的实施方案单片机作为一种微型计算机,广泛应用于各种电子设备中,如家电、汽车电子、工业控制等领域。
在实际应用中,单片机的实施方案是至关重要的,它直接影响着产品的性能、稳定性和成本。
因此,本文将围绕单片机的实施方案展开讨论,探讨如何选择合适的单片机、搭建有效的硬件平台和设计高效的软件系统。
首先,选择合适的单片机是实施方案的关键。
在选择单片机时,需要考虑产品的功能需求、性能要求、成本控制等因素。
针对不同的应用场景,可以选择不同性能的单片机,如低端的8位单片机、中端的16位单片机或高端的32位单片机。
同时,还需要考虑单片机的外设资源、开发工具支持、供应稳定性等因素,以确保单片机能够满足产品的需求,并且具有良好的可扩展性和可维护性。
其次,搭建有效的硬件平台是实施方案的重要环节。
在硬件设计中,需要充分考虑单片机与外围器件的连接方式、时序控制、电源管理、信号完整性等问题。
同时,还需要考虑抗干扰能力、温度适应能力、结构稳定性等方面,以确保硬件平台能够稳定可靠地工作。
此外,还需要考虑硬件的成本控制、生产制造、维护维修等因素,以确保硬件平台具有良好的经济性和可制造性。
最后,设计高效的软件系统是实施方案的关键环节。
在软件设计中,需要充分发挥单片机的性能优势,合理分配系统资源,优化算法设计,提高系统的响应速度和稳定性。
同时,还需要考虑软件的可移植性、可扩展性、可维护性等因素,以确保软件系统具有良好的灵活性和可维护性。
此外,还需要考虑软件的测试验证、版本控制、异常处理等方面,以确保软件系统能够稳定可靠地运行。
综上所述,单片机的实施方案涉及到单片机的选择、硬件平台的搭建和软件系统的设计三个方面。
通过合理选择单片机、搭建有效硬件平台和设计高效软件系统,可以实现单片机应用产品的功能需求、性能要求和成本控制,从而提高产品的竞争力和市场占有率。
希望本文能够对单片机的实施方案有所启发,为单片机应用产品的开发提供一些参考和借鉴。
单片机课程设计题目大全_2精选全文
(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均 由功能键K1、K2完成。
2. 工作原理 本设计采用市场上流行的时钟芯片DS1302进行制作。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含 一个实时时钟/日历和31字节静态RAM,可以通过串行 接口与计算机进行通信,使得管脚数量减少。实时时钟/ 日历电路能够计算2100年之前的秒、分、时、日、星期 、月、年的,具有闰年调整的能力。 DS1302时钟芯片的主要功能特性:
15
复位”按键按下,程序将TR0置为0,同时将存储时间的变 量清零,从而中断停止,并实现复位。
本题目采用专用数码管显示控制芯片MAX7219。 MAX7219是美国MAXIM公司生产的串行输入/输出共 阴极显示驱动器,该芯片最多可驱动8位7段数字LED显 示器或个LED和条形图显示器。其引脚图及引脚功能参 见有关参考资料。
28
用4个按键操作来设置当前想要倒计数的时间。一旦按下键 则开始倒计数,当计数为0时,发出一阵音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下 操作键K1~K4动作如下。
K1—可调整倒计数的时间1~60分钟。 K2—设置倒计数的时间为5分钟,显示“0500”。 K3—设置倒计数的时间为10分钟,显示“1000”。 K4—设置倒计数的时间为20分钟,显示“2000”。 复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1 键,
“Program File”栏中添加上面编译好的目标代码文件 “keil-5.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真如下页图所示,当闹钟到达时,可以听见蜂鸣器演 奏的乐曲。再次提示,本题目必须选用蜂鸣器SOUNDER ,否则不能发出声音。
单片机矩阵键盘设计方案
单片机矩阵键盘设计方案一、设计目标设计一个8行8列的矩阵键盘,每个按键都有一个唯一的键码,能够正常读取用户的按键输入,并将按键对应的键码显示在LCD屏幕上。
二、硬件设计硬件设计包括键盘电路和显示电路两部分。
1.键盘电路设计矩阵键盘的硬件设计主要包括键盘矩阵、行扫描电路和列读取电路。
键盘矩阵由8行8列的按键构成,每个按键都连接到一个由二极管组成的矩阵。
行扫描电路使用8位输出的GPIO口,根据行的值来选通对应的行组。
列读取电路使用8位输入的GPIO口,根据列的值来读取对应的列组。
2.显示电路设计三、软件设计软件设计主要包括初始化设置、按键检测、键码解析和显示处理四个部分。
1.初始化设置首先需要对GPIO口进行初始化设置,将扫描行的GPIO口设置为输出模式,将读取列的GPIO口设置为输入模式。
同时需要对LCD屏幕进行初始化设置,设置显示模式、光标位置等参数。
2.按键检测循环扫描每一行,当其中一行被选通时,读取每一列的值。
如果其中一列的值为低电平,则表示对应的按键被按下。
将按下的按键的行和列的值保存下来,用于后续的键码解析。
3.键码解析根据行和列的值,通过查表的方式找到对应的键码。
将键码保存下来,用于后续的显示处理。
4.显示处理将键码传送给LCD屏幕,通过LCD屏幕的驱动芯片进行解析和显示。
根据LCD屏幕的显示方式,可以选择逐行显示或者按需显示的方式。
四、优化设计在以上基本设计方案的基础上,可以进行一些优化设计,以提高系统的性能和可靠性。
1.消除按键抖动按键在实际使用中会存在抖动现象,需要通过软件滤波来消除。
可设置一个适当的延时,当检测到按键按下后,延时一段时间再进行键码解析,只有在延时之后仍然检测到按键按下,才认为是一个有效的按键。
2.防止冲突按键由于矩阵键盘的性质,可能存在一些按键组合会产生冲突的情况。
可以通过硬件设计和软件处理来解决。
在硬件上,可以增加二极管来隔离不同的按键。
在软件上,可以通过扫描算法和按键排除的方式来避免冲突。
单片机控制8位数码管显示秒表课程设计
长沙学院《单片机原理及应用》课程设计说明书题目 LED数码管显示电子秒表设计系(部) **系专业(班级) *************姓名邹部长9931学号******指导教师***起止日期 2016.12.19—2016.12.24《单片机原理及应用》课程设计任务书1系(部):**系专业:******长沙学院课程设计鉴定表目录摘要 (5)第一章概述 (6)1.1电子秒表的设计要求 (6)1.2电子秒表的电路图 (6)1.3电子秒表的设计原理及方案 (7)第二章电子秒表的程序设计 (8)2.1 程序设计流程图 (8)2.2程序设计源代码 (10)第三章程序的调试 (16)第四章设计总结 (17)参考文献 (18)摘要随着经济与社会的发展对智能化和信息化技术要求的不断提高,单片机作为智能控制的核心,逐渐渗透到社会生产和生活的各个方面。
而本文则主要阐述基于单片机设计的数码管秒表,这次设计所采用的的单片机为stc89c52单片机,数码管则是使用2个4位共阴LED数码管组成的8位。
为减少I/O口,而使用了SM74HC138 和74HCT573这2片芯片实现数码管显示8位数据。
利用单片机内部定时器实现计时功能,分别显示为:分—秒—0.01秒。
控制则是使用一键控制,可实现计时开始,计时暂停,计时清零3个功能的循环。
本次的程序设计采用C语言编写,包括显示程序,定时中断服务程序,延时程序。
最后在单片机电路板来观察工作状态。
第一章概述1.1电子秒表的设计要求○1显示要求在初始状态显示的是00—00—00,最左边的2位显示分钟,中间2位显示秒,左边2位显示十分之一秒和百分之一秒,还有个2个LED数码管只显示中间那一段,用作间隔符。
○2然后还的有一个键用来控制秒表,要求按第一下开始计时,按第二下暂停计时,按第三下清零,以此往复循环控制。
○3使用单片机T0方式实现计时0.01秒。
1.2电子秒表的电路图1.3电子秒表的设计原理及方案设计原理根据单片机本身的定时计数器实现1秒的计时。
51单片机原理及应用基于KeilC与Proteus教学设计 (2)
51单片机原理及应用基于KeilC与Proteus教学设计摘要本文主要介绍了基于KeilC与Proteus平台的51单片机原理及应用的教学设计,旨在帮助初学者更好的了解单片机编程的基本原理,以及如何使用KeilC和Proteus平台进行单片机的开发和调试。
本文包括了单片机的基本原理、汇编语言的基础知识、C语言编程基础、KeilC和Proteus平台的基本使用方法,以及基于这些知识实现的一些实例设计,可以帮助读者在实践中更好的理解单片机编程的基本原理。
1. 51单片机的基本原理51单片机是一种基于CISC架构的8位单片机,由Intel公司于1980年推出,具有高速、低功耗、易于编程等优点,被广泛应用于嵌入式系统中。
51单片机由CPU、存储器、IO口和时钟电路等组成,其中CPU采用Harvard结构,能够同时访问程序存储器和数据存储器,具有较好的执行效率。
2. 汇编语言的基础知识汇编语言是学习单片机编程最基本的知识之一,其主要作用是将人类能够理解的代码翻译成机器可以执行的指令。
汇编语言的学习包括了数据类型、指令集、寻址方式等内容,通过学习这些内容,能够更好的理解单片机编程的基本原理。
3. C语言编程基础C语言是一种高级编程语言,与汇编语言相比具有易学易用等优点。
在单片机编程中,C语言可以更好的实现程序设计的模块化,增强代码的可读性和可维护性。
C语言编程基础知识包括数据类型、语句控制结构、数组、指针等,通过学习这些内容,能够更好的进行单片机编程。
4. KeilC和Proteus平台的基本使用方法KeilC和Proteus是进行单片机编程、仿真和调试的常用工具,能够有效地辅助开发者进行单片机开发。
KeilC是一款集成开发环境,支持多种语言的编程,可用于单片机程序的开发和调试;Proteus是一款电子电路仿真软件,能够进行单片机程序的仿真和调试。
通过学习KeilC和Proteus平台的基本使用方法,能够更好的进行单片机编程。
单片机软件设计规范
中山欧普照明股份有限公司Guang Dong Opple Lighting Co;Ltd文件编号:OP-QPM-版本版次:A1制定部门:灯具研发/LED控制室制定日期:2011.09.09修改日期:总页次:目录1 目的 (1)2 范围 (1)3 职责 (1)4 总则 (1)5 单片机软件设计规范内容 (1)5.1数据类型定义 (1)5.2标识符命名 (1)5.2.1 命名基本原则 (1)5.2.2 宏和常量命名 (2)5.2.3 变量命名 (2)5.2.4 函数命名 (2)5.2.5 文件命名 (2)5.3注释 (2)5.3.1 注释基本原则 (2)5.3.2 文件注释 (3)5.3.3 函数注释 (3)5.3.3.1 函数注释 (3)5.3.3.2 代码注释 (4)5.3.3.3 标识符的注释 (5)5.4函数 (5)5.4.1 设计原则 (5)5.4.2 函数定义 (6)5.4.3 局部变量定义 (6)5.4.4 功能实现区规范 (6)5.5排版 (6)5.5.1 缩进 (6)5.5.2 分行 (6)5.5.3 空行 (7)5.5.4 空格 (7)5.5.5 花括号 (7)5.5.6 switch语句 (8)5.6程序结构 (8)5.6.1 基本要求 (8)5.6.2 可重入函数 (9)5.6.3 函数的形参 (9)5.6.4 循环 (9)1 目的为了提高源程序的质量,增强其可读性、可移植性、可维护性,从而达到合理利用单片机资源,提高产品性能以及缩短研发周期的目的,特编写此规范。
2 范围本标准规定了程序设计人员进行程序设计时必须遵循的规范。
本规范主要针对C编程语言和MPLAB 编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。
3 职责指导工程师按照软件规范进行单片机系统的开发。
4 总则1.可读性(格式清晰、注释简明扼要、命名规范易懂)2.可移植性(函数模块化、可扩展)3.可维护性(程序易读易维护,可追溯)4. 高效率的代码(空间效率高及时间效率高)5 单片机软件设计规范内容5.1 数据类型定义编程时统一采用下述新类型名的方式定义数据类型。
基于STC89C52单片机最小系统的设计
基于STC89C52单片机最小系统的设计在现代电子技术领域,单片机的应用无处不在,从家用电器到工业自动化,从智能仪器仪表到航空航天设备,都能看到单片机的身影。
STC89C52 单片机作为一款经典的 8 位单片机,以其高性能、低功耗、易于开发等优点,被广泛应用于各种电子系统中。
而要让 STC89C52 单片机正常工作,就需要设计一个可靠的最小系统。
一、STC89C52 单片机简介STC89C52 单片机是由宏晶科技生产的一款增强型 8051 单片机,它具有 8K 字节的 Flash 程序存储器、512 字节的 RAM、4 个 8 位并行I/O 口(P0、P1、P2、P3)、3 个 16 位定时器/计数器、1 个全双工串行通信口等资源。
其工作电压为 5V,工作频率可达 35MHz,能够满足大多数应用场景的需求。
二、最小系统的组成一个完整的 STC89C52 单片机最小系统通常包括以下几个部分:1、电源电路电源是整个系统的动力源泉,STC89C52 单片机的工作电压为 5V,因此需要一个稳定的 5V 电源为其供电。
可以使用线性稳压器(如7805)将输入的电压(如 9V 或 12V)转换为 5V 输出,也可以使用USB 接口直接提供 5V 电源。
2、复位电路复位电路的作用是在系统上电或出现异常时,将单片机的内部状态恢复到初始状态,使其能够正常工作。
常见的复位电路有上电复位和手动复位两种。
上电复位电路通过电容充电实现,手动复位电路则通过按键实现。
3、时钟电路时钟电路为单片机提供工作所需的时钟信号,决定了单片机的运行速度。
STC89C52 单片机可以使用内部时钟,也可以使用外部时钟。
内部时钟通过在单片机的 XTAL1 和 XTAL2 引脚之间连接一个晶振和两个电容来实现,晶振的频率通常为 110592MHz 或 12MHz。
4、下载电路为了将编写好的程序下载到单片机中,需要设计一个下载电路。
STC89C52 单片机支持通过串口下载程序,可以使用 MAX232 芯片将单片机的 TTL 电平转换为 RS232 电平,然后通过串口线与计算机连接进行程序下载。
PIC单片机程序设计的基本格式及PIC系列8位单片机源程序的组成
PIC单片机程序设计的基本格式为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。
建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84 INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。
现举例如下。
TITLE“This is……”;程序标题;程序说明LIST P=16F84,F=1NHX8M;include <p16F84.inc>-config_RC_Qsc &_WDT_0FF…;资源定义和变量定义STATUS EQU 03FSR EQU 04PORTA EQU 05PORTB EQU 06J EQU 01FK EQU 01E;…………………ORG 0000 ;goto MAIN ;跳过中断矢量ORG 0004goto INTSRV;子程序入口地址;……………………………………MAIN ;从0005H开始放主程序call Initports ;端口初始化call InitTimers;定时器初始化…INTSRV …;中断服务程序区SVBRTH…;子程序区END ;程序结束符当然,在编写程序时可根据实际情况加以调整。
下面是一份实际程序清单,要求将数据88H写入PIC16F84单片机内部EEPROM的20H单元,而后再从20H单元将其读出。
LIST P=16F84,F=INHX8M;……………………………STATUS EQU 03 ;定义寄存器EEDATA EQU 08EEADR EQU 09INTCON EQU 0BHEECON1 EQU 88HEECON2 EQU 89H;…………………………RD EQU 0 ;定义位WR EQU 1RP0 EQU 5GIE EQU 7;…………………………ORG 0GOTO WRSTART;……………………………ORG 10HWRSTART ;写入操作开始CLRW ;清W,使W=0BCF STATUS,RP0 ;选BANK0MOVLW 20HMOVWF EEADR ;地址→EEADRMOVLW 88HMOVWF EEDATA ;写入数据→;EEDATABSF STATUS,RP0 ;选BANK1BSF EECON1,2 ;写操作使能允许BCF INTCON,GIE ;关闭所有的中断MOVLW 0X55MOVWF EECON2 ;55H→EECON2MOVLW 0XAAMOVWF EECON2 ;AAH→EECON2BSF EECON1,WR ;启动写操作BSF INTCON,GIE ;恢复开中断RDSTART ;读出操作开始BCF STATUS,RP0MOVLW 20HMOVWF EEADR ;地址→EEADRBSF STATUS,RP0BSF EECON1,RD ;启动读操作BCF STATUS,RP0MOVF EEDATA,W ;将EEPROM;数据读入WENDPIC系列8位单片机源程序的组成PIC系列单片机的源程序是指PIC的助记符指令编写的程序(汇编语言程序)。
STM8S_简介
允许同时访问指令和数据 读写操作在同一个周期执行
cy
1 F
2 D F
3 E D
4 E D F
5
6
7
8
9
10
独立的指令和数据存储空间 (哈佛架构) , 大多数指令和操作的取址,译码, 执行可在单个机器周期完成。
0xC000 0xC001 0xC003 0xC005 0xC006 0xC007 0xC008 0xC00A
NEG A XOR A, #8 LD X, #20 LD (X), A INC X LD (X), A ADC A, 25 SRL A
1 1 1 1 1 1 1 1
E D E D E D F E D E D E
FETCH
DECODE
EXECUTE
STM8S MCU family
Marketing presentation
Sep 2008
STM8 Simply smarter
STM8S 芯片内部框图
主要性能 :
3.0-5.5伏 -40 to +125 °C 24MHz 内核工作频率 10K 次FLASH擦写次数 300K EEPROM擦写次数 4 种低功耗模式 (~5µ 停机模式) A 可校正的内部 RC 16MHz,精度 +/-1% 红外和智能卡接口 SWIM 快速编程 (<6s for 128KB) LQFP 80, 64, 48, 44, 32 VQFN 20, 32, 48 TSSOP 20
00 0000h 00 17FFh 00 4000h 00 47FFh 00 4800h 00 48FFh 00 5000h 00 6000h 00 67FFh 00 7F00h 00 8080h
基于8位单片机的小型机器人系统的设计与实现
基于8位单片机的小型机器人系统的设计与实现摘要:设计并制作了以avr单片机atmega16l为控制器的小型机器人、以at89s52为mcu的51单片机实验板和uart串行通信接口等部分构成的硬件系统。
根据具体硬件系统的特性,用c和c++语言开发了机器人串口调试软件与综合控制软件。
实现了无线遥控或远程网络控制机器人完成前后行走、翻跟斗、跳舞,并由机器人变形成小车,以及小车的前后左右行驶,再由小车变形成机器人等功能。
关键词:机器人;串口通信;无线通信;网络通信中图分类号:tp368.12 文献标识码:a 文章编号:1007-9599 (2013) 03-0000-021 概述机器人技术是当今科学研究的热点之一,本课题设计并实现了一个以8位单片机为核心控制器的集口串口控制、网络控制、无线通信控制于一体的机器人系统。
完成了基本电路板的设计、机器人实体机构所涉及及制作、相应控制程序的开发设计及调试等工作。
本设计的小型机器人系统包含以atmega16l为控制器的小型机器人、以at89s52为mcu的51单片机实验板、nrf2401半双工无线通信模块、以pt2262/pt2272编码解码芯片的发送模块(遥控)接受模块、uart串行通信接口等部分构成的硬件系统。
软件系统包括:机器人串口调试上、下位机软件和机器人独立运行软件,51单片机下位机软件,本地服务器串口控制上位机软件与远程客户端控制软件。
根据本系统要具备的功能进行系统的总体设计,可以将本系统分成三大部分来实现,包括:机械实体部分、硬件电路部分、软件程序部分。
其中硬件电路又可分为机器人电路和51单片机电路。
2 硬件电路设计本机器人系统各部分的电路原理图设计是在proteldxp中完成的。
需要设计完成的电路有机器人控制电路、串行通信接口、直流电机驱动电路、51单片机实验板电路。
机器人控制电路板主要由单片机最小系统、电源、jtag接口等部分构成。
51单片机实验板电路包括微控制器最小系统、串口模块、显示模块、数字温度传感器ds18b20、时钟芯片ds1302等模块。
单片机课程设计报告 八路抢答器
单片机课程设计报告八路抢答器————————————————————————————————作者:————————————————————————————————日期:《单片机原理及接口技术》课程设计报告课题名称题目15八路抢答器设计★★学院自动控制与机械工程学院专业电气工程及其自动化班级姓名学号时间2011-12-27目录前言 (3)一、课程设计的目的和要求……………………………….。
.3二、方案设计2。
1功能介绍 (5)2。
2抢答器的工作原理 (6)三、硬件设计电路设计3。
1原理图的确定...................................................。
7 3。
2芯片的选择......................................................。
8 3。
3复位电路的设计......。
...。
.。
...。
.。
.。
..。
..。
..。
.。
.。
...。
(10)3.4晶振电路的设计……。
..。
..。
..。
.。
.。
.。
...。
...。
...。
.。
...。
.11 3。
5数码显示管的选择……。
.。
.....。
.。
.。
.。
.。
....。
..。
.。
..113.6报警设计……。
..。
.。
....。
.。
..。
.。
.。
....。
.。
.......。
.。
.。
.。
123.7 八位抢答输入设计...............................。
.........。
(12)3。
8主持人控制按键……………………。
.。
.。
..。
.。
..。
..。
.....。
.。
13四、软件设计思想及流程4。
1 主程序的设计 (14)4。
2子程序的设计 (15)五.调试过程和调试方法……………………………………。
..20六、课程设计体会 (22)七、参考文献 (22)附录 (23)前言单片机和其他微型机一样,也是由CPU(包括运算器和控制器)、存储器、输入设备、输出设备组成,只不过单片机是将CPU、RAM、ROM、定时/计数器,以及输入/输出(I/O)接口电路等计算机的主要部件集成在一小块硅片上的单片微型计算机.它具有体积小、可靠性高、性价比高等优点,主要应用于工业检测与控制、计算机外设、只能仪器仪表、通讯设备、家用电器和机电一体化产品等领域。
单片机课程设计—8个按键控制8个LED自动设定控制流水灯
实用标准东北石油大学实习总结报告实习类型生产实习实习单位东北石油大学实习基地实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日指导教师刘东明、孙鉴所在院(系) 电子科学学院班 级 电子科学与技术 15-2学生姓名学号1509012402文案大全2018 年 7 月 16 日实用标准目录第 1 章 按键控制流水灯设计 ........................................ 1 1.1 实习目的 ................................. 错误!未定义书签。
1.2 实习要求 ................................. 错误!未定义书签。
第 2 章 电路工作原理 .............................................. 2 2.1 STC89C52 单片机工作原理 ................................... 2 2.2 LED 工作原理 .............................................. 3 2.3 按键工作原理 .............................................. 3 2.4 整体电路图 ................................................ 5 2.5 本章小结 .................................................. 6第 3 章 C 程序设计 ................................................. 7 3.1 程序设计流程图 ............................................ 7 3.2 实验结果 .................................................. 8 3.3 本章小结 .................................................. 9总结及体会 ...................................................... 10 参考文献 ........................................................ 11 附录 ............................................................ 12文案大全实用标准第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心。
单片机课程设计-8位8段LED数码管动态扫描显示
华南理工大学广州汽车学院单片机课程设计题目:8位8段LED数码管动态扫描专业:电子信息工程班级:09电信(1)班姓名:付锦辉学号:200930062745一、内容要求:在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W 和M,所以改为显示“HELLO-93”)二、目的和意义1、掌握数码管动态扫描显示原理及实现方法。
2、掌握动态扫描显示电路驱动程序的编写方法。
三、总体方案设计思路LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。
这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。
动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。
其接口电路是把所有显示器的8个笔画段A-DP同名端并联在一起,而每个显示器的公共极COM各自独立地接受I/O线控制,CPU向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。
而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。
采用总线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。
P2口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
举例:盖房子
本平台要提供一个房子的框架结构(固
定好是砖混结构),并定好门、窗、阳 台的位置,但具体的内部装修并不固定, 可由程序人员自由组合 同时提供多种门、窗及装修材料(模块) 供程序人员使用,并且这些材料都是经 过测试没有问题的,保证工程的质量 当地基改变后,只需动与地面相连的地 方即可,上层全可以不动
基本软件架构
主循环 时间中断 外部中断
* 三者是并行的关系 * 本质上单片机是顺序执行,只有在中断发生的时候才 会进入中断执行,中断内容执行完毕后返回到主循环中 * 事实上程序中的大部分代码都是无硬件无关的,因此 我们为提高程序的可移植性,提出分层设计的思想
软件工程中的分层设计
应用程序 操作系统 驱动程序 硬件抽象层
模块划分原则:按文件划分
主程序(main.c) (对下面的函数进行调用) •硬件无关 通过函数与 驱动文件相 连 流程相关文件 通用函数文件 与硬件相关 内容 算法文件 包括滤波、控制算法 其他与硬件有关 的文件 设备驱动文件 蜂鸣器驱动 与硬件有关的内容 (.h文件)
显示相关文件
按键处理相关文件
EEP_hardware.h
从上面可以看出,当更换芯片时,驱动
程序的内容完全不动,只需更改 EEP_hardware.h里的内容即可
程序初始化流程
开始 (Main) 硬件SFR初始化 (f_InitSFR) 软件预处理 (f_Predeal) 基本数据初始化 (f_InitData) EEPROM中保存数据读取 (f_ReadEEPData) 检测跳线 (f_CheckJumper) 系统自检 (f_SelfTest) 主循环 While (1)…
sfr_r82b.h
调用关系说明
所有的驱动程序只包含一个与硬件有关
的.h文件,更改硬件时只更改此.h文件即 可 所有驱动程序间没有任何的联系,但驱 动程序可能会调用Hardware.c中的函数 CommFunc.c相当于一个标准库,其中的 函数可由任何文件调用 MainStruct.h文件可以由任何文件包含 Hardware.c负责与硬件相关的操作 Io_define.h负责普通IO口的定义,可由任 何文件包含
举例:main.c
外部中断的处理
外部中断要考虑到干扰的影响,一般会
有滤波措施 必要时嵌入汇编实现
举例:CheckFlux.c
通信模块的处理
定义通信协议时必须有头码,有校验码 处理通信接收时必须有异常处理
以主从方式进行通信时注意从端无应答
时的处理 因与时间有关,尽量使用中断来实现通 信信号的输出和接收 调试速率的选择 CRC16和CRC32校验
其他基本注意事项
缓冲区的设立:通讯发送和接收都需要
设置连续的缓冲区,方便程序书写和调 试 可以使用表格的方式尽量使用表格,可 以使程序量大大减少,同时方便修改。 需要在设计的阶段就考虑到。 节省RAM区的使用,因为C语言是以堆 栈为基础的,因此一定要保留足够的堆 栈大小
IO口定义文件
硬件平台
我们的分层设计
基本软件平台 不随硬 件更改 而更改 应用程序 通用程序 负责程 序的时 间片分 配
驱动程序 硬件抽象层
随硬件 更改而 更改
硬件平台
改变思路
一个源文件解决所有:可以,但可移植性和可
读性不好。可以说把c程序做成一个文件的还 停留在汇编程序设计的思路上,他只是换了种 语言工具而已,而非改变了设计思路。 以后的系统会越来越复杂,使用成熟的代码等 于站在巨人的肩膀上 从系统角度考虑问题:没有最好的,只有最适 合的(不要迷信规格书),事实上很多系统工程 师也不知道怎么做才是最好的 软件只是系统的一部分,但是是灵魂所在,尤 其在涉及到控制算法的时候
设计思想
为8位单片机软件设计提供一个可参考的
平台,程序设计人员按照此平台可以轻 松,可靠地设计出高质量的产品 一些成熟的模块标准化,提供长时间测 试没有问题的模块新的芯 片系统。而且这些改动不会影响到系统 的可靠性 提供一个可以检测软件代码编写是否符 合设计规范的测试平台
基本8位单片机的软件平台 设计方案(2)
基本平台架构设计及模块划分
平台设计目标
规范性:做到从变量命名、函数命名到模块划分全 部有规范可依,使非编程本人也可以正确、快速、 无误地修改软件 硬件无关性:与硬件有关的函数单独处理,而主程 序则通过调用这些函数来对MCU端口进行操作,这 样无论使用什么MCU,只要支持C语言,都可以很 快地将程序移植过来,使软件不再受MCU的控制; 可扩展性:流程确定后,如果有新的模块加入,不 会改动整个系统流程,只需在程序中加入此模块的 调用,修改与此模块有关的函数即可; 模块化:将整个软件程序分为若干个模块,模块之 间通过函数相连,只要确定了模块的输入/出变量以 及模块流程,此模块在经过详细测试后便可保证不 再出错,如有新的程序需要编写,只需编写新的模 块即可,真正使软件错误不会重复出现; 可移植性:本方案中所定义的模块可以嵌入至任意 一个系统,在编制一个新的系统前,首先将与系统 有关的函数调用过来即可
设备驱动文件 LCD驱动 与硬件有关的内容 (.h文件)
设备驱动文件 按键检测 硬件抽象层 (.h文件)
主芯片
硬件抽象层的实现
Hardware.c文件:负责整个MCU的初始
化,PWM输出,检测AD等函数的实现 举例:Hardware.c
.h文件:负责与驱动程序的接口 举例:与EEPROM的接口
主程序基本框架
main.c 主程序框架中包含对各分文件的模块调用及系统基本
流程的实现
主时间中断函数也在主程序中实现 Main.h中实现全局变量的定义 在主程序里处理时间时必须保证主程序一次循环时间
开销必须小于一个最基本的时间中断,即一个基本的 时间节拍(所以基本时间节拍一般选择10ms)。
基本文件划分方式
所有与中断、时序、算法有关的单独使用一个文件。
如
– LCD 6024驱动:和时序有关,负责根据规格书定义的时序驱 动6024,主程序调用时即可以不需知道6024内部时序,直接 将要显示的内容发送给接口函数即可 – EEPROM驱动:和时序有关 – BUZZER驱动:单独做成一个文件提高可移植性 – 脉冲宽度或个数检测:如水流量脉冲检测,一般会涉及到滤 波算法,故单独使用一个文件 – 风机控制:既使用了中断,又需要控制风机,会涉及到滤波 算法和控制算法,必须单独一个文件 – 通讯:与时序有关,单独一个文件,与主程序只有一个缓冲 区的接口,方便排错 – 按键检测:与算法相关,需要滤波,单独一个文件,在移植 的时候会方便很多 – 温度检测:一般涉及到滤波算法,单独一个文件 – 控制算法:涉及到算法效率及控制性能,单独一个文件实现
MainStruct.h文件:负责结构体的定义
举例:MainStruct.h 只包含定义,不包含具体变量的实现,
也就是说,不为此文件分配任何RAM区
时间中断的处理
要求代码少,效率高 除了必须使用的扫描等功能,其他和时间有关
的只是设置变量标志位,并不做任何处理,所 有的处理均放在主程序中处理 必要时嵌入汇编实现 实现时注意优化代码,编译后使用反汇编程序 来查看对应的汇编代码 注意有些芯片计时是不准确的,所以要有定时 检测方法(可通过定时控制IO口输出之后通过 示波器检测)
举例Uart.c
调试模块的使用
如果UART发送口没有被占用,建议将其
用做调试监视使用 定期向UART口发送主要的变量数据,可 通过连接到电脑显示曲线,通过曲线可 看出当前数据的正确与否,适合于不能 使用仿真器仿真的情况下
Io_define.h文件:负责基本输入输出IO口
的定义
举例:io_define.h 如果硬件更改了IO口的位置,则只更改
此文件即可,其他文件内容都不变
Const.h定义文件
Const.h文件:负责常量的定义
举例:MainConst.h 此文件包含的是一些常量的定义
MainStruct.h定义文件
注:
并不是所有的模块都是必须的 括号内的内容为模块名称; 软件预处理为一段延时,等待芯片复位后各端口均稳定下来;
主循环流程图
系统框图.doc
基本文件划分方式
Main.c: 主文件,程序的入口(注意并不一定是
芯片复位后的入口),负责所有文件间的调度 Main.h: 主文件头文件,包含全局变量的定义, 以及外部变量和外部函数的声明 Hardware.c:硬件相关文件,负责与硬件相关 的函数定义,如MCU的特殊寄存器定义模块 (f_InitSFR),AD检测函数f_CheckADVaule(), PWM输出函数等 Io_define.h:IO口定义头文件 MainConst.h:常数定义文件 MainStruct.h:结构定义文件,包含可能用到的 所有结构定义,不包含变量 通用函数CommFunc.c:与硬件无关的通用函 数,如BCD码转16进制码等函数
设计控制器前需了解整机系统
控制板的控制目标:一定要弄清楚负载
是什么,控制负载的电控元件是什么, 此元件的优缺点。如继电器、可控硅、 比例阀等等 控制板的精度:如温度控制会同时涉及 到采样和控制的精度问题 这样做是最可靠的方式吗? 这样做是对用户最来说是最方便的方式 吗? 一定要注意回差问题:如通过水流量判 断开关机,通过温度判断风机转速等等
注意需要精确时间的地方的处理方式
几个主要的变量
nSysState: 系统状态,其具体值在
MainConst.h中定义,其值的变化表示了 整个系统的状态变化过程 tError: 故障变量,结构变量,如果系统 发生了故障则设置其中一个位为1,如果 tError.byte的值不为0则表示有故障发生 tRelay: 继电器控制输出变量,在中间的 过程中只修改此变量的值,在调用 OutControl()函数的时候根据此变量的值 对MCU端口进行输出