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

发布者:静逸心境最新更新时间:2019-11-18 来源: 51hei关键字:AVR  单片机  闪烁灯 手机看文章 扫描二维码
随时随地手机看文章

自从无线通信完成后我没做什么,而是把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
#include
#define uchar unsigned char 
#define uint  unsigned int
/*下面是位操作的宏定义*/
#define set_bit(a,b)   a|=(1<#define clr_bit(a,b)   a&=~(1<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();

}

}

关键字:AVR  单片机  闪烁灯 引用地址:AVR单片机闪烁灯程序-第一个程序

上一篇:atmega8l直接驱动笔段式lcd驱动程序
下一篇:AVR单片机片内AD数字模拟转换器程序

推荐阅读最新更新时间:2024-11-10 15:39

基于MSP430单片机的CCD相机调光电控系统设计
  1.引言   自我国研制出第一台大型经纬仪以来,摄影一直是电影经纬仪用于对飞行器(导弹,火箭,宇宙飞船)的主要测量记录手段。摄影胶片记录的内容在判读时能否被发现,与目标相对背景的对比度有极重要的关系。调光的目的在于使胶片的曝光量保持在胶片感光特性曲线的直线段所规定的范围之内:      (r为底片反差系数),而不受外界背景亮度变化的影响。以前经纬仪传统的摄影调光是采用变换平衡电桥参数的方法来控制像面照度,检测元件为光敏电阻。为了适应胶片感光度、摄影频率和天空背景亮度等各种摄影条件。就要由操作人员来装定数种不同,并按一定关系排列的背景照度值。每次摄影时,预先用照度计测出天空背景照度值,还要查曝光列表,选择合适的电阻装定在检
[单片机]
基于MSP430<font color='red'>单片机</font>的CCD相机调光电控系统设计
51单片机单串口同时实现AT指令和调试信息输出
很多外部模块是使用串口的方式与单片机通信的,但有的单片机只有一个串口,且不能硬件仿真,比如我使用的STC90C516,如果将唯一的串口给了外部模块,就不能打印调试信息了。 不过如果是使用AT指令只这样的模块,比如蓝牙SPP,WiFi模块,是使用AT指令的方式通信的 我们可以保留单片机串口与PC的连接,串口同时与模块连接,这样单片机的发送信息同时被模块和PC收到了。 模块只对AT指令有反应,对其他格式不正确的指令无反应, 如: printf( AT+RST\r\n );//模块对该指令有反应 printf( DEBUG+RST Test\r\n );//模块对该指令无反应 /span 这样串口就可以接收发送的数据和调试
[单片机]
单片机C语言精确延时分析
前阵子 琢磨了 ds18b20 温度测控芯片 一直对单片机的延时问题 留有疑惑 花了一下午时间 用 keil 逐步调试和proteus 仿真 对延时问题 做了一些分析 通常 单片机在对时间要求精确的情况下 会使用汇编 来实现相应的模块 通过计算其相应的机器周期 命令执行周期 可以得到精确的时间控制 C语言下 常用的延时 方法 有 for 循环 和 while() 循环 和 定时器延时 但是使用 for 循环 得到的延时效果 不够精确 执行一次 可能会有 10多us 原因已经有人 做了分析 一般单片机 C语言编程 需要经过 编译 将其 转为 汇编代码后 再生成16进制文件 在keil 下 点击菜单栏 flash - Configur
[单片机]
AVR PS/2 软件查询控制程序
/********************************************************************* 目 的: 建立PS/2的SimpleSoft测试程序(软件查询读取PS/2接收到的数据) 目标系统: 基于AVR单片机 应用软件: ICCAVR 版 本: Version 1.0 *******************************************************************
[单片机]
英飞凌推出业界首款支持更大功率的USB PD 3.1高压微控制器
【2021年8月3日,德国慕尼黑讯】英飞凌科技股份公司,推出业界首款支持USB Power Delivery(USB PD)3.1的高压微控制器(MCU)。该芯片简称为EZ-PD™ PMG1(Power Delivery Microcontroller Gen1),是英飞凌第一代USB 支持PD的MCU,针对需要高达28 V(140 W)的高压供电或受电的嵌入式系统。该器件支持USB PD 3.1规范中定义的更大功率,并利用MCU提供额外的控制功能。新产品非常适合消费市场、工业市场和通信市场的诸多应用,如智能扬声器、路由器、电动工具和园艺工具等。 PMG1系列集成了经市场验证的USB PD协议栈,能实现可靠的性能和高互操作性。
[电源管理]
英飞凌推出业界首款支持更大功率的USB PD 3.1高压<font color='red'>微控制器</font>
单片机堆栈溢出怎么解决?
我认为单片机堆栈溢出最重要的原因是我们编程序有问题,即在程序设计初期没有留出足够的空间供堆栈使用,堆栈一旦溢出程序一般会乱指,就是我们所说的程序跑分。一般我们不容许出现这个现象,因此我们在设计程序的时候首先要在内部RAM里开辟一段连续的地址当堆栈使用,且只能让它通过PUSH和POP指令进行访问,而且每次访问堆栈后注意别让堆栈溢出。 STC单片机堆栈溢出的解决方法 RAM模式用large,尽量用XRAM,减少函数嵌套层数,如果一个函数只被一个函数调用,就尽量合并下。 编译器会根据片内RAM消耗量自动确定SP指针,而且51也只能用片内RAM做堆栈。 KEIL C51的堆栈不需要你去设置的,编译器会把DATA ram剩余的空间都划分给栈,
[单片机]
Silicon Labs MCU助力Echo智能运动手表
Silicon Labs日前宣布,为汽车、健身、户外和移动导航提供创新GPS设备的领导厂商Magellan选择Silicon Labs的EFM32 Giant Gecko微控制器(MCU)作为Magellan Echo智能运动手表的节能型处理平台。荣获 CES 2014创新设计与工程奖 的Echo是首款具有 开放性 平台的智能运动手表,这帮助了应用程序开发者,使用户在手腕就可以看到和控制他们的应用程序。 在可穿戴和配件的新兴市场中,屡获殊荣的Magellan Echo因其创新设计脱颖而出。它的显示界面能够定制化的反映运动健身状况,包括从跑步、骑自行车、徒步旅行到高尔夫运动等,当然它也提供其他特性,例如远程控制智能手机上的
[物联网]
GD32 MCU是如何进入中断函数的
用过GD32 MCU的小伙伴们都知道,程序是顺序执行的,但当有中断来的时候程序会跳转到中断函数,执行完中断函数后程序又继续回到原来的位置继续执行,那么你们知道MCU是如何找到中断函数入口的吗? 今天我们就以GD32F303系列的EXTI0中断来描述下MCU是如何进入中断的。 首先来看一个简单的代码(以Keil为开发环境): 这段程序初始化了两个LED灯,并将一个按键设置为中断模式,这里用的是PA0,所以中断号也为0,即EXTI0。 再来看一下中断函数: 中断函数也很简单,当有中断发生的时候,去翻转一个LED灯状态。 好,我们通过map文件看下这个中断函数的地址在哪里(不会的小伙伴可以看看前面的视频——《如果查看
[单片机]
GD32 <font color='red'>MCU</font>是如何进入中断函数的
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved