×
单片机 > 单片机程序设计 > 详情

AVR单片机开发环境搭建

发布时间:2020-08-21 发布时间:
|
一、开发环境搭建

CodeVisionAVR C Compiler用于程序的编辑以及编译.AVR Studio 4与USB AVR JTAGICE mkll-CN 用于在线调试和程序烧写。

二、AVR Studio 4中熔丝位的设置(在Fuses标签中,相应位打钩表示program即写0;不选中表示未编程即1)

    1. M161C: 工作于162模式还是161模式;
    2. BODLEVEL:掉电检测设置;
    3. OCDEN:片上调试使能;
    4. JTAGEN:JTAGE口下载使能;
    5. SPIEN:SPI使能位;
    6. WDTON:看门狗使能级别设置;
    7. EESAVE: EEPROM中内容是否要保留;
    8. BOOTSZ:用于设置程序块和启动块;
    9. BOOTRSZ:控制复位向量所在的位置;
    10. CKDIV8:时钟源预分频;
    11. CKOUT:系统输出时钟使能位;
    12. SUT_CKSEL:设置系统时钟的方式;

三、根据主板设置熔丝位

    1. Atmega162使用的外部晶振为11.0592MHZ,设置熔丝位CKSEL和SUT相应位,使系统采用外部时钟,上电时间为4.1ms;
    2. 输出时钟禁止,不用预分频,复位地址设定0000;即CKOUT = 1; CKDIV8 = 1; BOOTRST = 1;
    3. 设置162模式,看门狗二级模式,JTAG口使能.掉电检测禁止

具体的熔丝位的值如下图

                                           

四、问题描述与解决方法

由于升级主板,将原先的ISP下载改成JTAG下载方式,将SPI接口用于外部端口数据的采集。写测试程序测试JTAG下载器;

  • 出错现象:

1,使用主板上的LED进行调试.其中PORTE.2口与LED连接。对该IO口赋值能够控制LED灯的亮灭。但是如果想实现LED灯的闪烁.则LED的状态为延时前的IO口的值;

2,通过JTAG口连接仿真器,进行单步调试.可以顺利进入中断计时函数,LED灯闪烁正常。但是全速执行程序会跑飞。

  • 解决方法:

读取老版本主板上Atmega162的熔丝位设置,差别在看门狗的设置。由于在新主板上对162的看门狗熔丝使能,以至程序会复位。

关键字:AVR  单片机  开发环境

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单