您的位置:首页 > 产品设计 > UI/UE

ARDUINO学习过程 (1)点亮一颗LED

2019-02-13 17:31 781 查看

ARDUINO学习过程 (1)点亮一颗LED

1、连接图

2、代码

#define LED 13
#define KEY 2
int KEY_NUM = 0;//0和1表示按键状态
void setup() {
pinMode(LED,OUTPUT);
pinMode(KEY,INPUT_PULLUP);//利用上拉电阻
}

void loop() {
ScanKey();
if(KEY_NUM==1)
{
digitalWrite(LED,!digitalRead(LED));//执行翻转
}
}
void ScanKey()//扫描按键函数
{
KEY_NUM = 0;
if(digitalRead(KEY)==LOW)
{
delay(20);//抖动延时(button按下一般会有抖动,一般20ms左右)
if(digitalRead(KEY)==LOW)
{
KEY_NUM=1;
while(digitalRead(KEY)==LOW);
}
}
}

3、protetus仿真

Arduino Uno R3,仿真时一般选用ATMEGA328P单片机。
程序编写完后,选择Arduino IDE编程界面菜单栏的Tools菜单项,再选择Board→Arduino Duemilanove w/ATmega328,也可以选择Board→Arduino Uno,然后点击编译按钮,生成Hex文件(二进制机器码文件)。有了Hex文件,接着转到Proteus电气原理图,双击原理图中的型号为ATMEGA328P 单片机芯片,出现对话框,通过文件目录浏览的方法确定Hex文件存储位置,并进行一些单片机芯片工作状态参数的设置,最后点击Proteus ISIS软件界面左下方的播放按钮,就可以看到Arduino单片机在Proteus仿真环境中的运行效果。

为获取HEX文件路径,如下设置


确定了Hex文件,还有三个参数项要修订,一是“CLKDIV8(Divide clock by 8)”参数项修改为“Unprogrammed”;二是“CKSEL Fuses”参数项修改为“(1111)Ext. Crystal 8.0-MHz”;三是Advanced Properties的Clock Frequency参数项设为16Mhz。最后点击编辑对话框的“确定”按钮,然后就可以仿真了,如图:(双击ATMEGA328P)


本次实验仿真图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: