本文隶属于AVR单片机教程系列。 做了这么多准备,我们终于可以开始用开发板做点事了。 单片机编程与计算机编程有一些不同点。程序都要有零个或多个输入、一个或多个输出,这是两者都有的,但是计算机编程的输入输出主要靠控制台,而单片机没有。 单片机的英文是microcontroller,主要作 ...
本文隶属于AVR单片机教程系列。 之前我们做的闪烁LED和流水灯,灯效都是循环的。这次我们来尝试一些不一样的 每一次随机选择一个LED并点亮。 要实现随机的效果,我们要用C语言标准库中的相关设施: 以上设施都定义在 lt stdlib.h gt 中。其中,rand 可以返回 , RAND MAX 范围内的伪随机整数,srand 用于给rand 提供种子,当种子相同时,多次调用rand 得到的序列是 ...
2019-08-12 09:24 0 403 推荐指数:
本文隶属于AVR单片机教程系列。 做了这么多准备,我们终于可以开始用开发板做点事了。 单片机编程与计算机编程有一些不同点。程序都要有零个或多个输入、一个或多个输出,这是两者都有的,但是计算机编程的输入输出主要靠控制台,而单片机没有。 单片机的英文是microcontroller,主要作 ...
本文隶属于AVR单片机教程系列。 在用DAC做了一个稍大的项目之后,我们来拿ADC开开刀。在本讲中,我们将了解0.96寸OLED屏,移植著名的U8g2库到我们的开发板上,学习在屏幕上画直线的算法,编写一个示波器程序,使用EEPROM加入人性化功能,最后利用示波器观察555定时器、放大电路 ...
。 单片机是应该自学的,因为它涉及到并应用于方方面面,广泛程度使课堂只能占学习的一小部分。单片机也是适合自学的 ...
本文隶属于AVR单片机教程系列。 上一讲中,我们实现了单片机开发板向电脑传输数据。在这一讲中,我们将通过电脑向单片机发送指令,让单片机根据指令控制LED。这一次,两端的TX与RX需要交叉连接,单片机TX连接串口工具RX也是需要的,因为程序会根据指令反馈信息。 为了简单起见,我们的程序 ...
本文隶属于AVR单片机教程系列。 在第一期中,我们已经开始使用UART来实现单片机开发板与计算机之间的通信,但只是简单地讲了讲一些概念和库函数的使用。在这一篇教程中,我们将从硬件与软件等各方面更深入地了解UART。 USART组件 一直在讲的UART其实是USART组件的一部分 ...
本文隶属于AVR单片机教程系列。 ADC 计算机的世界是0和1的。单片机可以通过读取0和1来确定按键状态,也可以输出0和1来控制LED。即使是看起来不太0和1的PWM,好像可以输出0到5V之间的电压一样,达到0和1之间的效果,但本质上还是高低电平。 但是,世界上终究还是有0和1无法表示 ...
本文隶属于AVR单片机教程系列。 开发板上有4个按键,我们可以把每一个按键连接到一个单片机引脚上,来实现按键状态的检测。但是常见的键盘有104键,是每一个键分别连接到一个引脚上的吗?我没有考证过,但我们确实有节省引脚的方法。 矩阵键盘 这是一个4*4的矩阵键盘,共有16个按键只需要 ...
本文隶属于AVR单片机教程系列。 引子 定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器。 也许你会觉得我们已经在delay函数中接触过定时器了,然而并不是,它只是软件地通过“浪费时间”来实现延时。我们接触定时器在数码管中,segment_auto ...