Keil C51开发系统基本知识3 1. 1. 专用寄存器include文件例如8031、8051均为REG51.h其中包括了所有8051的SFR及其位定义,一般系统都必须包括本文件。2. 2. 绝对地址include文件absacc.h该文件中实际只定义了几个宏,以确定各存储空间的绝对地址。3. 3. 动态内存分配函数,位于stdlib.h中 4. 4. 缓冲区处理函数位于“string.h”中其中包括拷贝比较移动等函数如:memccpy memchr memcmp memcpy memmove memset这样很方便地对缓冲区进行处理。5. 5. 输入输出流函数,位于“stdio.h”中流函数通8051的串口或用户定义的I/O口读写数据,缺省为8051串口,如要修改,比如改为LCD显示,可修改lib目录中的getkey.c及putchar.c源文件,然后在库中替换它们即可。3. 第三节 Keil C51库函数原型列表
上传时间: 2013-11-06
上传用户:smallfish
目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM 具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的首选。
上传时间: 2013-11-13
上传用户:invtnewer
• 8255的控制字• 8255的工作方式1和工作方式2• DAC0832工作方式• ADC0809工作方式@ 要求 掌握 :• 8255接口芯片 • MCS-51单片机与D/A转换器的接口连接 • MCS-51单片机与A/D转换器的接口连接 • 初始化编程及应用了解:• I/O口扩展的原因 • 简单I/O口的扩展 • 单片机的键盘技术 8.1 I/O口扩展概述 8.2 简单I/O口扩展8.3 8255可编程通用并行接口芯片8.4 8155可编程通用并行接口芯片8.1 I/O口扩展概述 8.1.1 I/O口扩展的原因MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口作地址线的高八位使用;P3是一个双功能口,其第二功能是一些很重要的控制信号,所以P3一般使用其第二功能。这样供用户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄存和命令寄存的功能,因此难以满足复杂的I/O操作要求。由于MCS-51系列单片机I/O口数量和功能有限,所以在实际应用中不得不使用扩展的方法,来增加I/O口的数量,增强I/O口的功能。 8.1.2 I/O口的编址技术用户可以通过对I/O口进行读和写操作来完成数据的输入和输出。例如:P0口的地址为80H。用户可以使用MOV指令对P0口进行写操作。 MOV P0, A 8.1.3 单片机I/O传送的方式单片机为了实现数据的输入/输出传送,通常使用3种控制方式。1. 无条件传送方式 当外设和单片机能够同步工作时,可以采用无条件方式进行传送,即数据可以随时进行传送。2. 查询方式 查询方式又称为有条件传送方式,即数据的传送是有条件的。在进行I/O操作之前,用户要通过软件查询外设是否为数据传送做好准备,只有确认外设为数据传送做好准备。单片机才能执行数据的输入/输出(I/O)操作。3. 中断方式 当外设和计算机进行数据交换时,外设向单片机发出中断请求(即通知单片机)。单片机接到中断请求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入/输出服务。当服务完成后,程序返回,单片机再继续执行被中断的程序。 中断方式大大提高了单片机系统的工作效率,所以在单片机中被广泛应用。
上传时间: 2013-11-10
上传用户:yqs138168
1.1 微型计算机的组成及工作原理1.1.1 微型计算机中的基本概念1. 微处理器2. 微型计算机 (1)单片微处理机 (2)通用微型计算机3. 微型计算机系统1.1.2 微机基本结构 微型计算机的基本组成如图1.1所示,它由中央处理器(CPU)、存储器(Memory)、输入输出接口(I/O接口)和系统总线(BUS)构成。 1.1.3 微型计算机的基本工作过程 微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能,这就是微型计算机的基本工作原理。 1.2 典型单片机产品简介1.2.1 MCS-51单片机系列 MCS-51可分为两个子系列和4种类型,如表1-1所示。按资源的配置数量,MCS-51系列分为51和52两个子系列,其中51子系列是基本型,而52子系列属于增强型。表1-1 MCS-51系列单片机分类
上传时间: 2013-11-07
上传用户:debuchangshi
MCS-51系列单片机芯片结构:2.1 MCS—51系列单片机的结构原理2.1.1 MCS-51单片机逻辑结构 MCS-51单片机的系统结构框图如图2.1所示。 图2.1 MCS-51单片机的系统结构框图由图2.1可以看出,单片机内部主要包含下列几个部件:u 一个8位CPU;u 一个时钟电路;u 4Kbyte程序存储器;u 128byte数据存储器;u 两个16位定时/计数器;u 64Kbyte扩展总线控制电路;u 四个8-bit并行I/O端口;u 一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断 1. CPU CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。(1)运算器电路 运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态寄存器、暂存器1和暂存器2等部件,运算器的功能是进行算术运算和逻辑运算。 (2)控制器电路 控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。
上传时间: 2013-10-27
上传用户:tianyi223
AVR 单片机与GCC编程 目录第一章 AVR 单片机开发概述1.1 一个简简单的例子1.2 用MAKEFILE 管理项目1.3 开发环境的配置第二章 存储器操作2.1 AVR 单片机存储器组织结构2.2 I/O 寄存器操作2.3 SRAM 内变量的使用2.4 在程序中访问FLASH 程序存储器2.5 EEPROM 数据存储器操作2.6 avr-gcc 段结构与再定位第三章 功能模块编程示例3.1 中断服务程序3.2 定时器/计数器应用3.3 看门狗应用3.4 UART 应用3.5 PWM 功能编程3.6 模拟比较器3.7 A/D 转换模块编程第四章 使用C 语言标准I/O 流调试程序4.1 avr-libc 标准I/O 流描述4.2 利用标准I/0 流调试程序第五章 AT89S52 下载编程器的制作5.1 LuckyProg S52 概述5.2 AT89S52 ISP 功能简介5.3 程序设计第六章 硬件TWI 端口编程6.1 TWI 模块概述6.2 主控模式操作实时时钟DS13076.3 两个Mega8 间的TWI 通信第七章 BootLoader 功能应用7.1 BootLoader 功能介绍7.2 avr-libc 对BootLoader 的支持7.3 BootLoader 应用实例 第八章 汇编语言支持8.1 C 代码中内联汇编程序8.2 独立的汇编语言支持8.3 C 与汇编混合编程第九章 C++语言支持结束语附录 1 avr-gcc 选项附录 2 ihex 格式描述
上传时间: 2013-10-26
上传用户:wangyi39
linux 中断和设备驱动 本章介绍L i n u x内核是如何维护它支持的文件系统中的文件的,我们先介绍 V F S ( Vi r t u a lFile System,虚拟文件系统),再解释一下L i n u x内核的真实文件系统是如何得到支持的。L i n u x的一个最重要特点就是它支持许多不同的文件系统。这使 L i n u x非常灵活,能够与许多其他的操作系统共存。在写这本书的时候, L i n u x共支持1 5种文件系统: e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。无疑随着时间的推移,L i n u x支持的文件系统数还会增加。
上传时间: 2013-11-13
上传用户:zxh122
AT89C2051驱动步进电机的电路和源码:AT89C2051驱动步进电机的电路和源码 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上传时间: 2013-11-21
上传用户:boyaboy
This application note describes how to decode standard DTMF tones using the minimum number of external discrete components and a PIC. The two examples use a PIC which has an 8 bit timer and either a comparator or an ADC, although it can be modified for use on a PIC which has only digital I/O. The Appendices have example code for the 16C662 (with comparator) and 16F877 (using the ADC). As the majority of the Digital Signal Processing is done in software, little is required in the way of external signal conditioning. Software techniques are used to model the individual elements of a DTMF Decoder IC.
上传时间: 2013-11-21
上传用户:zhaoke2005
LPC900 系列单片机由于其功能强大,性能稳定一直深受用户欢迎。P89LPC901 是LPC900 系列单片机的一员,性价比极高,为SO8/DIP8 封装,内含1KB FLASH,支持ICP,且具有6 个I/O 口、4 个TIMER、1 路PWM 输出、模拟比较器、键盘中断等众多功能部件。本文利用LPC901 单片机的强大功能实现ADC/DAC,并且通过模拟UART 与PC 机进行通信;通过PC 端软件可以显示DA 转换结果及控制DA 输出电压。
上传时间: 2013-11-06
上传用户:shus521