通用工控硬件平台: 1. AVR单片机, AVR 是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机, atmel于2016年被microchip收购了。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是 Atm ...
分类:
其他好文 时间:
2020-05-04 17:30:30
阅读次数:
84
Arduino编程语言是建立在C/C++语言基础上的,即以C/C++语言为基础,把AVR单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于开发者更加快速地使用。其主要使用的函数包括数字I/O引脚操作函数、模拟I/O引脚操作函数、高级I/O引脚操作函数、时间函数、中断函数、串口通信函数和数 ...
分类:
其他好文 时间:
2020-05-04 15:31:47
阅读次数:
61
本文隶属于AVR单片机教程系列。 在系列教程的最后一篇中,我将向你推荐3个可以深造的方向:RTOS、C++、事件驱动。掌握这些技术可以帮助你更快、更好地开发更大的项目。 本文涉及到许多概念性的内容,如果你有不同意见,欢迎讨论。 关于高层 这一篇教程叫作“走向高层”。什么是高层? 我认为,如果寥寥几行 ...
分类:
其他好文 时间:
2020-03-20 21:51:04
阅读次数:
65
本文隶属于AVR单片机教程系列。 开发板上有4个按键,我们可以把每一个按键连接到一个单片机引脚上,来实现按键状态的检测。但是常见的键盘有104键,是每一个键分别连接到一个引脚上的吗?我没有考证过,但我们确实有节省引脚的方法。 矩阵键盘 这是一个4 4的矩阵键盘,共有16个按键只需要8个引脚就可以驱动 ...
分类:
其他好文 时间:
2020-02-02 21:28:24
阅读次数:
103
本文隶属于AVR单片机教程系列。 "adc.h" "bit.h" "button.h" "buzzer.h" "dac.h" "delay.h" "ee.h" "exin.h" "exout.h" "lcd.h" "ldr.h" "led.h" "pin.h" "pot.h" "print.h" " ...
分类:
其他好文 时间:
2020-01-30 23:00:46
阅读次数:
107
本文隶属于AVR单片机教程系列。 在第一期中,我们已经开始使用UART来实现单片机开发板与计算机之间的通信,但只是简单地讲了讲一些概念和库函数的使用。在这一篇教程中,我们将从硬件与软件等各方面更深入地了解UART。 USART组件 一直在讲的UART其实是USART组件的一部分,USART比UART ...
分类:
其他好文 时间:
2020-01-25 23:27:10
阅读次数:
70
本文隶属于AVR单片机教程系列。 中断,是单片机的精华。 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断。 触发 中断的事件成为 中断源 ,处理事件的函数称为 中断服务程序 (ISR)。 中断在单片机开发中有着举足轻重的地位——没有中断,很多功能就无法实现。 ...
分类:
其他好文 时间:
2020-01-21 00:56:08
阅读次数:
151
下图为AVR单片机通用I/O口的基本结构示意图。从图中可以看出,每组I/O口配备三个8位寄存器,它们分别是方向控制寄存器DDRx,数据寄存器PORTx,和输入引脚寄存器PINx(x=A\B\C\D)。I/O口的工作方式和表现特征由这3个I/O口寄存器控制。 方向控制寄存器DDRx用于控制I/O口的输 ...
分类:
其他好文 时间:
2020-01-10 12:19:51
阅读次数:
207
PWM 两位数码管的驱动方式是动态扫描,每一位都只有50%的时间是亮的,我们称这个数值为其占空比。让引脚输出高电平点亮LED,占空比就是100%。 在驱动数码管时,我们迫不得已使占空比为50%,因为不能让两位真正同时地显示不同的数字。但是,我们也可以有意地让LED的占空比不到100%,以降低其亮度。 ...
分类:
其他好文 时间:
2020-01-09 00:38:23
阅读次数:
118
引子 定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器。 也许你会觉得我们已经在 函数中接触过定时器了,然而并不是,它只是软件地通过“浪费时间”来实现延时。我们接触定时器在数码管中, 函数可以自动完成动态扫描,好像在 函数背后又开了一个线程,两者并行执行一样。这 ...
分类:
其他好文 时间:
2020-01-08 01:07:08
阅读次数:
300