Atmega16单片机PROTEUS仿真设计基础篇----点亮第一个LED

        学习一款单片机都从"都从点亮第一个LED"开始。点亮第一个LED其实就是对一个单片机的IO进行操作。

         进行AVR单片机学习时所使用的PROTEUS仿真软件也进行了升级,之前51单片机实验时使用的是PROTEUS7.7,本次进行AVR单片机学习时改用PROTEUS8.6进行仿真实验。PROTEUS8.6相对于PROTEUS7.7对部分芯片进行了扩充,其内部添加了STM32系列单片机,后续会针对STM32制作入门实验。

        虽然软件版本更新了,但是软件的使用方法还是一样的。PROTEUS8.6界面打开如图所示,

        选择“File”新建工程,然后设置工程文件的位置及文档的参数等,设置好以后就可以绘制原理图。

        原理图主要包括复位电路和时钟电路及LED。

        通过察看芯片手册,可以知道,ATmega16单片机的时钟源可以有以下几种选择,外部晶体/陶瓷振荡器、外部低频晶振、外部RC振荡器、标定的内部RC振荡器、外部时钟,通过对其熔丝位的设置可以对单片机的时钟源进行选择,在进行仿真的时候可以双击单片机,就会出现如下对话框,

        在对话框中可以对单片机的时钟源,时钟频率,启动方式等功能进行设置。在仿真实验中我们选择内部RC 8Mhz即选择单片机内部的RC时钟振荡器,时钟频率为8Mhz。

        通过察看芯片手册,可以了解到ATmega16内部具有5个复位源,分别为上电复位、外部复位、看门狗复位、掉电监测复位、Jtag复位。从中可以看到ATmega16的外部复位是低电平复位,所以其复位电路如图所示。当按下按键以后会产生一个低电平复位信号。

        接下来介绍一下ATmega16单片机的IO,ATmega16的IO在使用的时候需要设置IO的工作方式,这与之前学习51的单片机不同,51单片机的IO即可以作为输出,同时也可以作为输入,即作输出和输入时无需进行任何操作,但是ATmega16的IO需要对IO的工作方式进行指定,即使用IO之前需要设置相应的寄存器,将IO设置为输入模式或者输出模式。每个端口都有三个 I/O 存储器地址 : 数据寄存器 – PORTx、 数据方向寄存器 – DDRx 和端口输入引脚 – PINx。数据寄存器和数据方向寄存器为读 / 写寄存器,而端口输入引脚为只读寄存器。

        在ICCAVR中新建工程,然后新建程序文件,点亮LED程序如下,本次实验使用的是PA0,所以如下两行程序就可以将PA0设置为输出模式同时输出低电平,然后点亮LED.

        然后对程序进行编译,运行仿真。

        这样第一个LED就被点亮了。点亮LED实验主要就是对单片机的IO进行操作,IO也是单片机最重要的一种外设,所以放在第一位。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西天取经的熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值