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

C语言 接口与实现

  • 实验指导书 (TPC-H实验台C语言版)

    《现代微机原理与接口技术》实验指导书 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)输入不同的代码即可显示不同数字或符号。

    标签: TPC-H 实验指导书 C语言 实验台

    上传时间: 2013-11-22

    上传用户:sssnaxie

  • 串行编程器源程序(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

  • avr单片机c语言

    第1章 单片机系统概述1.1 AVR系列单片机的特点1.2 AT90系列单片机简介第2章 AT90LS8535单片机的基础知识2.1 AT90LS8535单片机的总体结构2.1.1 AT90LS8535单片机的中央处理器2.1.2 AT90LS8535单片机的存储器组织2.1.3 AT90LS8535单片机的I/O接口2.1.4 AT90LS8535单片机的内部资源2.1.5 AT90LS8535单片机的时钟电路2.1.6 AT90LS8535单片机的系统复位2.1.7 AT90LS8535单片机的节电方式2.1.8 AT90LS8535单片机的芯片引脚2.2 AT90LS8535单片机的指令系统2.2.1 汇编指令格式2.2.2 寻址方式2.2.3 伪指令2.2.4 指令类型及数据操作方式2.3 应用程序设计2.3.1 程序设计方法2.3.2 应用程序举例第3章 AT90LS8535单片机的C编程3.1 支持高级语言编程的AVR系列单片机3.2 AVR的C编译器3.3 ICC AVR介绍3.3.1 安装ICC AVR3.3.2 设置ICC AVR3.4 用ICC AVR编写应用程序3.5 下载程序文件第4章 数据类型、运算符和表达式4.1 ICC AVR支持的数据类型4.2 常量与变量4.2.1 常量4.2.2 变量4.3 AT90LS8535的存储空间4.4 算术和赋值运算4.4.1 算术运算符和算术表达式4.4.2 赋值运算符和赋值表达式4.5 逻辑运算4.6 关系运算4.7 位操作4.7.1 位逻辑运算4.7.2 移位运算4.8 逗号运算第5章 控制流5.1 C语言的结构化程序设计5.1.1 顺序结构5.1.2 选择结构5.1.3 循环结构5.2 选择语句5.2.1 if语句5.2.2 switch分支5.2.3 选择语句的嵌套5.3 循环语句5.3.1 while语句5.3.2 do…while语句5.3.3 for语句5.3.4 循环语句嵌套5.3.5 break语句和continue语句第6章 函数6.1 函数的定义6.1.1 函数的定义的一般形式6.1.2 函数的参数6.1.3 函数的值6.2 函数的调用6.2.1 函数的一般调用6.2.2 函数的递归调用6.2.3 函数的嵌套使用6.3 变量的类型及其存储方式6.3.1 局部变量6.3.2 局部变量的存储方式6.3.3 全局变量6.3.4 全局变量的存储方式6.4 内部函数和外部函数6.4.1 内部函数6.4.2 外部函数第7章 指针第8章 结构体和共用体第9章 AT90LS8535的内部资源第10章 AT90LS8535的人机接口编程第11章 AT90LS8535的外围扩展第12章 AT90LS8535的通信编程第13章 系统设计中的程序处理方法

    标签: avr 单片机c语言

    上传时间: 2013-10-31

    上传用户:smthxt

  • CRC校验C语言实现

    CRC校验C语言实现

    标签: CRC C语言

    上传时间: 2013-10-12

    上传用户:zhuce80001

  • 嵌入式USB MiniHost系统设计与实现

    设计并实现了一个嵌入式USB主机系统的硬件和软件,用于解决USB设备不能脱离PC主机的问题。并在设计的硬件和软件基础上利用嵌入式C语言编制了具有USB Host功能通用固件库。并利用这个固件库实现一个具有并口到USB接口的打印转换器。

    标签: MiniHost USB 嵌入式 系统设计

    上传时间: 2013-10-19

    上传用户:yczrl

  • LSB算法进行信息隐藏的C语言实现

    LSB算法进行信息隐藏的C语言实现

    标签: LSB C语言 算法 信息隐藏

    上传时间: 2013-11-19

    上传用户:llwap

  • 单片机C语言与汇编语言的混合编程

    单片机C语言与汇编语言的混合编程

    标签: 单片机 C语言 汇编语言 混合编程

    上传时间: 2013-11-03

    上传用户:hasan2015

  • C语言与汇编语言混合编程实例介绍

    C语言与汇编语言混合编程实例介绍

    标签: C语言 汇编语言 混合编程

    上传时间: 2014-01-26

    上传用户:zwei41

  • C语言与汇编语言混合编程_嵌入式汇编

    C语言与汇编语言混合编程_嵌入式汇编

    标签: C语言 汇编语言 嵌入式 汇编

    上传时间: 2013-10-29

    上传用户:wgh_kf

  • CRC算法及C语言实现

    CRC算法及C语言实现

    标签: CRC 算法 C语言

    上传时间: 2013-10-10

    上传用户:ch3ch2oh