本帖最后由 冒险武者 于 2018-1-26 13:10 编辑
用手上的Atmega16单片机芯片制作Arduino,个人感觉Atmega16制作的Arduino单片机比uno系列强悍,性能如下所示:
高性能、低功耗的 8 位 位 AVR ® 微处理器
• 先进的 RISC 结构
– 131 条指令 – 大多数指令执行时间为单个时钟周期
– 32 个 8 位通用工作寄存器
– 全静态工作
– 工作于 16 MHz 时性能高达 16 MIPS
– 只需两个时钟周期的硬件乘法器
• 非易失性程序和数据存储器
– 16K 字节的系统内可编程 Flash
擦写寿命 : 10,000 次
– 具有独立锁定位的可选 Boot 代码区
通过片上
代码区
通过片上 Boot 程序实现系统内编程
真正的同时读写操作
程序实现系统内编程
真正的同时读写操作
– 512 字节的 EEPROM
擦写寿命 : 100,000 次
– 1K 字节的片内 SRAM
– 可以对锁定位进行编程以实现用户程序的加密
• JTAG 接口 ( 与 IEEE 1149.1 标准兼容 )
– 符合 JTAG 标准的边界扫描功能
– 支持扩展的片内调试功能
– 通过 JTAG 接口实现对 Flash 、 EEPROM 、熔丝位和锁定位的编程
• 外设特点
– 两个具有独立预分频器和比较器功能的 8 位定时器 / 计数器
– 一个具有预分频器、比较功能和捕捉功能的 16 位定时器 / 计数器
– 具有独立振荡器的实时计数器 RTC
– 四通道 PWM
– 8 路 路 10 位 ADC
8 个单端通道
TQFP 封装的 7 个差分通道
2 个具有可编程增益 (1x, 10x, 或 200x )的差分通道
– 面向字节的两线接口
– 两个可编程的串行 USART
– 可工作于主机 / 从机模式的 SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
附上烧录好的引脚图:
编写的代码如下所示:
兼容arduino其他系列的板子
#include <Arduino.h>
#define LED 24
void setup()
{
/* add setup code here */
pinMode(LED,OUTPUT);
digitalWrite(LED,HIGH);
Serial.begin(9600);
while (!Serial)
{
;
}
Serial.println("promger test success...!!!");
}
void loop()
{
/* add main program code here */
for (byte i=1; i<8;i++)
{
Serial.print("A");
Serial.print(i);
Serial.print(": ");
Serial.println(analogRead(24+i));
}
Serial.println(".....................");
delay(500);
digitalWrite(LED,HIGH);
delay(500);
digitalWrite(LED,LOW);
Serial.print("A1 : ");
Serial.println(analogRead(A1));
Serial.print("A2 :");
Serial.println(analogRead(A2));
Serial.print("A3 :");
Serial.println(analogRead(A3));
}
结果如下所示:
以上程序运行成功,说明引脚24~31对应着AD端口A0~A7
附上资料:
MightyCore-master.zip
(731.38 KB)
|