通过按钮输入信号和LED显示输出电平,您可以了解引脚的数字I/O功能。 按下某个按钮后,某个 LED 会亮起。 这就是数字电路中组合逻辑的功能,虽然很简单。 很简单,但是可以学习通用的MCU编程思想。 例如,必须设置许多寄存器来初始化引脚,以便引脚能够具有数字输入和输出功能。
每次使用单片机的某个功能时,都必须设置控制该功能的寄存器。 这就是单片机编程的特点。 不要害怕麻烦。 所有的微控制器都是这样。 需要注意的是,这两个功能使用同一组I/O端口。 例如,LCD和LED例程大多使用PB组。 如果两者结合起来,就会产生冲突,达不到预期的效果。 建议不同的模块使用不同的IO口。
第二步:定时器的使用
一旦学习了如何使用定时器,您就可以使用微控制器来实现时序电路。 时序电路的功能强大,在工业和家用电器的控制中有很多应用。 例如,您可以使用微控制器来实现带有按钮的走廊灯开关。 按一次按钮后,3分钟后灯会自动关闭。 当按下按钮两次时,灯将保持亮起。 当按下按钮超过 2 秒时,灯将关闭。
数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路。 然而,只有微控制器是最简单、实施成本最低的。 定时器的使用非常重要。 逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是程序会被重复执行。 程序中每条指令的执行都需要一定的执行时间。 如果程序不执行一条指令,那么该指令的动作就不会发生,这就会延迟很多很快发生的事情。 例如,按下按钮时出现下降沿。 为了让单片机在程序正常运行过程中能够响应快速动作,必须使用单片机的中断功能。 该功能是在快速动作发生后,单片机中断正常运行的程序,处理快速动作。 处理完成后,再返回执行正常程序。
使用中断功能的难点在于,需要准确地知道什么时候不允许发生中断(屏蔽中断),什么时候允许中断发生(使能中断),以及需要设置哪些寄存器才能使某些中断工作。 当中断开始时,程序应该做什么,中断完成后程序应该做什么等等,在你学会了如何中断之后,你就可以编译出结构更复杂的程序了。 这样的程序可以做一件事,监控一件事。 一旦被监控的事情发生,它就会打断你正在做的事情,并处理被监控的事情。 当然也可以监控多个东西,形象的比喻,中断功能让单片机具备了吃碗里看锅里的功能。 学习以上三步,就相当于降龙十八掌武功。 掌握了三掌之后,就勉强可以自保了。
第四步:USART接口的使用
单片机都有USART接口,特别是STM8系列的很多型号,有两个USART接口。 USART接口不能直接连接PC机的RS232接口。 它们之间的逻辑电平不同,需要使用stm8s105c6芯片进行电平转换。
USART接口的使用非常重要。 通过该接口,微控制器和PC之间可以交换信息。 虽然RS232通讯并不高级,但是学习该接口还是非常重要的。 正确使用USART接口需要学习通信协议、PC RS232接口编程等。试想一下,单片机实验板上的数据显示在PC显示器上,PC键盘信号可以显示在单片机上实验板。 那将是多么有趣啊!
第5步:A/D转换器
STM8微控制器具有多通道12位A/D转换器。 通过这些A/D转换器,微控制器可以对模拟量进行运算,显示和检测电压、电流等信号。 学习时要注意模拟地和数字地、参考电压、采样时间、转换速率、转换误差等概念。使用A/D转换功能的一个简单例子是设计电压表。
第6步:学习使用扩展接口
了解PCI、I2C接口和LCD接口。 使用这些接口可以使单片机更方便地与外部设备连接,对于扩展单片机的功能非常重要。
第7步:检测并控制电机
了解比较、捕获和 PWM 功能。 这些功能使微控制器能够控制电机、检测速度信号、实现电机调速等控制功能。
第8步:了解产品开发方向
学习USB接口、TCP/IP接口以及各种工业总线的软硬件设计非常重要,因为这是目前产品开发的发展方向。