查看: 863|回复: 5

[ATmega168] ATmega168 Xplained Mini 第一个程序点亮LED灯

[复制链接]

7

主题

0

好友

439

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2014-7-28 10:46
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2014-5-27 18:43:40 |显示全部楼层
    头疼的事 一个简单的点亮LED灯的小故事居然延续了这么久,也不知道怎么的  开始时就是调试不了0.0哎
    好吧开始说!白话走起
    首先说明对于这个板子的使用是学习51之后头一次接触avr的板子0.0说的不好请嘴下留情

    开喷-/-额开说
    首先avr的总线结构和51不同0.0
    不可以像是51一样sbit p0=P0^0;如此这般的这样用
    于是呢就 我们就需要对avr的I/O口进行了解
    通过看书或者查资料了解到每个mega系列单片机的I/O口都是由3个寄存器来控制的
    分别是DDRX,PORTX,PINX(这里的X是指要操作的I/O口)
    DDR寄存器是用来控制输入/输出的 ddr=0输入     反之就是输出
    PORT寄存器呢是有无上拉电阻!骗人、port=1时就是有上拉电阻也就是我们常用的高电平,反之你懂的
    PIN是输入寄存器表示读I/O口高低电平变化的寄存器

    这样看来与51的变化很大吧0.0
    还记得51在写矩阵键盘的时候吗或者按键的时候吗?
    那时候你是怎么样读到I/O的变化的?  首先把I/O置为高电平,然后开关的另一边链接gnd,这样可以通过51单片机监测到有低电平的输入
    那时候你只能这样去做有且自由这样一种办法,而avr的单片机就可以用高电平触发

    接下来知道了这些基础我们就可以点亮我们第一个led了 额还有一个avr单片机大多数都是按位操作用与或来操作

    我们从建立工程来开始  走起
    打开atmel studio  file/new/project
    在这里 QQ图片20140527180502.jpg

    选择第二个 GCC C Executable Project
    在下面可以更改工程名字和保存路径
    选择好了就可以单击ok进入下面的界面0.0
    QQ图片20140527182641.jpg

    这这个界面中选择芯片的型号 ATmega168 Xplained Mini 的芯片型号是Mega168,额自己找下或者左上角搜索
    这样板子的工程就建立完了
    对应的下载还需要注意一个ATmega168 Xplained Mini需要在下载工具上修改成mEDBG方式
    修改方法 project选项卡里的最后一个选项然后单击tool QQ截图20140527183249.png


    这样就可以正常下载程序了,如果你不适用板载的mEDBG,使用第三方的jtag工具那么就要注意打开生成.hex文件的选项了 QQ截图20140527183447.png
    注意它在这里哦


    至此敲程序前的准备工作就此完事

    然后让我们敲个简单的程序吧就是之前那几个寄存器的0.0
    /*
    * GccApplication5.c
    *
    * Created: 2014/5/27 18:25:36
    *  Author: -Shadow-
    */


    #include <avr/io.h>

    int main(void)
    {
        while(1)
        {
            //TODO:: Please write your application code
                    DDRD = 0xff;//这里由于我使用的是PD口,并且全部用来连接LED灯于是全部设置为输出!
                    PORTD = 0x00;//这时我想全部点亮于是全部等于0,也就是没有上啦电阻0.0
        }
    }


    其实中设置I/O的应该是使用与或操作这样就能达到逐位的操作

    就这么几行简单的程序0.0  很简单吧
    效果图如下
    IMG_20140527_171232.jpg

    IMG_20140527_171301.jpg

    IMG_20140527_171318.jpg

    IMG_20140527_171329.jpg

    像素略坑额0.0
    额事实证明红绿蓝加载一起真的是白色0.0

    额虽然很基础  走过路过看看就会0.0    其实在我开始学的时候真的就想找个师傅教我细致一些的那种 哎  大二我还年轻0.0
    回复

    使用道具 举报

    1083

    主题

    2

    好友

    1万

    积分

    翰林

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    2014-9-23 05:09
  • 签到天数: 113 天

    [LV.6]常住居民II

    发表于 2014-5-28 05:22:42 |显示全部楼层
    谢谢楼主分享!
    回复

    使用道具 举报

    7

    主题

    0

    好友

    439

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2014-7-28 10:46
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2014-5-28 21:06:38 |显示全部楼层
    heelary 发表于 2014-5-28 05:22
    谢谢楼主分享!

    嘿嘿   该做的!!  
    回复

    使用道具 举报

    59

    主题

    18

    好友

    2977

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    2016-9-9 09:13
  • 签到天数: 293 天

    [LV.8]以坛为家I

    爱板会员勋章 活跃会员勋章

    发表于 2014-5-29 08:16:07 |显示全部楼层
    顶一个~~~~~~~~~~~~~~~~```
    第五年了,这次一定要坚持到底,不留遗憾!!!
    回复

    使用道具 举报

    7

    主题

    0

    好友

    439

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2014-7-28 10:46
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2014-5-29 17:27:46 |显示全部楼层
    fj1161 发表于 2014-5-29 08:16
    顶一个~~~~~~~~~~~~~~~~```

    给力哈   额写的挺基础了 不好勿怪0.0
    回复

    使用道具 举报

    57

    主题

    16

    好友

    4277

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    2015-11-4 08:32
  • 签到天数: 773 天

    [LV.10]以坛为家III

    发表于 2014-6-7 09:07:19 来自手机 |显示全部楼层
    顶一下楼主.
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-7 03:52 , Processed in 0.235038 second(s), 15 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部