2.1.1 I/O接口基本概念1.为什么要引入接口微机和I/O设备的信息类型和格式可能不一样。微机和I/O设备信号传输处理的速度可能不匹配。不用接口, I/O直接接CPU,随着外设增加,会大大降低CPU的效率。I/O直接接CPU,会使外设硬件结构过于依赖CPU,对外设本身发展不利。2.接口的概念 定义:接口是CPU与“外部世界”的连接电路,负责“中转”各种信息。 分类:存储器接口和I/O接口。 位置:介于系统总线与外部设备之间。3.I/O接口与I/O设备不同I/O设备对应I/O接口不同。I/O接口受CPU控制,I/O设备受I/O接口控制。为增加通用性,I/O接口电路一般均具有可编程功能。微机的应用离不开外部设备接口的设计、选用和连接。2.1.2、I/O接口功能 数据缓冲功能:通过寄存器或锁存器实现。 存放数据的寄存器或锁存器称之为数据口。 接受和执行CPU命令功能: 存放CPU命令代码的寄存器称之为命令口, 存放执行状态信息的寄存器称之为状态口。 设备选择功能:CPU通过地址译码选择不同外设。 即CPU通过地址译码选择不同I/O接口和I/O接口中连接的不同的设备。 信号转换功能:协调总线信号与I/O设备信号。 转换包括信号的逻辑关系、时序配合和电平转换。 可编程功能:增加接口的灵活性和智能性。
上传时间: 2013-11-05
上传用户:jixingjie
自制一台ATMEL 89系列FLASH单片机编程器学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。支持的器件: 这个编程器支持以下ATMEL单片机AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20脚的单片机需要一个简单的适配器。(图 2 ) 硬件: 图1显示了这个FLASH 编程器的电路图,编程器和标准的计算机并口连接。电路图中的U2是用于控制计算机和控制器之间的数据流,U4 锁存低位地址字节 ,U5 锁存高位地址字节 ,U3用于产生控制信号给被编程的单片机。IC U1用于产生编程脉冲给单片机.当U7提供编程电压给控制器时,电源部分用U8产生逻辑5v供给。IC U6用于产生5V或6.5V VDD 电源电压给单片机。
上传时间: 2013-10-18
上传用户:bakdesec
#include<reg51.h>/*************************ds1302与at89s52引脚连接********************/sbit T_RST=P3^5; sbit T_CLK=P3^6; sbit T_IO=P3^7; sbit ACC0=ACC^0;sbit ACC7=ACC^7;unsigned char seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; //0~~9段码 /******************DS1302:写入操作(上升沿)*********************/ void write_byte(unsigned char da){ unsigned char i; ACC=da; for(i=8;i>0;i--) { T_IO=ACC0; T_CLK=0; T_CLK=1; ACC=ACC>>1; }} /******************DS1302:读取操作(下降沿)*****************/unsigned char read_byte(void){ unsigned char i; for(i=0;i<8;i++) { ACC=ACC>>1; T_CLK = 1; T_CLK = 0; ACC7 = T_IO; } return(ACC); } /******************DS1302:写入数据(先送地址,再写数据)***************************/ void write_1302(unsigned char addr,unsigned char da){ T_RST=0; //停止工作 T_CLK=0; T_RST=1; //重新工作 write_byte(addr); //写入地址 write_byte(da); T_RST=0; T_CLK=1;}
上传时间: 2014-01-17
上传用户:sglccwk
6.1 存储器概述1、存储器定义 在微机系统中凡能存储程序和数据的部件统称为存储器。2、存储器分类 微机系统中的存储器分为内存和外存两类。3、内存储器的组成 微机系统中的存储器由半导体存储器芯片组成。 单片机内部有存储器,当单片机内部的存储器不够用时,可以外扩存储器。外扩的存储器就是由半导体存储器芯片组成的。 当用半导体存储器芯片组成内存时必须满足个要求:①每个存储单元一定要有8个位。②存储单元的个数满足系统要求。注意:内存的容量是指它所含存储单元的个数(每个存储单元一定要有8个位,可以存储8位二进制信息)。6.2 半导体存储器由于集成工艺水平的限制,一个半导体存储器芯片上所集成的单元个数和每个单元的位数有限,用它构成内存时必须满足:内存容量和一个存储单元有8个位的要求,因此内存常常由多个半导体存储器芯片构成。 半导体存储器芯片的存储容量是指其上所含的基本存储电路的个数,用单元个数×位数表示。掌握:① 已知内存容量和半导体存储器芯片的容量,求用半导体存储器芯片构成内存时需要的芯片个数。② 内存的容量=末地址—首地址+1 半导体存储器芯片分成ROM和RAM两类。6.2.1 ROM芯片6.2.2 RAM芯片6.3 MCS-51单片机存储器扩展 在微机系统中存储器是必不可少。MCS51系列单片机内部的存储器不够用时需要外扩半导体存储器芯片,外扩的半导体存储器芯片与MCS51系列单片机通过三总线交换信息。二者连接时必须考虑如下问题:1.二者地址线、数据线、控制线的连接。2.工作速度的匹配。CPU在取指令和存储器读或写操作时,是有固定时序的,用户要根据这些来确定对存储器存取速度的要求,或在存储器已经确定的情况下,考虑是否需要Tw周期,以及如何实现。3.片选信号的产生。目前生产的存储器芯片,单片的容量仍然是有限的,通常总是要由许多片才能组成一个存储器,这里就有一个如何产生片选信号的问题。4.CPU的驱动能力 。在设计CPU芯片时,一般考虑其输出线的直流负载能力,为带一个TTL负载。现在的存储器一般都为MOS电路,直流负载很小,主要的负载是电容负载,故在小型系统中,CPU是可以直接与存储器相连的,而较大的系统中,若CPU的负载能力不能满足要求,可以(就要考虑CPU能否带得动,需要时就要加上缓冲器,)由缓冲器的输出再带负载。6.3.1 ROM芯片的扩展6.3.2 RAM芯片的扩展
标签: 存储器接口
上传时间: 2013-11-22
上传用户:moerwang
微机接口技术试题:《微机接口技术》模拟试题 一、 选择题:(每空1分,共20分)1. CPU与外设之间交换数据常采用 、 、 和 四种方式,PC机键盘接口采用 传送方式。 ⒉ 当进行DMA方式下的写操作时,数据是从 传送到 __中。 ⒊ PC总线、ISA总线和EISA总线的地址线分别为: 、 和 根。 ⒋ 8254定时/计数器内部有 个端口、共有 种工作方式。 ⒌8255的A1和A0引脚分别连接在地址总线的A1和A0,当命令端口的口地址为317H时,则A口、B口、C口的口地址分别为 、 、 。 ⒍ PC微机中最大的中断号是 、最小的中断号是 。 ⒎PC微机中键盘是从8255的 口得到按键数据。 ⒏ 串行通信中传输线上即传输_________,又传输_________。 二、选择题:(每题2分,共10分)⒈ 设串行异步通信每帧数据格式有8个数据位、无校验、一个停止位,若波特率为9600B/S,该方式每秒最多能传送( )个字符。 ① 1200 ② 150 ③ 960 ④ 120 2.输出指令在I/O接口总线上产生正确的命令顺序是( )。① 先发地址码,再发读命令,最后读数据。② 先发读命令、再发地址码,最后读数据。③ 先送地址码,再送数据,最后发写命令。④ 先送地址码,再发写命令、最后送数据。3 使用8254设计定时器,当输入频率为1MHZ并输出频率为100HZ时,该定时器的计数初值为( )。 ① 100 ② 1000 ③ 10000 ④ 其它 4 在PC机中5号中断,它的中断向地址是( )。 ① 0000H:0005H ② 0000H:0010H ③ 0000H:0014H ④ 0000H:0020H 5. 四片8259级联时可提供的中断请求总数为( )。 ① 29个 ② 30个 ③ 31个 ④ 32个 6. 下述总线中,组内都是外设串行总线为( )组。① RS-485、IDE、ISA。② RS-485、IEEE1394、USB。③ RS-485、PCI、IEEE1394。④ USB、SCSI、RS-232。 7. DMA在( )接管总线的控制权。① 申请阶段 ② 响应阶段 ③ 数据传送阶段 ④ 结束阶段 8. 中断服务程序入口地址是( )。 ① 中断向量表的指针 ② 中断向量 ③ 中断向量表 ④ 中断号
上传时间: 2013-11-16
上传用户:xiaoxiang
微处理器及微型计算机的发展概况 第一代微处理器是以Intel公司1971年推出的4004,4040为代表的四位微处理机。 第二代微处理机(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微处理机 第三代微机是以16位机为代表,基本上是在第二代微机的基础上发展起来的。其中Intel公司的8088。8086是在8085的基础发展起来的;M68000是Motorola公司在M6800 的基础发展起来的; 第四代微处理机 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU为代表, 第五代微处理机的发展更加迅猛,1993年3月被命名为PENTIUM的微处理机面世,98年PENTIUM 2又被推向市场。 INTEL CPU 发展历史Intel第一块CPU 4004,4位主理器,主频108kHz,运算速度0.06MIPs(Million Instructions Per Second, 每秒百万条指令),集成晶体管2,300个,10微米制造工艺,最大寻址内存640 bytes,生产曰期1971年11月. 8085,8位主理器,主频5M,运算速度0.37MIPs,集成晶体管6,500个,3微米制造工艺,最大寻址内存64KB,生产曰期1976年 8086,16位主理器,主频4.77/8/10MHZ,运算速度0.75MIPs,集成晶体管29,000个,3微米制造工艺,最大寻址内存1MB,生产曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主频25/33/50/66/75/100MHZ,总线频率33/50/66MHZ,运算速度20~60MIPs,集成晶体管1.2M个,1微米制造工艺,168针PGA,最大寻址内存4GB,缓存8/16/32/64KB,生产曰期1989年4月 Celeron一代, 主频266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 总线频率66MHz,0.25微米制造工艺,生产曰期1998年4月) Pentium 4 (478针),至今分为三种核心:Willamette核心(主频1.5G起,FSB400MHZ,0.18微米制造工艺),Northwood核心(主频1.6G~3.0G,FSB533MHZ,0.13微米制造工艺, 二级缓存512K),Prescott核心(主频2.8G起,FSB800MHZ,0.09微米制造工艺,1M二级缓存,13条全新指令集SSE3),生产曰期2001年7月. 更大的缓存、更高的频率、 超级流水线、分支预测、乱序执行超线程技术 微型计算机组成结构单片机简介单片机即单片机微型计算机,是将计算机主机(CPU、 内存和I/O接口)集成在一小块硅片上的微型机。 三、计算机编程语言的发展概况 机器语言 机器语言就是0,1码语言,是计算机唯一能理解并直接执行的语言。汇编语言 用一些助记符号代替用0,1码描述的某种机器的指令系统,汇编语言就是在此基础上完善起来的。高级语言 BASIC,PASCAL,C语言等等。用高级语言编写的程序称源程序,它们必须通过编译或解释,连接等步骤才能被计算机处理。 面向对象语言 C++,Java等编程语言是面向对象的语言。 1.3 微型计算机中信息的表示及运算基础(一) 十进制ND有十个数码:0~9,逢十进一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加权展开式以10称为基数,各位系数为0~9,10i为权。 一般表达式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二进制NB两个数码:0、1, 逢二进一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加权展开式以2为基数,各位系数为0、1, 2i为权。 一般表达式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六进制NH十六个数码0~9、A~F,逢十六进一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展开式以十六为基数,各位系数为0~9,A~F,16i为权。 一般表达式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同进位计数制之间的转换 (二)二进制与十六进制数之间的转换 24=16 ,四位二进制数对应一位十六进制数。举例:(三)十进制数转换成二、十六进制数整数、小数分别转换 1.整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例: 2. 小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例: 三、带符号数的表示方法 机器数:机器中数的表示形式。真值: 机器数所代表的实际数值。举例:一个8位机器数与它的真值对应关系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 机器数:[X1]机= 01010100 [X2]机= 11010100(二)原码、反码、补码最高位为符号位,0表示 “+”,1表示“-”。 数值位与真值数值位相同。 例 8位原码机器数: 真值: x1 = +1010100B x2 =- 1010100B 机器数: [x1]原 = 01010100 [x2]原 = 11010100原码表示简单直观,但0的表示不唯一,加减运算复杂。 正数的反码与原码表示相同。 负数反码符号位为 1,数值位为原码数值各位取反。 例 8位反码机器数: x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、补码(Two’s Complement)正数的补码表示与原码相同。 负数补码等于2n-abs(x)8位机器数表示的真值四、 二进制编码例:求十进制数876的BCD码 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符编码 美国标准信息交换码ASCII码,用于计算 机与计算机、计算机与外设之间传递信息。 3、汉字编码 “国家标准信息交换用汉字编码”(GB2312-80标准),简称国标码。 用两个七位二进制数编码表示一个汉字 例如“巧”字的代码是39H、41H汉字内码例如“巧”字的代码是0B9H、0C1H1·4 运算基础 一、二进制数的运算加法规则:“逢2进1” 减法规则:“借1当2” 乘法规则:“逢0出0,全1出1”二、二—十进制数的加、减运算 BCD数的运算规则 循十进制数的运算规则“逢10进1”。但计算机在进行这种运算时会出现潜在的错误。为了解决BCD数的运算问题,采取调整运算结果的措施:即“加六修正”和“减六修正”例:10001000(BCD)+01101001(BCD) =000101010111(BCD) 1 0 0 0 1 0 0 0 + 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 + 0 1 1 0 0 1 1 0 ……调整 1 0 1 0 1 0 1 1 1 进位 例: 10001000(BCD)- 01101001(BCD)= 00011001(BCD) 1 0 0 0 1 0 0 0 - 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 - 0 1 1 0 ……调整 0 0 0 1 1 0 0 1 三、 带符号二进制数的运算 1.5 几个重要的数字逻辑电路编码器译码器计数器微机自动工作的条件程序指令顺序存放自动跟踪指令执行1.6 微机基本结构微机结构各部分组成连接方式1、以CPU为中心的双总线结构;2、以内存为中心的双总线结构;3、单总线结构CPU结构管脚特点 1、多功能;2、分时复用内部结构 1、控制; 2、运算; 3、寄存器; 4、地址程序计数器堆栈定义 1、定义;2、管理;3、堆栈形式
上传时间: 2013-10-17
上传用户:erkuizhang
光盘内容1.1例 程 “例程”文件夹中为各章节的程序代码,均在作者的目标板上(自行开发)调试通过,以确保程序正确。n Keil C对中文文件、目录以及空格等可能无法编译连接,所以若要正确调试,须确保所有文件、目录为连续英文名或数字。n 这些程序应用到其他C8051Fxxx系列单片机时,要确保各个操作寄存器的名称、地址与各个控制位相一致,否则需要修改。很多寄存器位的位置并不相同,所以移植程序时,使用者要参考F040寄存器和移植对象单片机的寄存器,以确保正确操作。1.2 原理图及pcb封装“原理图及pcb封装”文件夹里包含作者制作的C8051F040PCB封装和原理图引脚定义文件c8051f040.ddb。其中PCB封装与Silicon Laboratories公司(原Cygnal公司)提供的TQ100封装稍有不同(在cygnalpcb文件中): 作者所做引脚长为2.5 mm,而cygnalpcb文件中的引脚长为1.3 mm。加长引脚焊盘是为了方便手工焊芯片。用户可根据需要和习惯选择封装。
上传时间: 2013-11-19
上传用户:
EEPROM为ATMEL公司的AT24C01A。单片机为ATMEL公司的AT89C51。2. 软件说明 C语言为Franklin C V3.2。将源程序另存为testi2c.c,用命令C51 testi2c.cL51 TESTI2C.OBJOHS51 TESTI2C编译,连接,得到TESTI2C.HEX文件,即可由编程器读入并进行写片,实验。3.源程序#include <reg51.h>#include <intrins.h> #define uchar unsigned char#define uint unsigned int#define AddWr 0xa0 /*器件地址选择及写标志*/#define AddRd 0xa1 /*器件地址选择及读标志*/#define Hidden 0x0e /*显示器的消隐码*/
上传时间: 2013-10-09
上传用户:hjshhyy
本章主要介绍51系列单片机系统扩展问题,在本章中要研究较多的硬件方面及硬软结合方面的问题,本章与第一章关系密切,在学习本章内容之前,要先明确51系列单片机本身的系统资源,可先复习一下前面几章的有关单片机硬件组成方面的内容。 本章将介绍以下具体内容: 系统扩展的含义、单片机的地址总线和数据总线、常见系统扩展电路举例。§7.0 前言 1.系统扩展的含义 单片机中虽然已经集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。 2.系统扩展分类----单一功能的扩展 综合功能的扩展3.系统扩展需要解决的问题---- 单片机与相应芯片的接口电路连接(即地址总线、数据总线、控制总线的连接)与编程。4.单片机的地址总线和数据总线 51系列单片机没有专用的对外地址总线和数据总线,其P0口和P2口既是通用I/O口,同时P0口还是分时复用的双向数据总线和低8位地址总线(一般需要加一级锁存器),而P2口则是高8位地址总线5.常见系统扩展电路(1)单一功能的系统扩展 存储器的扩展(程序存储器、数据存储器、E2PROM ) 外部中断源的扩展(简单门电路) 并行口的扩展(8155)(2)综合功能的扩展 外部RAM、定时器、并行口扩展(8155) 存储器、并行口、定时器扩展(多芯片)7.1.1 程序存储器的扩展.程序存储器的作用----存放程序代码或常数表格 .扩展时所用芯片----一般用只读型存储器芯片(可以是EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2764扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以指向存储器中的某一单元。
上传时间: 2013-10-19
上传用户:zhaoq123
存储器技术.doc 计算机的主存储器(Main Memory),又称为内部存储器,简称为内存。内存实质上是一组或多组具备数据输入输出和数据存储功能的集成电路。内存的主要作用是用来存放计算机系统执行时所需要的数据,存放各种输入、输出数据和中间计算结果,以及与外部存储器交换信息时作为缓冲用。由于CPU只能直接处理内存中的数据 ,所以内存是计算机系统中不可缺少的部件。内存的品质直接关系到计算机系统的速度、稳定性和兼容性。 4.1 存储器类型计算机内部存储器有两种类型,一种称为只读存储器ROM(Read Only Memiry),另一种称为随机存储器RAM(Random Access Memiry)。 4.1.1 只读存储器只读存储器ROM主要用于存放计算机固化的控制程序,如主板的BIOS程序、显卡BIOS控制程序、硬盘控制程序等。ROM的典型特点是:一旦将数据写入ROM中后,即使在断电的情况下也能够永久的保存数据。从使用上讲,一般用户能从ROM中读取数据,而不能改写其中的数据。但现在为了做一日和尚撞一天钟于软件或硬件程序升级,普通用户使用所谓的闪存(Flash Memiry)也可以有条件地改变ROM中的数据。有关只读存储器ROM的内容将在第11章中介绍,本章主要介绍随机存储器。4.1.2 随机存取存储器随机存取存储器RAM的最大特点是计算机可以随时改变RAM中的数据,并且一旦断电,TAM中数据就会立即丢失,也就是说,RAM中的数据在断电后是不能保留的。从用于制造随机存取存储器的材料上看,RAM又可分为静态随机存储器SRAM(Static RAM)和动态随机存储器DRAM(Dymamic RAM)两种。1. 动态随机存储器在DRAM中数据是以电荷的形式存储在电容上的,充电后电容上的电压被认为是逻辑上的“1”,而放电后的电容上的电压被认为是逻辑上的“0”认。为了减少存储器的引脚数,就反存储器芯片的每个基本单元按行、列矩阵形式连接起来,使每个存储单元位于行、列的交叉点。这样每个存储单元的地址做一日和尚撞一天钟可以用位数较少的行地址和列地址两个部分表示,在对每个单元进行读写操作时,就可以采用分行、列寻址方式写入或读出相应的数据,如图4-1所示。 由于电容充电后,电容会缓慢放电,电容 上的电荷会逐渐
标签: 存储器
上传时间: 2014-01-10
上传用户:18752787361