随笔分类 -  单片机

各种小总结
摘要:‘a’ 字符常量用单引号 “abcd” 字符串用双引号 cvavr 的位变量 (bit)只能定义全局变量 保存变量值的话要用static定义———叫静态变量,在不同的函数定义同一个静态变量的话 前面加extern修饰 如果某个变量值可能因为外界环境 如中断 而改变 ,就要在其前面加上 vol... 阅读全文

posted @ 2011-06-02 10:03 码农也疯狂 阅读(196) 评论(0) 推荐(0)

串行通信之狂扯篇
摘要:Unifax2009.4.16Unifax@163.com 本文是写给初学者的菜文大虾勿怪文章有说的不妥之处欢迎来信批评 串口通信是一种很经典很古老的通信方法了之所以用了这么多年没有彻底废弃其中一定有它的过人之处。 现在电脑是越来越“不务正业”了仿佛是只关心游戏玩家的感觉,什么8800GT啦~~~~... 阅读全文

posted @ 2011-05-27 16:29 码农也疯狂 阅读(986) 评论(0) 推荐(0)

串口接收的思路
摘要:在avr论坛上看到的 关于串口接收的方法 对项目有点帮助就记录下了 感谢网友AVRBBS 提供的方法 static unsigned char i;//定义一个静态变量,用于记录接收到那一个字节了。switch (i) { case:0 if (udr == 0xAA) //收到第... 阅读全文

posted @ 2011-05-26 11:26 码农也疯狂 阅读(348) 评论(0) 推荐(0)

按条件定义数据类型的方法
摘要:今天在cvavr自带的代码中看的方法,觉得有可用之处,收藏学习#if RX_BUFFER_SIZE<256 //若接收缓冲区小于256个字节,定义为环形队列的指针为char型变量 unsignedcharrx_wr_index,rx_rd_index,rx_counter;#else //否则为int型变量 unsignedintrx_wr_index,rx_rd_index,rx_counter;#endif 阅读全文

posted @ 2011-05-24 15:22 码农也疯狂 阅读(194) 评论(0) 推荐(0)

AVR 中定义数据和命令输入方法
摘要://CS=0 A0=0 写数据口#define LcmWdataPort (*(volatile unsigned char *)0xFC00)//CS=0 A0=1 写命令口#define LcmCmdPort(*(volatile unsigned char *)0xFE00) volatil... 阅读全文

posted @ 2011-05-23 18:05 码农也疯狂 阅读(191) 评论(0) 推荐(0)

ds1302驱动
摘要:#include #include #include sbit DS1302_RST = P3 ^ 4 ; // 实时时钟复位线引脚 sbit DS1302_CLK... 阅读全文

posted @ 2011-05-23 11:29 码农也疯狂 阅读(325) 评论(0) 推荐(0)

我的 sed1330 底层驱动
摘要:初始化对照数据手册,和借鉴网友写的程序很容易理解。 主要的是理解打点函数write(1,2,3,4); 我是这样理解的: 把屏幕上每一行都首位连起来,然后把他们放到 sed1300的RAM地址中,一次可以控制8位,也就是8个点,然后就是计算怎么样 控制所有的... 阅读全文

posted @ 2011-05-23 09:28 码农也疯狂 阅读(401) 评论(0) 推荐(0)

C51中的 code data xdata idata 关键字的使用说明
摘要://来源百度 code 指定数据是存储在代码区,数据是在编程的时候跟代码一起写入代码存储器,运行过程中不能改变xdata 指定数据是存储在外部数据存储器了data 指定数据存储在内部低128字节数据存储器里,如果变量不指定存储位置,默认就是data型,这部分存储器寻址速度最快idata 指定数据存储... 阅读全文

posted @ 2011-05-06 14:55 码农也疯狂 阅读(2551) 评论(0) 推荐(0)

单片机的存储器
摘要:虽然断断续续写了几个程序,但是对单片机的很多基础知识了解还不是很透彻,所以今天彻底对存储器百度了一下,有了很多新的发现。 单片机的存储空间有两种基本结构。一种是普林斯顿结构(Princeton),将程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间里分配不同的地址。CPU访问存储器时... 阅读全文

posted @ 2011-05-06 14:35 码农也疯狂 阅读(1821) 评论(0) 推荐(0)

c语言中volatile 的用法
摘要:为什么要用volatile: 首先,编译器读取某内存地址的值,如果是连续两次读取, 而且两次中间没有对这个内存地址值改变。编译器就会直接把上次读取的值拿出来用, 所以如果这个内存地址是 寄存器 或是某 端口 值,随时都有可能改变, 那么久会出错。 当要求使用volatile修饰一个变量的时候,系... 阅读全文

posted @ 2011-05-04 14:35 码农也疯狂 阅读(346) 评论(0) 推荐(1)

C51中的 xbyte的使用
摘要:(由于找不到出处,无法带名感谢,望作者见谅)The XBYTE macro accesses individual bytes in the external data memory of the 8051. You may use this macro in your programs as fo... 阅读全文

posted @ 2011-05-04 11:06 码农也疯狂 阅读(943) 评论(0) 推荐(0)

导航