《现代微机原理与接口技术》实验指导书 TPC-H实验台C语言版 1.实验台结构1)I / O 地址译码电路如上图1所示地址空间280H~2BFH共分8条译码输出线:Y0~Y7 其地址分别是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根译码输出线在实验台I/O地址处分别由自锁紧插孔引出供实验选用(见图2)。 2) 总线插孔采用“自锁紧”插座在标有“总线”区引出数据总线D7~D0;地址总线A9~A0,读、写信号IOR、IOW;中断请求信号IRQ ;DMA请求信号DRQ1;DMA响应信号DACK1 及AEN信号,供学生搭试各种接口实验电路使用。3) 时钟电路如图-3所示可以输出1MHZ 2MHZ两种信号供A/D转换器定时器/计数器串行接口实验使用。图34) 逻辑电平开关电路如图-4所示实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平。向下打到“0”位置时开关接通,输出低电平。电路中串接了保护电阻使接口电路不直接同+5V 、GND相连,可有效地防止因误操作误编程损坏集成电路现象。图 4 图 55) L E D 显示电路如图-5所示实验台上设有8个发光二极管及相关驱动电路(输入端L7~L0),当输入信号为“1” 时发光,为“0”时灭6) 七段数码管显示电路如图-6所示实验台上设有两个共阴极七段数码管及驱动电路,段码为同相驱动器,位码为反相驱动器。从段码与位码的驱动器输入端(段码输入端a、b、c、d、e、f、g、dp,位码输入端s1、 s2)输入不同的代码即可显示不同数字或符号。
上传时间: 2013-11-22
上传用户:sssnaxie
串行编程器源程序(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;}
上传时间: 2013-11-12
上传用户:gut1234567
1、程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式TITLE This is ⋯⋯ ;程序标题;--------------------------------------;名称定义和变量定义;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片复位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序ORG 0 ;在0000H开始存放程序;-----------------------------------------;子程序区;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序区;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由伪指令定义为6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序结束注:MAIN标号一定要处在0页面内。2、程序设计基础
上传时间: 2013-11-14
上传用户:cjf0304
并行接口电路:微处理器与I/O设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。8255A是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入/输出设备的使用。8255A并行接口逻辑框图三个独立的8位I/O端口,口A、口B、口C。口A有输入、输出锁存器及输出缓冲器。口B与口C有输入、输出缓冲器及输出锁存器。在实现高级的传输协议时,口C的8条线分为两组,每组4条线,分别作为口A与口B在传输时的控制信号线。口C的8条线可独立进行置1/置0的操作。口A、口B、口C及控制字口共占4个设备号。8255A并行接口的控制字工作模式选择控制字:口A有三种工作模式,口B有二种工作模式。口C独立使用时只有一个工作模式,与口A、口B配合使用时,作为控制信号线。三种工作模式命名为:模式0、模式1及模式2。模式 0 为基本I/O端口,模式1为带选通的I/O端口,模式 2 为带选通的双向I/O端口。口A可工作在三种模式下,口B可工作在模式 0与模式 1下,口C可工作在模式0下或作为控制线配合口A、口B工作。
上传时间: 2013-11-07
上传用户:xitai
微机接口技术试题:《微机接口技术》模拟试题 一、 选择题:(每空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
TKS仿真器B系列快速入门
上传时间: 2013-10-31
上传用户:aix008
UNIX[1].shell范例精解(第4版)_code
上传时间: 2013-11-01
上传用户:540750247
1.增加的设备支持: Atmel AT91SAM9Rxx Cirrus Logic CS7401xx-IQZ Luminary Micro LM3S576x, LM3S5752, LM3S5747, LM3S573x, LM3S5662, LM3S5652, LM3S5632, LM3S3759, LM3S3749, and LM3S3739 NXP LPC32XX and LPC2460 STMicroelectronics STR912FAZ4X, STR912FAW4X, STR911FAW4X, STR911FAM4X, STR910FAW32, and STR910FAZ32 2.修改了NXP LPC23XX/24XX的头文件库 3.增加了ST-LINK II的调试支持 4.增加了对Cortex-M3 内核芯片的RTX Event Viewer 的支持 5.增加了MCBSTM32: STM32 FLASH OPTION BYTES PROGRAMMING 6.增加了ULINK2对Cortex-M3的SWV功能的调试 7.增强了使用GNU在MDK下调试M1,M3,ARM7,ARM9的调试功能( Using μVision with CodeSourcery GNU ARM Toolchain.) 8.增加了大量经典开发板例程 Boards目录列表: ├─Embest 深圳市英蓓特公司开发板例程 │ ├─AT91EB40X-40008 │ ├─S3CEB2410 │ ├─ATEBSAM7S │ ├─LPC22EB06-I │ ├─LPCEB2000-A │ ├─LPCEB2000-B │ ├─LPCEB2000-S │ ├─str710 │ ├─str711 │ ├─str730 │ ├─str750 │ ├─STR912 │ ├─STM32V100 │ ├─STM32R100 │ ├─ATEB9200 ├─ADI ADI半导体的芯片例程 │ ├─ADuC702X │ └─ADuC712x ├─Atmel Atmel半导体的芯片例程 │ ├─AT91RM9200-EK │ ├─AT91SAM7A3-EK │ ├─AT91SAM7S-EK │ ├─AT91SAM7SE-EK │ ├─AT91SAM7X-EK │ ├─AT91SAM9260-EK │ ├─AT91SAM9261-EK │ ├─AT91SAM9263-EK ├─Keil Keil公司的开发板例程 │ ├─MCB2100 │ ├─MCB2103 │ ├─MCB2130 │ ├─MCB2140 │ ├─MCB2300 │ ├─MCB2400 │ ├─MCB2900 │ ├─MCBLM3S │ ├─MCBSTM32 │ ├─MCBSTR7 │ ├─MCBSTR730 │ ├─MCBSTR750 │ └─MCBSTR9 ├─Luminary Luminary半导体公司的芯片例程 │ ├─ek-lm3s1968 │ ├─ek-lm3s3748 │ ├─ek-lm3s3768 │ ├─dk-lm3s101 │ ├─dk-lm3s102 │ ├─dk-lm3s301 │ ├─dk-lm3s801 │ ├─dk-lm3s811 │ ├─dk-lm3s815 │ ├─dk-lm3s817 │ ├─dk-lm3s818 │ ├─dk-lm3s828 │ ├─ek-lm3s2965 │ ├─ek-lm3s6965 │ ├─ek-lm3s811 │ └─ek-lm3s8962 ├─NXP NXP半导体公司的芯片例程 │ ├─LH79524 │ ├─LH7A404 │ └─SJA2510 ├─OKI OKI半导体公司的芯片例程 │ ├─ML674000 │ ├─ML67Q4003 │ ├─ML67Q4051 │ ├─ML67Q4061 │ ├─ML67Q5003 │ └─ML69Q6203 ├─Samsung Samsung半导体公司的芯片例程 │ ├─S3C2440 │ ├─S3C44001 │ └─S3F4A0K ├─ST ST半导体公司的芯片例程 │ ├─CQ-STARM2 │ ├─EK-STM32F │ ├─STM32F10X_EVAL │ ├─STR710 │ ├─STR730 │ ├─STR750 │ ├─STR910 │ └─STR9_DONGLE ├─TI TI半导体公司的芯片例程 │ ├─TMS470R1A256 │ └─TMS470R1B1M ├─Winbond Winbond半导体公司的芯片例程 │ └─W90P710 └─ ...
上传时间: 2013-10-13
上传用户:zhangliming420
4.1 基于MODELSIM的功能仿真。
上传时间: 2013-11-02
上传用户:hakim
附件有二个文当,都是dxp2004教程 ,第一部份DXP2004的相关快捷键,以及中英文对照的意思。第二部份细致的讲解的如何使用DXP2004。 dxp2004教程第一部份: 目录 1 快捷键 2 常用元件及封装 7 创建自己的集成库 12 板层介绍 14 过孔 15 生成BOM清单 16 顶层原理图: 16 生成PCB 17 包地 18 电路板设计规则 18 PCB设计注意事项 20 画板心得 22 DRC 规则英文对照 22 一、Error Reporting 中英文对照 22 A : Violations Associated with Buses 有关总线电气错误的各类型(共 12 项) 22 B :Violations Associated Components 有关元件符号电气错误(共 20 项) 22 C : violations associated with document 相关的文档电气错误(共 10 项) 23 D : violations associated with nets 有关网络电气错误(共 19 项) 23 E : Violations associated with others 有关原理图的各种类型的错误 (3 项 ) 24 二、 Comparator 规则比较 24 A : Differences associated with components 原理图和 PCB 上有关的不同 ( 共 16 项 ) 24 B : Differences associated with nets 原理图和 PCB 上有关网络不同(共 6 项) 25 C : Differences associated with parameters 原理图和 PCB 上有关的参数不同(共 3 项) 25 Violations Associated withBuses栏 —总线电气错误类型 25 Violations Associated with Components栏 ——元件电气错误类型 26 Violations Associated with documents栏 —文档电气连接错误类型 27 Violations Associated with Nets栏 ——网络电气连接错误类型 27 Violations Associated with Parameters栏 ——参数错误类型 28 dxp2004教程第二部份 路设计自动化( Electronic Design Automation ) EDA 指的就是将电路设计中各种工作交由计算机来协助完成。如电路图( Schematic )的绘制,印刷电路板( PCB )文件的制作执行电路仿真( Simulation )等设计工作。随着电子工业的发展,大规模、超大规模集成电路的使用是电路板走线愈加精密和复杂。电子线路 CAD 软件产生了, Protel 是突出的代表,它操作简单、易学易用、功能强大。 1.1 Protel 的产生及发展 1985 年 诞生 dos 版 Protel 1991 年 Protel for Widows 1998 年 Protel98 这个 32 位产品是第一个包含 5 个核心模块的 EDA 工具 1999 年 Protel99 既有原理图的逻辑功能验证的混合信号仿真,又有了 PCB 信号完整性 分析的板级仿真,构成从电路设计到真实板分析的完整体系。 2000 年 Protel99se 性能进一步提高,可以对设计过程有更大控制力。 2002 年 Protel DXP 集成了更多工具,使用方便,功能更强大。 1.2 Protel DXP 主要特点 1 、通过设计档包的方式,将原理图编辑、电路仿真、 PCB 设计及打印这些功能有机地结合在一起,提供了一个集成开发环境。 2 、提供了混合电路仿真功能,为设计实验原理图电路中某些功能模块的正确与否提供了方便。 3 、提供了丰富的原理图组件库和 PCB 封装库,并且为设计新的器件提供了封装向导程序,简化了封装设计过程。 4 、提供了层次原理图设计方法,支持“自上向下”的设计思想,使大型电路设计的工作组开发方式成为可能。 5 、提供了强大的查错功能。原理图中的 ERC (电气法则检查)工具和 PCB 的 DRC (设计规则检查)工具能帮助设计者更快地查出和改正错误。 6 、全面兼容 Protel 系列以前版本的设计文件,并提供了 OrCAD 格式文件的转换功能。 7 、提供了全新的 FPGA 设计的功能,这好似以前的版本所没有提供的功能。
上传时间: 2015-01-01
上传用户:zhyfjj