最新日志

发表于:2007-11-3 7:32:24
标签:无标签

0

ks0108ks0107液晶控制c语言程序

rarks0108ks0107液晶控制c语言程序192*64

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 整理

评论(0) | 阅读(514)
发表于:2007-11-3 7:28:37
标签:无标签

0

双龙avr169带内置液晶控制器的试验板原理图

pdf双龙ATEMGE169带内置液晶控制器的试验板原理图

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 整理

评论(0) | 阅读(383)
发表于:2007-10-31 18:44:40
标签:无标签

0

PS2标准键盘使用笔记(ATM公司)

rarPS2标准键盘使用笔记(ATM公司)

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 整理

评论(0) | 阅读(568)
发表于:2007-10-30 14:46:21
标签:无标签

1

C51中编译过程中出现错误代码及其含义

这两天整理了C51中编译过程中出现错误代码及其含义,整理的还不是很完善,希望能对大家有用rar

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 整理

评论(1) | 阅读(511)
发表于:2007-10-29 8:43:08
评论(0) | 阅读(517)
发表于:2007-10-29 8:29:06
评论(7) | 阅读(700)
发表于:2007-10-27 10:08:27
评论(0) | 阅读(724)
发表于:2007-10-27 9:55:12
标签:无标签

0

AVR操作EEPROM应注意的问题

作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用AVR的电源检测(BOD)功能。

对于5V系统,设置BOD电平为4.0V;对于3V系统,设置BOD电平为2.7V。然后允许BOD检测。

这样,一旦AVR的供电电压低于BOD电平,AVR进入RESET(不执行程序了)。而当电源恢复到BOD电平以上,AVR才正式开始从头执行程序。保证了系统的可靠性!

原因分析如下:
AVR
是宽电压工作的芯片,当电压跌至2.5V,系统程序还能工作。这是有2个可怕的现象可能出现,
1
。外围芯片工作已经混乱,AVR读到的东西不正确,造成程序的执行发生逻辑错误(不是AVR本身的原因)。
2
。当电源低到临界点,如2.4V时,并且在此互上互下的,AVR本身的程序执行也不正常,取指令、读数据都可能发生错误,或程序乱飞、不稳定(AVR本身的原因,实际任何的单片机都是这样的),非常容易造成EEPROMFALSH的破坏。有人问51怎么不会?实际上51也是这样,只是51内部没有直接写EEPROMFLASH的指令,它的程序乱飞留不下痕迹。还有人有疑问:外挂EEPROM,掉电时怎么不会改写?实际是外挂EEPROM,当电压低于4V2.7V)时,它已经不工作了,程序去改内容也改不了。而AVR内部的东西在临界电压时都能工作,但非常不稳定。

AVR
BOD功能必须要使用,我早期使用51时,凡是产品外部都要使用电源监测芯片,现在AVR自己本身就有该功能,一定要使用。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 整理

评论(2) | 阅读(667)
发表于:2007-10-27 9:33:09
标签:无标签

1

AVR编译器的选择

一般来说,单片机的使用要从基础的汇编语言开始讲起,即使使用C语言进行开发,也必须对内部的机器码实现非常熟悉,才能应付设计和调试中可能出现的各种情况。WINAVR是个免费的AVR 开发程序集,它以著名的自由软件GCC C/C++编译器。之所以选用WINAVR,是因为它是一组开放源代码的程序集,也是目前最好的自由软件之一。   下面是关于WINAVR的使用要点,更详细的情况建议参考芯艺的《AVR 单片机GCC 程序设计》。开发工具:

更适合采用高级语言开发是AVR 单片机最初设计时的目的之一。目前AVR 单片机高级语言发发工具主要有IAR CWINAVRICCAVRCodeVisionBASCOM-AVRBASIC 语言)。IAR 是与AVR 内核协同开发的,很多对AVR 更适合C 语言开发方面的改进是根据IAR开发过程的,它也是ATMEL 公司推荐的C 语言编译器,但它的价格几呼让人难以接受,达到上万元人民币。ICCAVR 是国内AVR 主要推广单位双龙公司代理的C 编译器,它价格低廉,友好的界面把很多烦琐的项目管理和编译设置隐藏了起来,为此它受部分开发人员的欢迎。CodeVision 也是个很不错的C 编译器,目前在国内也有一定数量的用户。Winavr 是个免费的AVR 开发程序集,它以著名的自由软件GCC C/C++编译器。下面所有章节我都会介绍如何使用WINAVR 开发AVR 单片机。GCC 编译器

UNIX 上最原始的C 编译器叫CCC Compiler C 编译器),源于此GNU C 编译器叫作GCCGNU C Compiler),然而,随着GCC 支持语言的增加GCC 这个缩写的意义已演变成了GNU 编译器集合(GNU Compiler Collection),它是GNU 项目的一个产品,是个开放源代码软件。GCC 可编译多种语言,目前支持的语言有CC++Objective-CFortranjava Ada。这些高级语言程序通过编译程序前端(front-end)后产生解析树,之后与器件相关的后端(back-end)程序将它们解释成实际的可执行指令集。前端与后端是完全分开的,解析树是它们中间的产物。GCC 这样的设计使得任何一种语言只要通过合适的语法解析器产生符合格式的解析树,就可以产生GCC 后端程序所支持的所有器件上的可执行指令集。同样的,任何一种器件只要将树结构翻译成汇编,就可以使用GCC 前端所支持的所有语言。要承认的是,以上描述是理论化的,便于理解,实际操作并没有想象的那么简单。事实上前端和后端都不是孤立的。幸运的是AVR 的确得到了GCC 的支持,它也是GCC 支持的唯一一种8 位处理器。不仅如此,我们还可以在WINDOWS 平台上安装程序包WINAVR 来使用GCC AVR C/C++编译程序。WINAVR 是一组开放源代码的程序集,用于ATMEL 公司 AVR 系列单片机的开发,它主要包含:

1. GNU 程序包Binutils

GNU Binutils 非常庞大,WINAVR 仅包含与AVR 相关的部分,有AVR 汇编器、连接器以及与机器指令相关的一些工具

2. GNU GCC C C++编译器。

3. AVR-LIBC

AVR-LIBC AVR 单片机C 运行时库, 它是为应用程序提供标准C 函数的连接时定位库。

         

另外WINAVR 还包含软件调试器、器件编程软件、文件格式转换工具等多个有用工具,这里不一一列出, 请参考WINAVR 说明文档。WINAVR 项目的WEB 地址是http://sourceforge.net/projects/winavr ,这里可以下载最新的版本,并可订阅邮件组。 邮件组是获取WINAVR 相关帮助信息的重要途径。一个简单的例子文件demo1.c :#i nclude

int main( void )

{

unsigned char i, j, k,led=0;

DDRB=0xFF;

while (1)

{

if(led)

PORTB|=0X01;

else

PORTB&=0XFE;

led=!led;

//延时

for (i=0; i<255; i++)

for(j=0; j<255;j++)

k++;

}

}这是一个使接在PB0 口的LED 发光管闪烁的程序。使用Mfile 生成合适的makefile然后运行make all即可生成hex文件。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 整理

评论(0) | 阅读(779)
发表于:2007-10-27 9:26:36
标签:无标签

1

AVR单片机学习笔记

1. AVR 单片机采用哈佛结构,也即:程序寄存器和数据寄存器完全分开。

2. AVR低电平复位,MCS51高电平复位。

3. 32个寄存器中的6个寄存器作为316位间接地址寄存器指针,被用于数据                  的间接寻址。3个中的一个还被用作地址指示器,完成常量查表的查询功能。

4.  在编写程序时,主程序的运行一定要跳过中断向量区,否则程序在运行中会出现错误。

5. 对于扩展的IO进行数据读写的时候一定要注意,IN/OUT 指令只能操作$00--$3F单元,超过这个范围只能用LDS/STS 指令,因为LDS/STS指令的操作范围为$00--$FF 

6. 在写EEPROM时,建议关闭全局中断,写完后在开中断。

7.主程序分为初始化程序和背景程序,初始化程序是对I/O寄存器(状态寄存器,堆栈寄存器,中断寄存器,定时/计数器及其控制寄存器,mcu控制寄存器,i/o端口等)及系统使用的标志进行初始化设置,设置中断引导区指令,对看门狗定时器设定溢出时间,将SRAM工作区清除等。背景程序分为主背景程序和子背景程序,主背景程序也即主循环程序对重要的数据如采集数据更新显示,并对键盘进行管理。子背景程序是在主背景程序中查询进入实现的特定功能。执行背景程序时可以相应中断,中断服务程序完成之后仍返回背景程序,但是要注意的是有的子背景程序在执行时如果产生中断可能会引起错误,所在这种情况下要暂时的关闭使能中断。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(366)
总共 , 当前 /,2下一页