上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: /*********************************************************** * 函数库说明:ATMEGE8 AD模数转换 * 版本: v1.0 * 修改: 庞辉 * 修改日期: 2011年08月06日 * ... 阅读全文
posted @ 2012-01-04 18:48 云说风轻 阅读(1927) 评论(2) 推荐(0) 编辑
摘要: /***************************************************************** * 函数库说明:ATMEGA8 NOKIA 12864LCD 驱动 * 版本: v1.02 * 修改: 庞辉 芜湖联大飞思卡尔工作室 * 修改日期: 2011年08月08日 * ... 阅读全文
posted @ 2012-01-04 18:47 云说风轻 阅读(2048) 评论(0) 推荐(0) 编辑
摘要: 我忍了很久了,好吧,不想忍了。趁着元旦休息,正式决定把博客从CSDN搬到博客园来,只为稳定。其实我写博客也只是一种记录,就我这水平,多半文章还是写给我自己看的,怕忘了。不过还是想唠叨一句,这个博客园虽然支持从csdn一键搬家到博客园,不过貌似还不完美,图片和代码还是要自己调整,又是个大工程,慢慢来了。以后http://blog.csdn.net/pang123hui/这个CSDN博客正式停用以后的文章全部在博客园,也就是这更新了,大家共同学习,共同进步!!!2012,我来了。。。。。。。。。。。。。。。。 阅读全文
posted @ 2012-01-02 15:10 云说风轻 阅读(235) 评论(2) 推荐(0) 编辑
摘要: 1、什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么? 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 电路设计可分类为同步电路和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和 “完成”信号使之同步。由于异步电路具有下列优点--无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性--因此近年来对异步 电路研究增加快速,论文发表数以倍增,而Intel Pentium 4处理器设计,也开始采用异步电路设计。 异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RA 阅读全文
posted @ 2012-01-02 15:01 云说风轻 阅读(3185) 评论(0) 推荐(2) 编辑
摘要: 帕斯卡拼写法( 也叫大骆驼拼写法),骆驼拼写法(camelCase),两种计算机编程中的变量命名方法。 阅读全文
posted @ 2012-01-02 14:53 云说风轻 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 人生只有走出来的美丽,没有等出来的辉煌!! 阅读全文
posted @ 2011-12-07 21:59 云说风轻 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 对于所有任务,无论在何种情况下,任务的运行时间 t 都应该小于时间间隔。即如果任务不能在规定的时段内完成,就中止该任务,尤其是对于以查询方式运行的中断程序。比如,这样的代码是不可靠的:// 等待, 直到AD转换结束(检查ADCI) while((ADCON & ADCI) == 0); 因为在某些情况下,可能由于如下原因导致系统被挂起:a 如果模数转换器的初始化不正确,不能确定模数转换将被执行b 如果模数转换器的输入电压过高,那么可能根本就不运行c 如果没有正确初始化变量ADCON或ADCI,那么可能不按要求运行如果要求系统很可靠,则必须能够保证没有函数会这样挂起。循环超时提供了一种简 阅读全文
posted @ 2011-12-03 10:13 云说风轻 阅读(340) 评论(0) 推荐(0) 编辑
摘要: SARM空间是AVR单片机最重要的部分,所有的操作必须依赖该部分来完成。变量在SARM空间的存储模式有tiny,small,large 三种,也就是对应于__tiny, __near,__far三中存储属性。一旦选择为哪种存储模式,对应的数据默认属性也就确定了,但可以采用__tiny, __near,__far关键字来更改。 对于程序中的局部变量,编译器会自动处理的,我们也不可能加什么储存属性,但IAR提供了强大的外部变量定义。IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。 例: 定义两个变量使用工作寄存 阅读全文
posted @ 2011-12-01 23:35 云说风轻 阅读(2147) 评论(0) 推荐(0) 编辑
摘要: 1.扩展关键字:用于控制数据和指针 __eeprom 用于EEPROM 存储空间, 控制数据存放,控制指针类型和存放 __tinyflash, __flash, __farflash, __hugeflash 用于flash 存储空间, 控制数据存放,控制指针类型和存放 __ext_io, __io 用于I/O存储空间, 控制数据存放,控制指针类型和存放 __regvar 放置一个变量在工作寄存器中2.函数扩展关键字: __nearfunc __farfunc 用于控制数据存放,这组关键字必须在函数声明和定义的时候指定 __interrupt. 关键字控制函数的类型。这组关键字必须在函数声明. 阅读全文
posted @ 2011-12-01 23:23 云说风轻 阅读(5041) 评论(0) 推荐(0) 编辑
摘要: 整型类型:bool 数据类型在C++语言里是默认支持的。如果你在C代码的头文件里包含stdbool.h, bool数据类型也可以使用在C语言里。也可以使用布尔值 false和 true。char型是无符号型还是有符号型,可以在工程设置中选择。浮点类型: 阅读全文
posted @ 2011-12-01 23:20 云说风轻 阅读(4101) 评论(0) 推荐(0) 编辑
摘要: Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement运算符两边都是volatile变量的警告这警告有意义.用volatile修饰的变量一般不直接参与运算,volatile就以为着这个变量在运算过程中有可能已经改变了例如:想计算a * b 要这样:volatile unsigned char a;volatile unsigned char b;unsigned char x,y;x = a;y = b;return (x * y);建议使用另外一个变量参 阅读全文
posted @ 2011-12-01 22:04 云说风轻 阅读(28450) 评论(0) 推荐(1) 编辑
摘要: 今天在编译ata5790的程序就没mtk600那么顺利了,当然那也不叫顺利,也是悲剧的很,说白了,对于IAR这个编译器我佩服的五体投地。不是一般的强大,不是一般的复杂,不是一般的难用。好了,好了,回归正题。编译报错是这样的:Error[Pa043]: the keyword "__regvar" is not available with the current settings. Registers must be locked with --lock_regs before __regvar can be used C:\Users\pang123hui\Desktop 阅读全文
posted @ 2011-12-01 18:58 云说风轻 阅读(1857) 评论(0) 推荐(0) 编辑
摘要: 刚刚接触IAR,编译默认生成的是.a90文件,但直接用avr studio下载时提示非正规HEX文件,不给我下载,郁闷了。其实也简单,如下图所示配置文件后面加几行字就OK了。//Output File-Ointel-extended,(XDATA)=.eep-Ointel-extended,(CODE)=.A90-Ointel-extended,(CODE)=.hex这时在编译链接,.hex文件就产生了,而且这时候生成的.a90文件也可以下载了。 阅读全文
posted @ 2011-11-30 18:54 云说风轻 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 最近因为项目需要开始使用IAR for AVR,我用的是5.40版本的,主要是5.40以上才包括了aTtiny87,至于安装文件和和谐文件,大家自己找吧,很好找的。 1.编译报错如图所示:很显然你没有使能寄存器的位定义。方法如下:Project ——> Option ——> General Options ——> System(如下图所示),勾选Enable bit definitions in I/O-Include files即可2.MCU型号选择如果和我一样都次都是以空工程创建的话,不过忘了第一步先进Project ——> Option ——> Genera 阅读全文
posted @ 2011-11-30 13:52 云说风轻 阅读(14814) 评论(1) 推荐(0) 编辑
摘要: 在一些智能充电器中,单片机要一直监测电池的电压,一旦超过某一数值,就由恒流充电切换到恒压充电。撇开充电器制作相关的各种知识和概念不说我们集中注意力来考察:当电压接近那个设定的临界值时发生的一些事情。 当电压接近临界值的时候,系统还处于恒流充电状态,于是电压开始朝突破临界值的方向上升……在某一时刻,电压突破了临界值,程序检测到了这一数值变化,立即将充电状态由恒流切换为恒压。然而,由于恒流状态时加载在电池上的电压要远远高于恒压时所保持的电压,所以几乎在同一瞬间,单片机监测到的电池电压又跳回了临界值以下——于是,系统又头脑简单地将工作模式切换回了恒流状态……如此反复,在电池电压处于该临界值附近的时. 阅读全文
posted @ 2011-11-28 20:41 云说风轻 阅读(2100) 评论(0) 推荐(0) 编辑
摘要: 分辨率、参考电压这些地球人都知道的就不说了。当“参考电压”和“分辨率”被确定后,每两个数值间的差值,即“步进量”。上面的“步进量”在AD中称为1LSB(最低有效位,Least Significant Bit)所代表的电压值。以5V参考电压、10位精度的AD为例1LSB能够表示的电压值为:1LSB所表示的电压值 = 参考电压5V / (0x3FF + 1)= 4.88mv对任何AD来说,量化后输出的数字信号值都是以1LSB的电压值步进的,介于1LSB之间的电压将按照一定的规则进行入位或舍弃,这个过程中造成的误差被称为“量化误差”,量化误差属于原理性误差,是无法消除的。0.5 LSB的非线性度:在 阅读全文
posted @ 2011-11-27 22:49 云说风轻 阅读(7780) 评论(0) 推荐(0) 编辑
摘要: 调度器: 一方面,调度器可以看作是一个简单的操作系统,允许以周期性或(更少见)单次方式来调用任务 从底层的角度看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序,因此,只需要初始化一个定时器,而且改变定时的时候通常只需要改变一个函数。此外,无论需要运行1个、10个还是100个不同的任务,通常都可以使用同一个调度器完成。注意,这种“共用中断服务程序”与桌面操作系统提供的共用打印功能非常类似。合作式调度器: 合作式调度器不但可靠而且可预测的主要原因是在任一时刻只有一个任务是活动的。抢占式调度器:混合式调度器:这里面一个关键性问题就是如何解决不可重入函数: a、修改或读取变量(尤其是用于 阅读全文
posted @ 2011-11-27 13:49 云说风轻 阅读(5048) 评论(0) 推荐(0) 编辑
摘要: 这几天终于开始正式上班了,似乎我梦寐以求这一天已经很久了,但总的来说还是很兴奋的。 虽然这两天被寝室里的吵的要死,他们天天在寝室玩游戏到凌晨3、4点还开音响,这两天困的要死,但到了公司,还是可以写代码一直到下班,虽然我的眼睛都疼。不过现在已经搬到实验室住了,也不存在这个问题了。 压力还是有的,主要是想好好的做好PKE这个项目,虽然这个项目还没有立项,但我很想表现一下。 还有就是英语的压力,听说读写,貌似都有要求,感觉技术差点,只要英语好,想学都是很快的。英语,英语,英语。。。。。。 努力,努力,努力。。。。。。 老婆。。。。。。。 阅读全文
posted @ 2011-11-26 22:52 云说风轻 阅读(365) 评论(1) 推荐(0) 编辑
摘要: 矩阵键盘程序以及电路连接图 阅读全文
posted @ 2011-11-10 12:25 云说风轻 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 80C51 在电源重置后(Power On Reset)所执行的第一个程序模块并不是使用者的主程序main(),而是一个隐藏在KEIL-C51 标准链接库中称为startup.a51 的程序模块。 阅读全文
posted @ 2011-11-10 12:19 云说风轻 阅读(615) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页