虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

keil c51语言使用技巧及实战

  • 如何为keil c51编写自己display接口

    如何为keil c51编写自己display接口

    标签: display keil c51 编写

    上传时间: 2013-10-12

    上传用户:huxiao341000

  • 电子仿真软件Multisim使用技巧集合

    电子仿真软件Multisim使用技巧集合,希望对你有帮助

    标签: Multisim 电子仿真软件 使用技巧

    上传时间: 2013-10-12

    上传用户:012345

  • keil C51完全破解版uVision2

    keil C51完全破解版uVision2

    标签: uVision2 keil C51 完全破解版

    上传时间: 2013-10-19

    上传用户:a82531317

  • 单片机照明灯智能控制器

    本文主要介绍系统的开发背景,意义,并重点介绍了硬件设计和软件设计的过程。在硬件方面,从元件,模块,系统逐级阐述,特别是系统的核心部分AT89C52,并用PROTEL 99SE软件对原理图和电路板的制作。软件方面,用现阶段比较流行的单片机C语言编程,利用定时器中断控制标准时钟。最后是软硬件的调试,其中介绍了单片机仿真软件KEIL C51的使用。

    标签: 单片机 照明灯 智能控制器

    上传时间: 2013-11-08

    上传用户:完玛才让

  • Keil C51 V8.08绿色下载

    Keil C51 V8.08绿色下载

    标签: Keil 8.08 C51

    上传时间: 2014-08-30

    上传用户:15736969615

  • keil c51中文说明

    Keil C51 中文说明:8051 系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上仅次于Motorola 68HC11 在 8 位微控制器市场上的销量很多制造商都可提供8051 系列单片机像Intel Philips Siemens 等这些制造商给51 系列单片机加入了大量的性能和外部功能像I2C 总线接口模拟量到数字量的转换看门狗PWM 输出等不少芯片的工作频率达到40M 工作电压下降到1.5V 基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051 系列的基本结构如下1 一个8 位算术逻辑单元2 32 个I/O 口4 组8 位端口可单独寻址3 两个16 位定时计数器4 全双工串行通信5 6 个中断源两个中断优先级6 128 字节内置RAM7 独立的64K 字节可寻址数据和代码区每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms.

    标签: keil c51

    上传时间: 2013-10-24

    上传用户:xauthu

  • 串行编程器源程序(Keil C语言)

    串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 {  nTimeOut++;  if(nTimeOut>1000)//超时了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    标签: Keil 串行 C语言 编程器

    上传时间: 2013-11-12

    上传用户:gut1234567

  • I2C总线高频头控制程序(Keil C51程序 基于芯片TS

    I2C总线高频头控制程序(Keil C51程序 基于芯片TSA5522系列) /*I2C总线高频头控制Keil C51程序(PLL芯片为TSA5522系列)                               *///--------------------------------------------------------------------------////                                源程序大公开                              ////                    (c) Copyright 2001-2003 xuwenjun                     ////                            All Rights Reserved                           ////                                    V1.00                                 ////--------------------------------------------------------------------------////标 题: I2C总线高频头控制程序(PLL芯片为TSA5522系列)                       ////文件名: xwj_fi1256.c                                                      ////版 本: V1.00                                                             ////修改人: 徐文军                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26 首次公开                                                 ////描 述: I2C总线高频头控制程序(PLL芯片为TSA5522系列)                       ////声 明:                                                                   ////        以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. ////        如用于商业用途请与作者联系.    E-mail:xuwenjun@21cn.com           ////        有问题请mailto xuwenjun@21cn.com   欢迎与我交流!                  ////--------------------------------------------------------------------------////老版本: 无                             老版本文件名:                      ////创建人: 徐文军                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26                                                          ////描 述:                                                                   ////--------------------------------------------------------------------------//                                                                                                /* 频率单位为KHz     */#define FUENCY 38900                                                        /* 中频频率          */#define PLLdataH(f) ((f+FUENCY)*16/1000/256)        /* 频率数据高 第1字节*/#define PLLdataL(f) ((f+FUENCY)*16/1000%256)        /* 频率数据低 第2字节*/#define PLLCON1 0x8e                                                        /* 控制字1    第3字节*/                                                                                                /* 控制字2    第4字节*/#define PLLCON2(f) (((f)<(168000))?(0xa0):(((f)<(450000))?(0x90):(0x30)))#define PLLdata3(fchan) PLLdataH (fchan),PLLdataL (fchan),PLLCON2 (fchan)

    标签: Keil I2C C51 程序

    上传时间: 2013-11-10

    上传用户:nanfeicui

  • 万用电表使用技巧60例(第2版)_李保宏

    《万用电表使用技巧60例》分为两章:第1章介绍万用电表基本知识,用7个小标题介绍了目前流行使用的模拟万用电表、数字万用电表、双显万用电表的技术特性、操作面板、读数装置以及万用电表的选择和使用须知。第2章介绍万用电表使用技巧与实例,通过60个小标题介绍了怎样使用万用电表测试电路参数、检查电路故障、检测电器元件等,资料翔实,非常实用。

    标签: 万用电表 使用技巧

    上传时间: 2014-12-31

    上传用户:786334970

  • C语言100例及教程

    C语言100例及教程

    标签: 100 C语言 教程

    上传时间: 2013-12-09

    上传用户:落花无痕