河南营销型网站建设,wordpress 10万pv,网站打不开了,网站及新媒体帐号内容建设如何开始学习单片机
1#xff1a;实践第一
2#xff1a;补充必要的理论知识#xff0c;缺什么补什么
3#xff1a;做工程积累经验#xff08;可以在网络上收集题目#xff0c;也可以有自己的想法大胆的实验#xff09;
单片机是什么#xff1f;
单片机#xff08…如何开始学习单片机
1实践第一
2补充必要的理论知识缺什么补什么
3做工程积累经验可以在网络上收集题目也可以有自己的想法大胆的实验
单片机是什么
单片机Microcontroller是一种集成了中央处理器CPU、内存和各种输入输出I/O接口的微型计算机系统。它通常由微控制器芯片构成被广泛应用于嵌入式系统中。
与传统的个人计算机PC相比单片机的规模更小、功耗更低且价格更便宜。它被设计用来完成特定的任务如控制、测量、监测等。单片机通常搭载了一套完整的指令集能够执行各种软件程序并可以与外部硬件设备进行通信。
单片机的特点在于它的集成度高、体积小、功耗低具有实时响应能力和可编程性。它可以通过编程来实现各种功能并且可以根据不同的应用需求进行定制和扩展。
单片机广泛应用于各个领域如家电控制、汽车电子、智能设备、工业自动化等。它在嵌入式系统中发挥着重要的作用为各种设备提供了智能化和自动化的功能。
电平特性
数字电路的电平特性指的是在数字电路中不同电平代表的逻辑状态以及它们之间的切换条件。在数字电路中通常使用两种状态来表示逻辑信息即高电平High Level和低电平Low Level。
高电平通常表示逻辑上的1低电平通常表示逻辑上的0。具体电平的电压数值可以根据具体的数字电路标准和逻辑家族而有所差异。
在大多数数字电路中高电平和低电平之间有一个电压阈值用于判断电路信号的逻辑状态。当信号电压高于电压阈值时被认为是高电平当信号电压低于电压阈值时被认为是低电平。
电平的切换有两个重要的条件
上升沿Rising Edge当电压从低电平状态切换到高电平状态时称为上升沿。上升沿通常表示信号的从低到高的转变可以触发某些动作或操作。下降沿Falling Edge当电压从高电平状态切换到低电平状态时称为下降沿。下降沿通常表示信号的从高到低的转变也可以触发某些动作或操作。
电平的稳定性和切换条件对于数字电路的正确工作至关重要。在设计和实现数字电路时需要考虑电平特性确保信号能够正确地被解释和传递以实现预期的逻辑功能。
数字电路中只有两种电平高和低本次课程中定义单片机使用的是TTL电平高 5V 低0VRS232电平计算机的串口高-12V低12V所以计算机与单片机之间的通讯需要加电平转换芯片MAX232
进制转换
进制转换是指将一个数值从一种进制表示转换为另一种进制表示的过程。以下是常见的进制转换规则
二进制Binary转换为十进制Decimal 将二进制数从右向左写出每位数与2的幂相乘然后求和。 十进制转换为二进制 用除2取余法将十进制数不断除以2直到商为0然后将余数按从下往上的顺序排列起来。 二进制转换为八进制Octal 将二进制数按照每3位进行分组然后将每组转换为对应的八进制数。 八进制转换为二进制 将八进制数中的每个八进制位转换为对应的3位二进制数。 二进制转换为十六进制Hexadecimal 将二进制数按照每4位进行分组然后将每组转换为对应的十六进制数。 十六进制转换为二进制 将十六进制数中的每个十六进制位转换为对应的4位二进制数。 十进制转换为十六进制 用除16取余法将十进制数不断除以16直到商为0然后将余数按从下往上的顺序排列起来若余数为10-15则可以用字母A-F来表示。 十六进制转换为十进制 将十六进制数的每位数与16的幂相乘然后求和。
这些是常见的进制转换规则根据不同的进制之间的关系可以通过相应的计算方法来进行进制的转换以上的知识需要学会二进制转换和16进制的转换B为后缀表示2进制H结尾表示16进制
二进制各个进制位的对应关系 二进制转换为16进制
1001B -- 9 -- 9H, 1010B–10–AH, 00101100 -- 44 -- 2CH
4个二进制表示的是16进制44表示的是 16*2 32 然后 44 -32 12也可以除去16看余数
二进制数的逻辑运算
与运算是实现必须都有的否则就没有这种逻辑关系的一种运算运算符为 . 其运算规则为 0.0 0 0.1 1.0 0 1.1 1全真为真有假为假运算符为点号 . 。c语言中的与运算符规则 11 1 10 0, 00 0。
或运算是实现必须都有的否则就没有这种逻辑关系的一种运算运算符为 运算的规则如下 有真为真。全假为假
c语言中的与运算符规则1 | 1 1 , 1 | 0 1, 0 | 0 0在单片机的运算符为1 |1 1 , 1 0 1, 0 0 0。
非运算实现必须都有的否则就没有这种逻辑关系的一种运算运算符为 数字或字母上面加上一横非运算在c语言中的表示是取反真就是假假就是真 1 0 0 1
异或运算是实现必须都有的否则就没有这种逻辑关系的一种运算运算符为 一个小圈圈里面包含一个加号 运算规则为相同为0不同为1异或在c语言中的表示为0^0 0 , 0 ^1 1, 1^1 0.
此外在c语言中还有 短路与 短路非 短路或。
单片机的介绍
80C51是英特尔公司推出的一款经典的8位单片机系列。它是基于英特尔的MCS-51架构是一种非常受欢迎和广泛应用的单片机系列。
80C51单片机系列具有以下特点
8位处理器架构80C51系列采用8位的中央处理器CPU具有较低的功耗和成本适合各种嵌入式应用。存储器80C51单片机有内部的ROM只读存储器和RAM随机存储器ROM用于存储程序代码RAM用于存储数据。外设接口80C51单片机系列提供了丰富的外设接口包括通用输入/输出GPIO、串行通信接口UART、定时器/计数器、模拟到数字转换器ADC等方便与外部设备进行通信和控制。中断系统80C51单片机具有灵活的中断系统可以处理多个中断源实现快速响应和处理外部事件。时钟和定时器80C51单片机内部集成了时钟电路和定时器/计数器可以提供精确的时间基准和实现各种定时功能。低功耗模式80C51单片机支持多种低功耗模式以实现节能和延长电池寿命。
80C51单片机系列在各种应用领域得到了广泛的应用包括家电、工业自动化、通信设备、仪器仪表、汽车电子等。由于其成熟稳定、易于使用和广泛的软件和硬件资源支持80C51单片机已经成为许多工程师和学习者首选的嵌入式控制器。
目前常用的80C51系列单片机产品有
AT89C51系列这是常用的基于英特尔80C51架构的单片机系列。它具有较高的性能、丰富的外设接口和灵活的中断系统。常见的型号有AT89C51、AT89C51RC、AT89C51RD等。STC89C51系列这是中国STC公司STC Micro推出的80C51系列单片机。它采用相同的指令集和架构但具有更多的存储器和更丰富的外设接口。常见的型号有STC89C51、STC89C52、STC89C58等。NXP P89V51RD2系列这是荷兰恩智浦NXP公司推出的80C51系列单片机。它具有较高的性能和较大的存储器容量支持更多的外设接口和功能。常见的型号有P89V51RD2、P89V51RB2、P89V51RD2BN等。Silicon Labs C8051F系列这是美国硅实验室Silicon Labs推出的80C51系列单片机。它融合了传统的80C51架构和先进的集成电路技术具有较高的性能和较低的功耗。常见的型号有C8051F320、C8051F340、C8051F380等。
这些80C51系列单片机产品在嵌入式系统、工业控制、通信设备、汽车电子等领域得到了广泛的应用。不同厂商的产品具有略微的差异但基本保持了80C51的兼容性可以使用相同的软件开发工具和编程语言进行开发。
单片机5后面的数字决定了内部存储空间的大小STC89C52STC89C51后面的值乘以4K表示程序内部存储空间的大小则内部存储空间为2*4K 8K。PDIP表示的是该单片机的封装型号
总线型单片机介绍 非总线型单片机介绍 各个引脚功能的定义
单片机的引脚功能定义可以根据具体的单片机型号和芯片厂商有所不同。以下是一般常见的引脚功能定义以供参考
VCC电源正极单片机的供电引脚接入电源正极一般为5V。GND地单片机的接地引脚接入电源负极地。XTAL1/XTAL2晶体振荡器引脚。XTAL1连接晶体振荡器的一个引脚XTAL2连接晶体振荡器的另一个引脚用于提供单片机的时钟信号。RST复位复位引脚用于将单片机复位到初始状态。P0.x - P3.xI/O引脚。这些引脚可以设置为输入或输出并与外部设备进行通信。EA/VPP扩展地址/编程电压引脚。EA引脚用于选择外部存储器的地址空间VPP引脚用于编程单片机。ALE/PROG地址锁存使能/编程引脚。ALE引脚用于指示地址锁存器是否有效PROG引脚用于选择编程模式。PSEN程序存储器使能引脚。用于指示外部程序存储器是否有效。INTx外部中断引脚。用于连接外部中断源并触发中断服务程序。T0/T1定时器引脚。T0和T1引脚用于连接定时器/计数器并计算时间间隔或脉冲宽度。
值得注意的是具体的引脚功能定义可能会因为不同的单片机型号、芯片厂商和封装类型而有所差异。因此在使用特定的单片机时建议参考其相关的数据手册或引脚定义表以确定具体的引脚功能定义。
CPU的概念**
CPUCentral Processing Unit中央处理器是计算机系统的核心组件之一负责执行计算机指令并控制计算机的操作。
CPU主要包括以下几个部分
控制单元Control Unit负责解析和执行计算机指令控制数据的流动和操作的顺序。它从内存中读取指令解码指令并生成相应的控制信号控制其他部件的操作。算术逻辑单元Arithmetic Logic UnitALU负责执行算术和逻辑运算如加减乘除、比较、移位等。ALU可以对数据进行加工处理和转换产生计算结果。寄存器Registers是CPU内部的高速存储器用于存储指令、数据和控制信息。寄存器有各种类型如程序计数器Program CounterPC用于存储下一条指令的地址累加器Accumulator用于存储计算结果等。数据通路Data Path由数据总线、地址总线和控制总线组成用于在CPU内部和外部设备之间传输数据和控制信号。数据通路是CPU中各个部件之间的连接和传输通道。
CPU的主要功能是执行计算机指令包括从内存中读取指令、解码指令、执行指令并产生结果。它通过时钟信号驱动按照指令的顺序进行操作并且可以根据需要从内存中读取和存储数据。CPU的性能通常由时钟频率、指令集、缓存容量等因素决定不同的CPU有不同的性能和功能特性。
RAM的概念
RAMRandom Access Memory随机存取存储器是计算机系统中的一种主要存储设备用于临时存储数据和程序。
RAM是一种易失性存储器意味着当计算机关闭或重启时其中存储的数据将被清除。RAM具有快速的读写速度可以随机访问存储位置因此称为随机存取存储器。
RAM的主要作用是提供给CPU临时存储和访问数据和指令。当计算机运行时操作系统和应用程序将数据和指令加载到RAM中CPU可以快速从RAM中读取和写入数据以进行计算和处理。RAM的容量越大计算机可以同时处理的数据量越大运行速度也会相应提高。
RAM通常由DRAMDynamic Random Access Memory或SRAMStatic Random Access Memory组成。DRAM是一种容量较大且比较廉价的RAM但读写速度相对较慢。SRAM则速度更快但成本更高且容量较小通常用于高性能的缓存存储器。
RAM的容量可以根据计算机的需求进行扩展通过增加内存条或模块来提升计算机的性能。RAM的容量越大计算机可以同时运行更多的程序和处理更复杂的任务。但需要注意的是RAM的容量在一定程度上受限于计算机的操作系统和硬件架构的限制。
ROM的概念
ROMRead-Only Memory是一种只读存储器用于存储固定的数据和程序其内容在制造过程中被写入一旦写入后就无法修改或擦除。
与RAM不同ROM是一种非易失性存储器意味着即使在断电的情况下ROM中的数据也会被保留。ROM的存储内容在计算机系统启动时被加载供计算机系统进行初始化和启动所需的操作。
ROM有多种类型包括以下几种常见的
PROMProgrammable Read-Only Memory可编程只读存储器用户可以一次性编程其中的数据但一旦编程完成后无法修改。EPROMErasable Programmable Read-Only Memory可擦除可编程只读存储器用户可以通过特定的操作将其中的数据擦除并重新编程。EPROM通常需要使用紫外线照射来进行数据擦除。EEPROMElectrically Erasable Programmable Read-Only Memory电可擦除可编程只读存储器与EPROM相比EEPROM可以通过电子擦除操作来修改其中的数据而无需使用紫外线照射。Flash ROM一种特殊的EEPROM通常用于存储固件、操作系统和固定的程序。Flash ROM可以通过特定的操作进行擦除和重新编程被广泛应用于各种电子设备中。
ROM在计算机系统中起着重要的作用它存储了计算机系统的基本引导程序、固件、BIOS等关键信息确保了计算机系统能够正常启动和运行。此外ROM还用于存储一些重要的数据如加密密钥和校准数据等。
I/O的作用
I/OInput/Output是计算机系统中的输入和输出操作用于将数据从计算机系统的内部与外部设备之间进行传输。
I/O的作用包括以下几个方面
数据输入通过I/O操作计算机系统可以从外部设备如键盘、鼠标、传感器等获取用户输入的数据。这些输入数据可以用于控制计算机系统的行为、进行数据处理和执行特定的操作。数据输出通过I/O操作计算机系统可以将数据传输到外部设备如显示器、打印机、音频设备等以便向用户呈现计算机系统处理的结果、显示图像、播放音频等。存储器访问I/O操作还可以用于将数据从主存储器RAM传输到外部存储设备如硬盘、固态硬盘、光盘等或者从外部存储设备读取数据到主存储器中。这样可以实现数据的长期存储和快速访问。设备控制I/O操作还可以用于控制外部设备的行为如调整显示器的亮度和对比度、控制打印机的打印速度和打印模式等。通过控制外部设备计算机系统可以实现更加灵活和个性化的操作。
总之I/O的作用是实现计算机系统与外部世界的数据交换和控制使计算机系统能够与用户进行交互从外部设备读取数据和输出数据以及进行数据的存储和访问。
T/C的概念和作用
T/CTimer/Counter是计算机系统中的定时器和计数器。定时器用于生成一定时间间隔的定时信号计数器用于计数外部事件的次数或者计时器生成的定时信号的周期数。
T/C的概念和作用包括以下几个方面
定时功能定时器可以按照预设的时间间隔生成定时信号。这个定时信号可以用于计时、同步操作、控制外部设备等。例如在操作系统中定时器可以用于调度任务、实现时间片轮转等。计数功能计数器可以对外部事件的次数进行计数。这个外部事件可以是由外部设备产生的信号如脉冲、触发信号等。计数器的计数功能可以用于测量事件的频率、计算外部设备的速度等。PWMPulse Width Modulation生成定时器可以生成PWM信号即通过改变信号的占空比来控制输出信号的功率或者模拟电压的大小。PWM信号在电机控制、LED亮度调节等领域有广泛的应用。延时功能通过定时器的计时功能可以实现程序的延时操作。在一些需要控制时间的应用中通过设置定时器的计数值可以实现精确的延时操作。
总之T/C的概念和作用是在计算机系统中实现定时、计数、PWM生成和延时等功能。通过定时器和计数器计算机系统可以控制时间和事件的发生实现各种应用需求。
5个中断控制系统
PICProgrammable Interrupt ControllerPIC是一种常见的中断控制系统用于处理多种设备的中断请求。它允许系统处理多个中断源并对中断进行优先级排序和分发确保每个中断被及时处理。APICAdvanced Programmable Interrupt ControllerAPIC是一种高级的中断控制系统用于多处理器系统中的中断分发和处理。它支持更大的中断数量、更高的中断优先级和更灵活的中断处理方式以适应复杂的多核处理器系统。VICVector Interrupt ControllerVIC是一种用于处理嵌入式系统中中断请求的控制系统。它通过向量中断表Vector Interrupt Table来管理中断处理程序并提供中断优先级和中断屏蔽等功能。ICUInterrupt Controller UnitICU是一种中断控制单元常用于嵌入式系统中。它用于集中管理和控制各种外部设备的中断请求并将中断请求传递给处理器进行处理。INTCInterrupt ControllerINTC是一种中断控制器常用于嵌入式系统中。它用于管理和控制各种外设的中断请求负责中断的分发和处理以确保系统对中断请求进行及时响应。
这些中断控制系统在计算机和嵌入式系统中起着重要的作用它们负责管理和调度中断请求确保系统能够正确地响应各种外部事件和设备的中断需求。
C51的特点
C51是一种基于Intel 8051架构的单片机Microcontroller具有以下特点
8位CPU架构C51使用8位的位宽进行数据和指令处理适用于处理简单的任务和控制应用。由于其简单的架构C51的指令集较为简洁易于学习和理解。内置存储器C51内置了程序存储器Program Memory和数据存储器Data Memory通常采用的存储器类型为ROMRead-Only Memory和RAMRandom Access Memory。程序存储器用于存储程序代码数据存储器用于存储变量和临时数据。多个通用I/O引脚C51通常具有多个通用输入/输出引脚General Purpose Input/Output, GPIO可以与外部设备进行连接和通信。这些引脚可通过编程配置为输入或输出以实现与外部世界的交互。低功耗设计C51具有低功耗特性适用于对电源要求较高的应用场景如电池供电的设备。它通常采用了多种功耗管理技术如睡眠模式和时钟控制以降低功耗并延长电池寿命。丰富的外设接口C51通常具有多种外设接口如串口通信接口UART、SPISerial Peripheral Interface接口、I2CInter-Integrated Circuit接口等。这些接口可以与其他设备进行通信和数据交换从而扩展了C51的功能和应用范围。嵌入式系统开发环境为了方便开发者进行程序编写和调试C51通常提供了集成开发环境Integrated Development Environment, IDE其中包括编译器、调试器、仿真器等工具简化了嵌入式系统的开发过程。
C51和AMS51的区别
C51和AMS51都是基于Intel 8051架构的单片机但它们之间存在一些区别
制造商不同C51是由英特尔Intel开发和制造的单片机而AMS51是由迈思博Nuvoton公司前身为飞思卡尔Freescale开发和制造的单片机。周边外设不同C51和AMS51的具体型号和系列可能会有不同的外设配置。虽然它们都支持通用输入/输出引脚GPIO、串口通信接口UART、SPI接口、I2C接口等常见外设但具体的引脚数量、工作电压、工作频率等可能会有差异。特殊功能不同C51和AMS51的某些型号和系列还可能具有一些特殊功能和特性。例如一些AMS51型号可能具有更高的工作频率和更多的存储容量一些C51型号可能具有更低的功耗和更广泛的软件生态系统。支持和开发工具不同C51和AMS51由不同的制造商提供支持和开发工具。C51通常使用KEIL C编译器和相关开发工具进行编程和调试而AMS51则使用迈思博公司提供的开发工具套件。可用性和市场情况不同由于C51是由英特尔开发的早期单片机它的市场份额和可用性可能比AMS51更广泛。而AMS51则在一些特定的市场和应用领域有着较好的表现例如汽车电子、工业控制等。
C51数据类型介绍 c语言的运算符
一、算术运算符
C语言提供了 6 个算术运算符包括加、减、乘、除、取余和自增、自减。这些运算符常常用于数学计算可以对数字进行加减乘除运算以及获取数字的余数。
加法运算符加法运算符用于两个数字相加并返回它们的和。例如3 4 将返回 7减法运算符-减法运算符用于两个数字相减并返回它们的差。例如5 - 2 将返回 3乘法运算符*乘法运算符用于两个数字相乘并返回它们的积。例如2 * 6 将返回 12除法运算符/除法运算符用于两个数字相除并返回它们的商。例如8 / 2 将返回4取余运算符%取余运算符用于获取两个数字相除的余数并返回余数。例如5 % 2 将返回 1自增自减运算符、–自增自减运算符分为前置自增自减和后置自增自减分别表示先进行运算再进行自增自减操作和先进行自增自减操作再进行运算。例如i 表示先返回 i 的值再将 i 加 1而 i 表示先将 i 加 1 再返回i的值。
二、赋值运算符
赋值运算符用于将一个值赋给变量。赋值运算符的语法格式为“”左边是变量名右边是要赋给变量的值。例如a 10; 将把值 10 赋给变量 a。
在 C语言中赋值运算符还有一些扩展的形式如“”、“-”、“*”、“/”等等。这些运算符的作用是将左边变量的值和右边的值进行运算后再赋给左边的变量。例如a 10; 等同于a a 10;即将变量 a 的值加上 10 后再赋给 a。
三、比较运算符
比较运算符用于比较两个值的大小并返回布尔值 true 或 false。C语言提供了多个比较运算符包括等于运算符、不等于运算符、大于运算符、小于运算符、大于等于运算符和小于等于运算符。
等于运算符等于运算符用于比较两个值是否相等并返回布尔值 true 或 false。例如if(a 10)将判断变量 a 的值是否等于 10如果条件为真将返回 true不等于运算符!不等于运算符用于比较两个值是否不相等并返回布尔值 true 或 false。例如if(a ! 10)将判断变量 a 的值是否不等于 10如果条件为真将返回 true大于运算符大于运算符用于比较两个值的大小判断左边的值是否大于右边的值并返回布尔值 true 或 false。例如if(a 10)将判断变量 a 的值是否大于 10如果条件为真将返回 true小于运算符小于运算符用于比较两个值的大小判断左边的值是否小于右边的值并返回布尔值 true 或 false。例如if(a 10)将判断变量 a 的值是否小于 10如果条件为真将返回 true大于等于运算符大于等于运算符用于比较两个值的大小判断左边的值是否大于或等于右边的值并返回布尔值 true 或 false。例如if(a 10)将判断变量 a 的值是否大于或等于 10如果条件为真将返回 true小于等于运算符小于等于运算符用于比较两个值的大小判断左边的值是否小于或等于右边的值并返回布尔值 true 或 false。例如if(a 10)将判断变量 a 的值是否小于或等于 10如果条件为真将返回 true。
四、逻辑运算符
C语言提供了三个逻辑运算符包括与运算符、或运算符和非运算符。这些运算符用于比较条件表达式的结果并返回布尔值 true 或 false。
与运算符与运算符用于比较两个条件是否都为真并返回布尔值 true 或 false。例如if(a 5 b 10) 将判断变量 a 是否大于 5并且变量 b 是否小于 10如果两个条件都为真将返回 true或运算符||或运算符用于比较两个条件是否有一个为真并返回布尔值 true 或 false。例如if(a 5 || b 10) 将判断变量 a 是否大于 5或者变量 b 是否小于 10如果有一个条件为真将返回 true非运算符!非运算符用于取反一个条件的结果并返回布尔值 true 或 false。例如if(!(a 5)) 将判断变量 a 是否小于等于 5如果条件为真将返回 true。
五、位运算符
C语言提供了多个位运算符用于对数字的二进制位进行操作。这些运算符包括按位与运算符、按位或运算符、按位异或运算符、按位取反运算符、左移运算符和右移运算符。
按位与运算符按位与运算符用于对两个二进制数的每一位进行比较并返回二进制结果。例如1010 1100 将返回 1000按位或运算符|按位或运算符用于对两个二进制数的每一位进行比较并返回二进制结果。例如1010 | 1100 将返回 1110按位异或运算符^按位异或运算符用于对两个二进制数的每一位进行比较并返回二进制结果。如果两个数的某一位相同则返回 0如果不同则返回 1。例如1010 ^ 1100 将返回 0110按位取反运算符按位取反运算符用于对一个二进制数的每一位进行取反并返回二进制结果。例如1010 将返回 0101左移运算符左移运算符用于将一个二进制数的所有位向左移动指定数量的位数并返回二进制结果。例如1010 2 将返回 101000右移运算符右移运算符用于将一个二进制数的所有位向右移动指定数量的位数并返回二进制结果。例如1010 2 将返回 0010。
单片机需要掌握的重点
最小系统能够运行起来的必要条件1电源2晶振3复位电路
对单片机任意的IO口的随意操作1输出控制电平高低2输出检测电平高低
定时器重点掌握最常用的方式2
中断外部中断定时器中断串口中断
串口通信单片机之间单片机和计算机之间
单片机展示 自己动手实践需要的硬件材料
1杜邦线单头带帽40根
2小电路板一块
3DS12C887片
4焊锡
创建51单片机项目 1打开keil5软件 2创建一个项目 工程的目录结构如下所示
查看开发板原理图 查看原理图时原理图中标号相同的表示物理连接
以下的内容涉及到模电相关知识
第一个发光二级管 将编写的程序下载到单片机中 打开文件 选中hex后缀的问价后点击打开 将程序下载到单片机
之后单片机的第一个led灯亮起
使用总线的方式点亮第二个发光二级板 更改头文件操作 下载编程两个led亮起 两个led灯亮起 1点亮奇数位数的led灯
2点亮最后一个发光管
3点亮偶数位的发光管
4尝试让第一个发光管闪烁
5尝试设计出一个流水灯程序