前段时间 STM32 的I2C应用搞的一塌糊涂,自我感觉十分不爽。又找出了一片 德州仪器 的12位 I2C 接口的温度传感器 TMP101来 练练手。先在SMT32接线时连电源都接错了,上拉也没接。算了先在51 上跑跑,不久一定要在STM
看到了个好帖,我在此在它得基础上再抛抛砖!有个好帖,从精度考虑,它得研究结果是: void delay2(unsigned char i) { while(-i); } 为最佳方法。 分析:假设外挂12M(之后都是在这基础上讨论) 我编译了下,传
#include#define uchar unsigned charuchar temp;void serial()interrupt 4 using 1{if(RI){RI=0;temp=SBUF;SBUF=temp;}else if(TI)TI=0;}main(){uchar string[]="AT89C52 Microcomputer!Designer: Grarry Meng";uch
现在的存储器已经不像七八年前那样昂贵了,但是ram相对于rom和eeprom的价格还是不可同样看待的,所以程序中节省内存在现在看来还是非常关键的。原因有以下几点:1.ram的存取速度相对于eeprom的存取速度要快很多倍,不
此串口处理程序是基于以下的协议写成的:帧内容FRAME=帧头FA+帧长度len(不包括帧头帧尾)+数据流data+帧尾FB。串口中断子程序里对整个数据流进行处理,而不是一个字节一个字节地处理,在中断中等待处理完所有的
l 绝对地址访问l C与汇编的接口l C51软件包中的通用文件l 段名转换与程序优化第一节 绝对地址访问C51提供了三种访问绝对地址的方法:绝对宏:在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:C
如i=0时,tab[i]的值为0x3f,那么这句bit_dat((bit)(tab[i]&0x80));的作用是:第一步:tab[i]与0x80作位与,即0x3f与0x80作位与(与0x40相位与就是取了第6位),这样的效果是取得了0x3f的最高位(第7位),其它位全部被
查了很多资料,要用KEIL C51在ROM(FLASH)中固定的位置写入一个初始化数据,网上有很多办法,感觉都不是很好,我最近因为要用,所以想了一个办法来实现,大家都知道在C51成立工程时都有一个扩展名为A51的源文件,这
C程序与汇编的接口Cx51程序可以方便地与8051汇编程序接口。A51汇编器是一个以OMF-51格式发射对象模块的8051宏汇编器。通过观察一些编程规则,你可以在C程序中调用汇编程序,反之亦然。在汇编模块中声明的公有变量在C
1.通过使用预处理指令#asm 和#endasm来使用汇编语言。用户编写的汇编语言可以紧跟在#asm之后,而在#endasm之前结束。如下所示:# asm/*汇编源程序*/# endasm在#asm和#endasm之间的语句将作为汇编语言的语句
/*******************************************************************//*ME300B单片机开发系统演示程序-PWM控制LED灯渐亮渐灭*//*LED显示*/ /*************************************************
摘要:散列(hash)是一种重要的存储方法,也是一种常见的查找方法。它是指在记录的存储位置和它的关键字之间建立一个确定的对应关系。本文以射频卡门禁控制器为例,说明用射频卡卡号作为关键字,用Hash查找法确定此卡能否
实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。1使用定时器/计数器实现精确延时 单片机系统
一.target名更改 打开Keil后,左侧Project Workspace中的target可改,方法:右击Target——Manage Compnents——双击待修改项即可,若要添加,使用对话框内对应工具栏。二.option for target 设置之TARGET项1 MEMA
相信很多人遇到多光标处显示的字符并不是正确的字符,可一直没有办法解决。其实很简单,在Keil c目录下TOOLS.INI文件中第三行增加一条语句:ANSI=1就可以了。看看我的这个配置文件内容:[UV2]ORGANIZATION="HEYONG"N
/**********************************************程序名称:DS1302时钟芯片C51驱动程序简要说明:read_clockS函数为读取时钟数据 调用Set_time即可调整时间并写入DS1302 sel为调整标志,可通过外部按键来更改其值****
/************************************************************************************************************** Seven Segment LED Clock COPYRIGHT (c) 2012 DESIGNED BY GARRY --
Pointers指针Cx51支持使用字符*来声时一个指针类型的变量。Cx51的指针可以完成标准C的所有功能。然而,由于8051及其变种的特殊构架,Cx51使用两种类的指针: memory-specific pointers and generic pointers(特定存
格式:void 函数名()interrupt 中断号 using 工作组{ 中断服务程序内容} 注意:中断不能返回任何值,所以前面是 void 后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任何参数,所以
Keil C51使用教程---开发系统基本知识(一)第一节 系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易