找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4741|回复: 0
收起左侧

AVR单片机闪烁灯程序-第一个程序

[复制链接]
ID:26188 发表于 2015-6-23 15:38 | 显示全部楼层 |阅读模式
本帖最后由 hujia 于 2015-6-23 15:41 编辑

     自从无线通信完成后我没做什么,而是把AVR的学习列上日程,AVR的学习我是纯手工打造,所有的实验板全部自己焊接,因为用51习惯了,他是那么的方便,到AVR这却是一件很简单的事情显得如此复杂,那下载来说吧,51的ISP是通过串口直接写到FLASH,而AVR的还要设置熔丝位,如果搞不好芯片锁死就完蛋了,至少我的水平是够呛解决的。遇到的第一个问题是价格,AVR的价格比51的贵将近2-5倍,我选的是16L,因为他的FLASH足够我这种菜鸟用的,16KB,另一个是他的宽电压,以前51就没有这个优势,最重要的其实学哪种都无所谓,编程吗,其实就是一个中心思想的问题,只要你有好的算法,用什么语言描述就无关紧要了,关键AVR有个架构是不同于51的,那就是哈佛结构,这种结构要比51 速度快几倍,我花了大约一个星期的时间看了内部的架构,至于汇编我大体略了下,因为以后的程序我主要基于C语言的,学单片机最重要的明白他的内部架构,硬件配置,然后开发流程,我用的USBASP,光驱动换了4次,重装了3次,哎!曲折啊。好不容易搞好了,又有一个口PC口不正常。原因是JTAGE开了,关了就正常了,现在我只迈了一小步----对他的开发流程大体了解、板子焊完了、下载调通了,熔丝设置完毕,下一步就要熟悉软件,抽象到编程和移植程序,还有很多问题要解决,困难也肯定肯定很多!但是还是那句话,不积跬步,无以至千里,不积小流,无以成江海,九层之台,起于垒土;千里之行,始于足下。坐而言,不如起而行,路虽远,行则将至;事虽难,做则必成。

/*    AVR闪烁灯!!0412 第四项目部宿舍*/
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint  unsigned int
/*下面是位操作的宏定义*/
#define set_bit(a,b)   a|=(1<<b)
#define clr_bit(a,b)   a&=~(1<<b)
void delay(void)//延时函数
{
      uint i,j;
   for(i=240;i;i--)
  
   for(j=240;j;j--);
      

}
void main (void)//主函数
{
uchar b;
DDRA=0xff;//初始化端口A
PORTA=0x00;//初值设定为00H
while(1)
{
set_bit(PORTA,0);//将PA口得第0位置1;
delay();
clr_bit(PORTA,0);//将PA口的第0位置0;
delay();

}

}

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表