| Keil C51常用功能模块使用说明2001/11/19说明本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参数的设置,而不是直接更改源代码。这些可选内容大部分为宏定义,如果不定义宏相应的功能在编译时被屏蔽,不会增加代码... |
|
| 下面是用普通C51实现的I2C基本电平模拟函数和通用函数。 /* 电平模拟函数和基本读写函数 void IIC_Start(void); void IIC_Stop(void); &nb... |
|
| 关键是stdarg.h中的几个宏:va_start、va_arg和va_end,下面是一个简化版本的printf(),请参考:#include "stdio.h"#include "stdarg.h"int printf (const char *format, ...) { &nbs... |
|
| ;*******************************************************************************; Duplex UART Routines for the 8xC751 and 8xC752 Microcontrollers;*********... |
|
| 通用延时子程序的应用[DELY]:通用延时子程序[地址]:7FEBH - FFEBH[功能]:延时[入口]:延时常数放在R2寄存器中。时间常数N(十六进制)所对应的延时时间(6MZH晶振时)见下表: [出口]:R2=0 [占用寄存器]:R2 [调用]:无例:延时1秒子程序 MOV... |
|
|
16bit CRC assembler program;----------------------------------------; STRINT IS EF-NET OUT. THE INT.; USE INT08;&nb... |
|
|
CRC16校验的程序;========================================================== DATA_BUFF EQU  ... |
|
|
SPECIAL FUNCTION REGISTER ??Register (MSB) (LSB) ByteSymbol b7 b6 ... |
|
|
8051的汇编控制指令,占用字节,执行周期列表
8051 INSTRUCTION SET1.Arithmetic operations: Mnemonic &nb... |
|
|
MCS-51单片机实用子程序库(96年版) 目前已有若干版本的子程序库公开发表,它们各有特色。笔者在1988年也编制了两个子程序库(定点子程序库和浮点子程序库),并在相容性、透明性、容错性和算法优化方面作了一些工作。本程序库中的开平方算法为笔者研究的快速逼近算法,它能达到牛顿迭代法同样的精度,而速度加快二十倍左右,超过双字节定点除法的速度。经过八年来全国广大用户... |
|
| A51与ASM51基本相同 ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能。源程序的编写完全采用 Inter标准助记符和行格式。在编写程序过程中,可借助于文本编辑(Windows的记事本)或文字处理软件Word等编辑, 经ASM-5... |
|
| ICCAVR Readme fileMake sure you subscribe to the icc-avr mailing list for programupdate announcements. Send "subscribe i... |
|
| 该软件几乎支持AVR现有的全部系列Support AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535 Flash micro Support AT90S232... |
|
| 可在双龙SL-AVR实验器上验证//第十章例子10.5.7)、clock 电脑时钟程序----24小时制时钟/********************************************** http://www.sl.co... |
|
| cseg at 0000hajmp startcseg at 0003hajmp intt0start: &nbs... |
|
| ;*************************************************************;* title: X25045;*实现2051对X25045的写入和读出,及看门狗超时周期的设置。;* version: 1.0;* last ... |
|
| /*这是一个控制步进电机正反转的实际应用程序*//*选用的是三相步进电机驱动器,p14口线用做步进电机的脉冲控制*//*p13口线用做步进电机的方向控制。p15,p16,p17是光耦开关量输入*//*信号端,p20,p21,p22,p23与x25045看门狗存储器相连*//*k7,k8键是设定步进电机转动速度参数的加减键*//*k9是启动运行键,按一下k9,步进电机开始运行,直到p17口线有信号输... |
|
| 利用BP机实现的报警系统这是一个最简单的方案,硬件电路如图2所示。 首先,由单片机巡回监视报警信号的出现。图中,以P1.3口电位变低作为出现了报警信号。如有报警,则单片机立即通过P1.7口输出低电平,吸合继电器J1,将装置与电话线路接通。接着,单片机按照事先给定的BP机号码发DTMF信号即开始拨号,当接到传呼台的回音信号后即自动挂机(断开继电器J1的触点)。89C51单片机控制子程序编制如下: ... |
|
|
纯软件单片机串口(一) ;Definition of variablesSEND_READ EQU &nb... |
|
| */ ***** POCSAG码检错及纠错 ***** /**/运行结果:Flag_Bits.VER_ER=0,接收正确或错码已被纠正; Flag_Bits.VER_ER=1,接收出错且无法纠正; 已完整接收的码字:Code_Reg/*unsigned long Code_Reg; */Code_Reg:存放接收近来... |
|
| 我现在正搞双机通信,不过遇到一个问题,问题是这样的:这样就可以while(TI==0);TI=0;…………这样就不行,我用以下方法不能检测到TI=1,为何呀?for(i=0;(i<10)&&(TI==0);i++);TI=0;if(i<10)//正确处理else//错误处理没有必要使用第二种方法 串口发送数据时需要一定时间。假设波特率为9600bps,则每位需... |
|
| 单片机和FIFO的接口和操作下面的程序中,单片机将FIFO中的数据读取出来后,从串口发送出去。;*********************************** ef bit p3.3 ... |
|
|
;FILENAME : REMOTE.ASM ; .SYMBOLS ON ; .CODE;L0000: LJMP &n... |
|
| 利用指令执行周期设定,以下为一段延时程序: 指令 周期 MOV &nbs... |
|
|
程序的多任务和资源复用举例有一台机电设备,有两个按键,控制设备的两个不同部分。现要求: 每个按键按下,相应控制程序运行。但两个按键可以同时按下,就是说两个控制程序可能需要同时运行。使用一个89C52,如何编写程序?注:此程序不使用RTOS等操作系统。/*程序说明: 一)产生波形可以使用中断中计数来产生精确的波形。 &nb... |
|
|
beep bit p3.7 ;蜂鸣器定义 &nb... |
|