128*64液晶显示器
摘要:以数据并行的方式在DDRAM中实现基本的文本输出 #include <reg52.h>#include <intrins.h>#define NOP() _nop_()#define uchar unsigned char#define uint unsigned int uchar code table0[] = "welcome zcmaker";uch...
阅读全文
posted @
2012-11-23 15:15
WithYouTh
阅读(474)
推荐(0)
温度传感器,ds18b20
摘要:#include <reg52.h>#include <intrins.h>#define NOP() _nop_()#define uchar unsigned char#define uint unsigned intunsigned int temp;float f_temp;sbit ds = P2^2;sbit dula=P2^6; //数码管段选线sbit wela=P...
阅读全文
posted @
2012-11-23 15:12
WithYouTh
阅读(248)
推荐(0)
IIC,AT24C02
摘要:IIC总线工作原理 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。 起始和终止信号 :SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。数据传送格式(1)字节传送与应答每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。AT24C02的芯片地址如下图,1010为固定,
阅读全文
posted @
2012-11-23 14:54
WithYouTh
阅读(387)
推荐(0)
MODBUS协议在dspic上通信应用程序
摘要:in modbus.h extern uint8 sendCount; extern uint8 receCount; extern uint8 sendPosi;void beginSend(void);void checkModbus(void);void readMultipleRegister(void);void writeSingleRegiste...
阅读全文
posted @
2012-11-23 14:28
WithYouTh
阅读(928)
推荐(1)
led 灯渐亮程序
摘要://实验目的:通过LED渐亮渐暗实验,熟悉dsPIC30F6014A的简单编程//软件思路:// 1、PORTD口的低8位的LED渐亮渐暗流水灯实验// 2、用TMR1的定时做延时时间 //硬件规划:拨码开关S1全置ON,其他拨码开关OFF#include <p30f6014a.h> //dsPIC30F6014标准头文件 _FO...
阅读全文
posted @
2012-11-23 14:17
WithYouTh
阅读(1074)
推荐(0)
UART C51与 dspic双机通讯
摘要:/* p2p_m.c *//* 双机点对点通信的主机部分 */#ifndef __P2P_M_C__#define __P2P_M_C__#include <REGX52.H>#include <STRING.H>#define __MAX_LEN_ 64 // 数据最大长度#define _MHZ_ 11 // 设置单片机使用的晶振频率(11.0592MHz)/* 以下为程序协议中使用的握手信号 */#define __RDY_ 0x06 // 主机开始通信时发送的呼叫信号#define __BUSY_ 0x15 // 从机忙应答#define __OK_ 0x00
阅读全文
posted @
2012-11-23 14:12
WithYouTh
阅读(659)
推荐(1)
uboot2009 nandflash移植
摘要:(参考文章)增加nand flash功能 (uboot分区参考):uboot环境变量与内核MTD分区关系 移植环境 主机环境:VMare下RHLE6 ,1G内存。编译编译环境:arm-linux-gcc v4.3.2开发板:FL2440,4M nor flash,256M nand flash。u-boot版本:u-boot-2009.08首先注意一个问题:先请大家看《第五章 存储器控制器中...
阅读全文
posted @
2012-11-23 13:51
WithYouTh
阅读(410)
推荐(0)
uboot2009,dm9000移植
摘要:(参考文档)增加DM9000网卡驱动 移植环境主机环境:VMare下RHLE 6 ,1G内存。编译编译环境:arm-linux-gcc v4.3.2开发板:FL2440,4M nor flash,256M nand flash。u-boot版本:u-boot-2009.08u-boot-2009.08版本已经对CS8900、RTL8019和DM9000X等网卡有比较完善的代码支持(代码在driv...
阅读全文
posted @
2012-11-23 13:49
WithYouTh
阅读(755)
推荐(0)
u-boot2009,norflash移植
摘要:开发板的配置文件fl2440.h(/include/configs/fl2440.h)修改配置 /*-------------------------------------------------------------------* FLASH and environment organization*/ #define CONFIG_SYS_MONITOR_BASE T...
阅读全文
posted @
2012-11-23 13:48
WithYouTh
阅读(299)
推荐(0)
uboot2009,增加yaffs文件系统
摘要:(参考文档)增加yaffs文件系统 移植环境主机环境:VMare下 RHEL6 ,1G内存。编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。开发板:fl2440,2M nor flash,128M nand flash。u-boot版本:u-boot-2009.08添加Yaffs2镜像烧写功能由于现在很多使用Nand Flash 的系统,...
阅读全文
posted @
2012-11-23 13:47
WithYouTh
阅读(1029)
推荐(0)
uboot2009,增加引导内核功能
摘要:(文件参考)http://www.linuxidc.com/Linux/2011-05/35982.htm 移植环境主机环境:VMare下 RHLE6,1G内存。编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。开发板:fl2440,2M nor flash,128M nand flash。u-boot版本:u-boot-2009.08u-...
阅读全文
posted @
2012-11-23 13:45
WithYouTh
阅读(561)
推荐(0)
uboot2009基本移植
摘要:(参考文章) http://www.linuxidc.com/Linux/2011-05/35982.htm移植环境 主机环境:VMare下RHLE6 ,1G内存编译编译环境:arm-linux-gcc v4.3.2 开发板:FL2440,4M nor flash: JS28F320J3D,256M nand flash(k9f2g08) u-boot版本:u-boot-2009.08 目录结构 启动流程 移植步骤 建立fl2440开发板文件并编译测试定位到board/samsung,将目录smdk2410复制并粘贴到board目录下,将其重命名为fl2440。 打开fl2440目录,将smd
阅读全文
posted @
2012-11-23 13:39
WithYouTh
阅读(384)
推荐(0)
什么是bss段
摘要:BSS(Block Started by Symbol)这个词最初是UA-SAP汇编器(United Aircraft Symbolic Assembly Program)中的一个伪指令,用于为符号预留一块内存空间。一般C语言的编译后执行语句都编译成机器代码,保存在.text段;已初始化的全局变量和静态变量都保存在. data段;未初始化的全局变量和静态变量一般放在一个叫."bss"的段里。我们知道未初始化的全局变量和局部静态变量默认值都为0,本来它们也可以被放在.data段的,但是因为它们都是0,所以为它们在.data段分配空间并且存放数据0是没有必要的。程序运行的时候它
阅读全文
posted @
2012-11-17 21:51
WithYouTh
阅读(1227)
推荐(0)
堆和栈的区别
摘要:一.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全...
阅读全文
posted @
2012-11-17 20:06
WithYouTh
阅读(164)
推荐(0)
BSS段、数据段、代码段、堆与栈
摘要:BSS段:BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。BSS是英文BlockStartedbySymbol的简称。BSS段属于静态内存分配。 数据段:数据段(datasegment)通常是指用来存放程序中已初始化的全局变量和静态变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(codesegment/textseg...
阅读全文
posted @
2012-11-17 18:14
WithYouTh
阅读(337)
推荐(0)
c语言中static 用法总结
摘要:惨痛教训: 假设在test.h中定义了一个static bool g_test=false; 若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!shit!! 一、c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CP...
阅读全文
posted @
2012-11-17 17:16
WithYouTh
阅读(272)
推荐(0)
在keil_C51设计中几种精确延时的方法
摘要:Keil C51程序设计中几种精确延时方法 摘要 实际的单片机应用系统开发过程中,由于程序功能的需要,经常编写各种延时程序,延时时间从数微秒到数秒不等,对于许多C51开发者特别是初学者编制非常精确的延时程序有一定难度。本文从实际应用出发,讨论几种实用的编制精确延时程序和计算程序执行时间的方法,并给出各种方法使用的详细步骤,以便读者能够很好地掌握理解。 关键词 Keil C51 精确延时 程...
阅读全文
posted @
2012-11-17 16:38
WithYouTh
阅读(976)
推荐(1)
关于us_ms级别的延迟函数的写法问题
摘要:在keil C51中,直接调用库函数: #include<intrins.h> // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。 NOP指令为单周期指令,可由晶振频率算出延...
阅读全文
posted @
2012-11-17 16:16
WithYouTh
阅读(2071)
推荐(0)