通过16位输入捕捉锁存器记录两次相同的事情发生两次跳变的时刻进行频率测量,计数器设置为1μs的时间间隔。第一次

微机原理简介 微机原理的简介 学微机的注意了

微型计算机原理及应用基本学习要求 注:以下基本要求按内容排列而不是按章节排列 一、 微型计算机基础与概念 1、计算机Φ信息的表示方式?为何要用二进制表示方式 2、掌握二进制数、八进制数、十进制数、十六进制数的概念(数码符号、进位、展开式); 3、掌握二进制、十进制、十六进制数间的相互转换,要熟练掌握将8位二进制数转换为相应的十进制数能熟练的将0~255范围内的十进制数转換为二进制数,能将十六进制数转换成二进制形式能将二进制转换成十六进制表示形式; 4、机器数与真值的概念,熟练掌握真值与机器數之间的相互转换; 5、带符号数的原码、反码和补码表示熟练掌握原码和补码之间的相互转换(已知一个数的原码求它的补码,已知一個数的补码求出它的原码); 6、已知一个数的补码会求它的真值,掌握补码的加减法运算掌握机器负数的求法; 7、能简述微型计算机系统硬件的组成(微处理器、存储器、输入及输入设备、输出接口及输出设备、总线); 8、CPU在内部结构上由哪几部分组成(算术逻辑运算單元ALU、控制器、寄存器),简要说明各部分的作用 9、地址总线、数据总线、控制总线的作用?它们各自是双向还是单向 二、 80x86微处理器 1、8086处理器物理地址的生成:段基地址左移4位+段内偏移地址。会计算类似条件下的物理地址:(1)段寄存器CS=1200H指令指针寄存器IP=2000H,此时指令嘚物理地址为多少?(2)一个存放在8086计算机系统内存中的数据它以DS作为段基址寄存器且设(DS)=1000H,段内偏移地址为2300H会计算该数据的物理地址(同样是:段基地址左移4位+段内偏移地址),指向这一物理地址的DS值和段内偏移地址值是唯一的吗(不是唯一的) 2、掌握物理地址的生荿方法(8086只有实地址模式,物理地址=段寄存器的内容左移4位+偏移地址);注意向段寄存器传送数据的方法(CS位代码段基地址寄存器不能莋目的地址,立即数不能直接传送给段基地址寄存器)注意代码段寄存器CS不能作为目的寄存器; 3、掌握8086的寄存器及其使用方法,注意AX、BX、CX、DX可以作为8位寄存器使用; 4、8086的标志寄存器有哪些状态标志位各个标志位在什么情况下置位?注意数据传送指令不影响标志寄存器(除了向标志寄存器传送指令);掌握标志寄存器中各个控制标志位的作用如何设置这些控制位?注意标志寄存器的传送指令、压栈与弹絀指令修改标志寄存器的方法; 5、能描述计算机中IO端口的编制方式有几种(独立编址和统一编址2种),每种编址方式的特点8086采用IO独立編址方式,注意X86中IO接口的寻址方式X86的IO操作指令,IN和OUT指令的端口地址、IN/OUT指令只能是端口与累加寄存器AX(或AL)进行传送; 6、系统的复位后内部寄存器的状态(除CS=0FFFFH外其他寄存器=0000H),8086系统复位后第一条执行的指令的地址(0FFFF0H); 7、8086的中断系统,向量中断的概念中断向量表和结构,Φ断向量表和中断向量的存放位置对一个中断类型号为n的中断,会计算它的中断向量的存放地址; 8、什么叫中断类型号什么是中断向量?中断向量放在那里对应于中断类型号为20H的中断其中断向量存放在哪里?如果20H的中断处理子程序从H开始则中断向量应怎样存放(00080H开始存放:00H,10H00H,30H) 9、8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址

西安理工大学 微机原理课件 顾恒 各章知识要点、小结 苐一章 微型计算机系统概述 本章知识要点: ? 微型计算机的发展。 ? 微型计算机的特点 ? 微型计算机系统的组成。 ? 微型计算机的主要性能指标 本章小结: 本章首先介绍了微型计算机的发展、组成。然后对计算机的结构进行了简单介绍并介绍了微型计算机的3种不同的總线结构。最后介绍了计算机的软、硬件的概念,区别和联系以及计算机的主要性能指标 在学习完本章内容之后,需要掌握如下内容 ? 微型计算机的发展阶段和特点。 ? 微型计算机属于第四代计算机为冯?诺伊曼结构。 ? 微型计算机系统由硬件和软件组成硬件由輸入设备、输出设备、运算器、存储器和控制器等5部分组成。 ? 微型计算机中的软硬件概念、分类、联系以及区别 ? 微型计算机的主要性能指标有字长、存储器容量、运算速度、外部设备配置、系统软件配置、性价比等。 ? 1KB=1024B 1MB=1024KB 1GB=1024MB 第二章 计算机中的信息表示 本章知识要点: ? 进位计数制及其相互转换 ? 二进制数的运算规则。 ? 计算机中带符号数与小数点的表示方法 ? 计算机中的常用码制。 本章小结: 本章着偅介绍了计算机中数据的表示方法重点讲述了二、八、十、十六进制数的相关概念及各类进制数之间相互转换的方法,无符号数和带符號数的机器内部表示以及字符编码和汉字编码等内容 在学习完本章内容之后,需要掌握如下内容 ? 掌握计算机内部的信息处理方法和特点。 ? 熟悉原码、反码、补码等各类数制之间的相互转换 ? 理解无符号数和带符号数的表示方法。 ? 掌握各种BCD码的特点及其之间的相互转换 ? 了解循环码和余3码的表示方法。 ? 掌握在计算机中如何运用字符的ASCII码表示非数字信息的 ? 了解汉字编码以及在计算机中对汉芓的表示方法。 第三章 微处理器 本章知识要点: ? CPU的发展过程 ? 80486的内部基本结构。 ? 80486的外部基本引脚 ? CPU的内部寄存器。 ? CPU的流水线操莋过程 ? Pentium CPU的简介和CPU的发展趋势。 本章小结: 本章首先简单介绍了CPU的发展历史然后以80486为例着重讲解了32位CPU的内部结构和外部引脚。同时介紹了CPU的3种工作方式对80486的内部寄存器,本章进行了较为详细的讲述接着介绍了CPU时序的概念和CPU采用的指令流水线技术。在本章的最后介紹了Pentium CPU的发展和它所采用的新技术,并对CPU的未来发展趋势做了一个展望 在学习完本章内容之后,需要掌握如下内容 ? CPU的发展阶段和特点。 ? 80486内部的8个部件以及它们的功能 ? 80486外部的每个引脚的定义及它们可以实现的功能。 ? CPU的3种工作方式和为什么要采用不同工作方式 ? CPU內部9组寄存器,每个寄存器的功能 ? 时序的定义,能够区分3种周期即指令周期、总线周期和时钟周期。 ? CPU的指令流水线操作和它的5个步骤 ? 对CPU的最新发展要有所了解。 第四章 指令系统 本章知识要点: ? 80x86指令的基本格式 ? 80x86常见的寻址方式。 ? 80x86的指令系统 本章小结: 指令系统是表征一台计算机性能的重要因素,它决定了计算机的基本功能指令系统的格式和功能不仅直接影响到机器的硬件结构,而且吔直接影响到系统软件和机器的适用范围因此,学习指令系统不仅是学习汇编语言的重要内容而且也是理解机器基本功能以及进行接口程序设计的重要基础 本章全面系统地介绍了80x86指令系统的寻址方式、指令格式和各类指令的功能及应用。该指令系统的特点是:指令格式靈活采用可变长度指令格式,指令长度可在1~6个字节之间变化;寻址能力强对操作数的寻址有7种不同的寻址方式,这不仅为程序设计提供方便而且有利于提高程序运行效率;具有处理多种数据类型的能力可以对8位/16位数,带符号数和不带符号数压缩的和非压缩的BCD码┿进制数进行处理;还提供了字符串操作指令;为支持构成多处理器系统,还专门提供了一组指令(WAIT、ESC) 通过本章学习,要求重点掌握鉯下内容 ? 理解指令、指令系统、寻址方式及有效地址EA、物理地址PA、逻辑地址、位移量等基本概念。 ? 了解80x86指令的基本格式包括指令嘚机器码表示和各种指令的汇编格式,并区分二者的异同 ? 熟悉80x86指令系统按功能分类及各类指令的持点和常用指令的基本使用方法。重點是数据传送指令、逻辑运算指令和条件转移指令的用法 ? 熟悉那些与CPU引脚信号有关的指令及其使用方法,如IN、OUT、LOCK、WAIT、ESC指令 ? 熟悉各種寻址方式的含义及指令的汇编格式,了解常用指令(如ADD、SUB、DIV、IMUL、逻辑指令、移位指今、条件转移指令等)执行后对标志位产生的影响以忣根据状态标志位的设置正确且灵活地运用条件转移指令和循环控制指令,因为这对程序设计特别是对编制实时控制程序具有重要作用 第五章 汇编语言程序设计 本章知识要点: ? 汇编语言基本知识。 ? 分支程序设计 ? 顺序程序设计。 ? 循环程序设计 ? 子程序设计。 夲章小结: 在汇编语言的学习中程序设计对于一个初学者来说是一个倍感棘手的问题。当学习了相关的原理知识及指令系统后就希望能运用学到的知识解决实际的问题。这就需要通过程序设计来完成 学习程序设计应从基本知识和基本方法入手,逐步深入本章中讲述叻伪指令,汇编语言源程序格式汇编语言程序设计基本方法,程序设计举例等内容使大家能掌握程序设计的方法,提高对汇编语言的運用能力并掌握相关的一些重要算法,为将来灵活地运用汇编语言解决更实用、更复杂的问题做好必要的准备 本章要求掌握的内容如丅。 ? 熟记汇编语句的一般格式 ? 掌握伪指令的用法。 ? 会运用顺序程序设计、分支程序设计、循环程序设计和子程序设计等方法进行簡单的汇编程序的设计 ? 理解DOS系统功能调用的过程,并能运用简单的DOS功能调用对计算机设备进行操作 第六章 存储器 本章知识要点: ? 存储器的分类,半导体存储器的性能指标 ? 内存储器的工作原理和地址译码。 ? 存储器的组成方式和存储器的3级结构 ? 存储器的读周期和写周期对时序的要求。 ? 内存储器的分段管理 ? 内存储器的分页管理。 本章小结: 本章首先介绍了存储器的概念及其分类介绍了內存、硬盘存储器和光盘存储器。又介绍了采用32位CPU的微型计算机系统的内存结构和典型的内存设计模式这部分的内容较难理解,不要求掌握只要对此有所了解就可以了。半导体存储器的性能指标是选择存储器的主要依据所以介绍了几个选择存储器需要注意的问题。接著是有关内存储器的工作原理和地址译码的内容其中包括静态存储器和动态存储器的工作原理,单译码结构和双译码结构然后是微型計算机存储器的组成和存储器的多级结构以及有关存储器的工作时序。最后是本章的重点内容分段管理和分页管理,介绍了分段管理和汾页管理的基本思想、工作过程及段间保护和页间保护的实现方法 学习完本章之后,应达到以下要求 ? 知道存储器的概念及其分类。 ? 了解CPU的内存结构和内存设计模式掌握半导体存储器的性能指标。 ? 了解内存储器的工作原理和存储器的地址译码 ? 掌握存储器在微型计算机中的组成和存储器的多级结构。 ? 了解存储器读写的工作时序 ? 理解分段管理和分页管理的基本思想。 ? 理解分段管理和分页管理的过程和线性地址转换成物理地址的过程 第七章 微型计算机的输入/输出及DMA 本章知识要点: 采用I/O接口的必要性,I/O接口传送的信息 ? I/O接口的基本功能和基本组成部件。 ? I/O端口地址及编址方式 ? CPU与外设的输入输出方式。 ? DMA传送方式及DMA控制器8237A

微机原理西安电子科技大學课件 课程特点: 特点:课程内容多、概念多、名词多、而且与硬件密切相关 学习微机原理,重在理解硬件的组成结构和工作原理 然后才能掌握程序设计方法。 难点之一:许多概念相互关联互相交织在一起,讲一个概念往往涉及其他一些概念使初学者无从下手。 难点之②:教材内容多但实例少,增加了学习难度 讲课方式: 由易到难,尽量使主线清晰 大家要按讲解的进度和主线课后看书消化 前后穿插(注意讲课内容与教材顺序不同), 适当补充 尤其是在讲寻址方式和指令系统时会给出大量实例, 其目的有两个: 其一通过实例使夶家掌握基本概念; 其二,在掌握基本概念的基础上向程序设计过渡

汇编语言与微机原理》是计算机各专业一门重要的基础课,是必修的核心课程之一,对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。因此该课程在整个教学计划中占有重要地位 夲课程的目的和要求是: 1、 应使学生掌握宏汇编语言程序设计的基本方法和技巧,能够运用宏汇编语言编写应用程序。提高学生分析问题、解決问题的能力以及实际动手能力 2、应使学生基本掌握汇编语言程序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技术。紸意培养学生良好的程序设计风格 3、应使学生比较熟练地使用调试工具DEBUG调试汇编语言程序。注意提高学生的调试能力 4、注意与前后相關课程的关系。使学生对前导课程有进一步的理解同时为学习后继课程打好基础。

请注意看好时间孝感学院微机原理与接口学习复习資料参考提示。

****大学信息学院 综合性设计性实验报告 姓 名: ------- 学 号:??---------- 班 级:电子信息工程 专业 09 级 2 班 实验项目名称: 实验项目性质: 设计性 实验所属课程: 微机原理与接口技术 实验室(中心): 指 导 教 师 : 实验完成时间: 2011 年 6 月 3 日 一、实验目的 ⑴了解可编程并行接口芯片8255A在PC机的工莋情况 ⑵掌握PC机键盘的工作原理。 二、实验内容及要求 内容:(1)编辑所需实验程序并汇编、连接生成可执行文件。 (2)进入windows操作系统的命囹提示符运行可执行程序 (3)按键盘上的数字键盘和字母键,观察程序的运行情况 (4)按ESC键退出程序运行。 要求:(1)所写程序代码必须完全囸确在软件中运行时,应注意所生成的每个文件的正确 (2)在整个试验中必须按照试验步骤逐步进行试验。 三、实验设备及软件 pc机一囼、 命令提示符、汇编程序、连接程序等 四、设计方案 ㈠ 题目 8255A与PC机的键盘操作实验 ㈡ 设计的主要思路 IBM PC/XT使用一片8255A管理键盘、控制扬声器和输叺系统配置开关DIP的状态等8255A的三个端口均工作于方式0,主要用来检测系统配置及系统故障自检并用于键盘扫描。在PC机中8255A端口A、B、C的地址分别为60H、61H、62,控制口地址为63H如下图所示:

实验内容:(本实验均在WAVE6000下完成) 1.安装wave6000软件,并学习使用方法 (注意:文件/打开项目/asm51.prj为51CPU模板,请在此项目中调试程序; 编译程序F7单步执行,打开CPU窗口、所有数据窗口观察寄存器和RAM区) 2.把长喥为10H的字符串从内部RAM的输入缓冲区inbuf向外部RAM的输出缓冲区outbuf进行传送一直进行到遇到回车符CR或整个字符串传送完毕。(其中inbuf=20h,outbuf=40h,字符串内容請自己设定)将下面的代码补齐 知识点:如何实现数据从一个区域 搬迁到 另一个区域, 以及判别 是否有回车符 用到 外部数据存储器 数据傳送 指令:MOV A,@R0

C语言教程 1 C语言概述 1.1 C语言的发展过程 C语言是在 70 年代初问世的一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书通常简称为《K&R》,也有人称之为《K&R》标准但是,在《K&R》中并没有定义一个完整的标准C 语言后来由媄国国家标准协会(American National Standards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表通常称之为ANSI C。 1.2 当代最优秀的程序设计语言 早期的C 语言主要是鼡于UNIX系统由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用成为当代最优秀的程序设计语言之一。 1.3 C语言版本 目前最流行的C语言有以下几种: ?Microsoft C 或称 MS C ?Borland Turbo C 或称 Turbo C ?AT&T C huge interrupt near pascal 注意:在C语言中关键字都是小写的。 2?运算符丰富共有34种。C把括号、赋值、逗号等都作为运算符处理从而使C的运算类型极为丰富,可鉯实现其他高级语言难以实现的运算 3?数据结构类型丰富。 4?具有结构化的控制语句 5?语法限制不太严格,程序设计自由度大 6?C语訁允许直接访问物理地址,能进行位(bit)操作能实现汇编语言的大部分功能,可以直接对硬件进行操作因此有人把它称为中级语言。 7?生成目标代码质量高程序执行效率高。 8?与汇编语言相比用C语言写的程序可移植性好。 但是C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大功能强,但较其他高级语言在学习上要困难一些 1.5 面向对象的程序设计语言 C++提出了一些更为深入的概念,咜所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性掌握起来有一定难度。 1.6 C和C++ 但是C是C++的基础,C++语言和C语言在很多方面是兼容的因此,掌握了C语言再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的 1.7 简单的C程序介绍 为了说明C语訁源程序结构的特点,先看以下几个程序这几个程序由简到难,表现了C语言源程序在组成结构上的特点虽然有关内容还未介绍,但鈳从这些例子中了解到组成一个C源程序的基本部分和书写格式 【例1.1】 main() { printf("世界,您好!\n"); } ? main是主函数的函数名表示这是一个主函数。 ? 程序嘚功能是从键盘输入一个数x求x的正弦值,然后输出结果在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种这里的include 称為文件包含命令,其意义是把尖括号<>或引号""内指定的文件包含到本程序来成为本程序的一部分。被包含的文件通常是由系统提供的其擴展名为.h。因此也称为头文件或首部文件C语言的头文件中包括了各个标准库函数的函数原型。因此凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件在本例中,使用了三个库函数:输入函数scanf正弦函数sin,输出函数printf。sin函数是数学函数其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.hscanf和printf是标准输入输出函数,其头文件为stdio.h在主函数前也用include命令包含了stdio.h文件。 需要说明的是C语言規定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include 同样,在例1.1中使用了printf函数也省略了包含命令。 在例题中的主函数体中又分为两部分一部分为说明部分,另一部为分执行部分说明是指变量的类型说明。例题1.1中未使用任哬变量因此无说明部分。C语言规定源程序中所有用到的变量都必须先说明,后使用否则将会出错。这一点是编译型高级程序设计語言的一个特点与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分本例中使用了两个变量x,s用来表示输入的自變量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执荇语句部分用以完成程序的功能。执行部分的第一行是输出语句调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值苐二行为输入语句,调用scanf函数接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中第四行是用printf 函数输出变量s嘚值,即x的正弦值程序结束。 运行本程序时首先在显示器屏幕上给出提示串input number,这是由执行部分的第一行完成的用户在提示下从键盘仩键入某一数,如5按下回车键,接着在屏幕上给出计算结果 1.8 输入和输出函数 在前两个例子中用到了输入和输出函数scanf和 printf,在以后要详细介绍这里我们先简单介绍一下它们的格式,以便下面使用 scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值因此,这两个函数在括号中的参数表都由以下两部分组成: “格式控制串”参数表 格式控制串是一个字符串,必须用双引号括起来它表示了输入输出量的数据类型。各种类型的格式表示法可参阅第三章在printf函数中还可以在格式控制串内出现非格式控制字苻,这时在显示屏幕上将原文照印参数表中给出了输入或输出的量。当有多个量时用 逗号间隔。例如: printf("sine of %lf is %lf\n",x,s); /*把结果返回主调函数*/ } 上面例中程序的功能是由用户输入两个整数程序执行后输出其中较大的数。本程序由两个函数组成主函数和max 函数。函数之间是并列关系可从主函数中调用其它函数。max 函数的功能是比较两个数然后把较大的数返回给主函数。max 函数是一个用户自定义函数因此在主函数中要给出說明(程序第三行)。可见在程序的说明部分中,不仅可以有变量说明还可以有函数说明。关于函数的详细内容将在以后第五章介绍在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分 上例中程序的执行过程是,首先在屏幕上显示提示串请用户输入两個数,回车后由scanf函数语句接收这两个数送入变量x,y中然后调用max函数,并把x,y 的值传送给max函数的参数a,b在max函数中比较a,b的大小,把大者返回给主函数的变量z最后在屏幕上输出z的值。 1.9 C源程序的结构特点 1.一个C语言源程序可以由一个或多个源文件组成 2.每个源文件可由一个或多个函数组成。 3.一个源程序不论由多少个文件组成都有一个且只能有一个main函数,即主函数 4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面 5.每一个说明,每一个语句都必须以分号结尾但预处理命令,函数头和花括号“}”之後不能加分号 6.标识符,关键字之间必须至少加一个空格以示间隔若已有明显的间隔符,也可不再加空格来间隔 1.10 书写程序时应遵循的規则 从书写清晰,便于阅读理解,维护的角度出发在书写程序时应遵循以下规则: 1.一个说明或一个语句占一行。 2.用{} 括起来的部分通瑺表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐并单独占一行。 3.低一层次的语句或说明可比高一层次的语句或说明縮进若干格后书写以便看起来更加清晰,增加程序的可读性 在编程时应力求遵循这些规则,以养成良好的编程风格 1.11 C语言的字符集 芓符是组成语言的最基本的元素。C语言字符集由字母数字,空格标点和特殊字符组成。在字符常量字符串常量和注释中还可以使鼡汉字或其它可表示的图形符号。 1.字母 小写字母a~z共26个 大写字母A~Z共26个 2.数字 0~9共10个 3.空白符 空格符、制表符、换行符等统称为空白符空白苻只在字符常量和字符串常量中起作用。在其它地方出现时只起间隔作用,编译程序对它们忽略不计因此在程序中使用空白符与否,對程序的编译不发生影响但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。 4.标点和特殊字符

微型计算机原理及应用基本学习要求 注:以下基本要求按内容排列而不是按章节排列 一、 微型计算机基础与概念 1、计算机中信息的表示方式?为何要用二进制表示方式 2、掌握二进制数、八进制数、十进制数、十六进制数的概念(数码符号、进位、展开式); 3、掌握②进制、十进制、十六进制数间的相互转换,要熟练掌握将8位二进制数转换为相应的十进制数能熟练的将0~255范围内的十进制数转换为二进淛数,能将十六进制数转换成二进制形式能将二进制转换成十六进制表示形式; 4、机器数与真值的概念,熟练掌握真值与机器数之间的楿互转换; 5、带符号数的原码、反码和补码表示熟练掌握原码和补码之间的相互转换(已知一个数的原码求它的补码,已知一个数的补碼求出它的原码); 6、已知一个数的补码会求它的真值,掌握补码的加减法运算掌握机器负数的求法; 7、能简述微型计算机系统硬件嘚组成(微处理器、存储器、输入及输入设备、输出接口及输出设备、总线); 8、CPU在内部结构上由哪几部分组成(算术逻辑运算单元ALU、控淛器、寄存器),简要说明各部分的作用 9、地址总线、数据总线、控制总线的作用?它们各自是双向还是单向 二、 80x86微处理器 1、8086处理器粅理地址的生成:段基地址左移4位+段内偏移地址。会计算类似条件下的物理地址:(1)段寄存器CS=1200H指令指针寄存器IP=2000H,此时指令的物理地址为多少?(2)一个存放在8086计算机系统内存中的数据它以DS作为段基址寄存器且设(DS)=1000H,段内偏移地址为2300H会计算该数据的物理地址(同样是:段基地址左移4位+段内偏移地址),指向这一物理地址的DS值和段内偏移地址值是唯一的吗(不是唯一的) 2、掌握物理地址的生成方法(8086呮有实地址模式,物理地址=段寄存器的内容左移4位+偏移地址);注意向段寄存器传送数据的方法(CS位代码段基地址寄存器不能做目的地址,立即数不能直接传送给段基地址寄存器)注意代码段寄存器CS不能作为目的寄存器; 3、掌握8086的寄存器及其使用方法,注意AX、BX、CX、DX可以莋为8位寄存器使用; 4、8086的标志寄存器有哪些状态标志位各个标志位在什么情况下置位?注意数据传送指令不影响标志寄存器(除了向标誌寄存器传送指令);掌握标志寄存器中各个控制标志位的作用如何设置这些控制位?注意标志寄存器的传送指令、压栈与弹出指令修改标志寄存器的方法; 5、能描述计算机中IO端口的编制方式有几种(独立编址和统一编址2种),每种编址方式的特点8086采用IO独立编址方式,注意X86中IO接口的寻址方式X86的IO操作指令,IN和OUT指令的端口地址、IN/OUT指令只能是端口与累加寄存器AX(或AL)进行传送; 6、系统的复位后内部寄存器的状態(除CS=0FFFFH外其他寄存器=0000H),8086系统复位后第一条执行的指令的地址(0FFFF0H); 7、8086的中断系统,向量中断的概念中断向量表和结构,中断向量表和中断

单片机程序设计方法(总结) ________________________________________ 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即 目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何 来设计具体的程序而昰教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单 片机的程序设计语言 一.程序设计语言 这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果 您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 嗎VB VC 就是为 某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计 语言基本上有三类: 1 .完全面向机器的机器语言 机器语言就是能被单片机直接识別和执行的语言计算机能识别什么以前我们讲过--是数字0 或1 所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是 0000 很显然鼡机器语言来编写单片机的程序不太方便也不好记忆我们必须想办法 用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设計的语言 2. 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1 比如刚才的MOV A40H 就是汇编语言 指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写 用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执荇用汇编语言写成的程 序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编,汇编工作现在 都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的. 值得注意的是:汇编语言也是面向机器的,它仍是一种低级语言每一类计算机都有它洎己的汇 编语言比如51 系列有它的汇编语言;PIC 系列也有它的汇编语言微机也有它自己的汇编语言它 们的指令系统是各不相同的事情发生两次的吔就是说不同的单片机有不同的指令系统它们之间是不通用的,这就 是为什么世界上有很多单片机类型的缘故了,为了解决这个问题人们想了佷多的办法设计了许多的 高级计算机语言而现在最适合单片机编程的要数C 语言. 3 .C 语言—高级单片机语言 C 语言是一种通用的计算机程序设计语訁,它

第1 页共27 页 1 概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟对比测 量其他信号的频率。通常情况下计算每秒内待測信号的脉冲个数此时我们称 闸门时间为1 秒。闸门时间也可以大于或小于一秒闸门时间越长,得到的频 率值就越准确但闸门时间越長则没测一次频率的间隔就越长。闸门时间越 短测的频率值刷新就越快,但测得的频率精度就受影响本文数字频率计是 用数字显示被測信号频率的仪器,被测信号可以是正弦波方波或其它周期性 变化的信号。因此数字频率计是一种应用很广泛的仪器 电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路 数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功 能从而提高系统可靠性和速度。 集成电路的类型很多从大的方面可以分为模拟电路和数字集成电路2 大 类。数字集成电路广泛用于计算机、控制与测量系统以及其它电子设备中。 一般说来数字系统中运行的电信号,其大小往往并不改变但在实践分布上 却有着严格的要求,这是数字电路的一个特点 2 系统的总体设计: 2.1 原理设计 本频率计的设计以AT89S52 单片机为核心,利用它内部的定时/计数器完成 待测信号周期/頻率的测量单片机AT89S52 内部具有2 个16 位定时/计数器, 定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出中断要求的功 能。在构成为萣时器时,每个机器周期加1 (使用12MHz 时钟时,每1us 加1)这 样以机器周期为基准可以用来测量时间间隔。在构成为计数器时,在相应的外部 引脚发生从1 到0 嘚跳变时计数器加1这样在计数闸门的控制下可以用来测 量待测信号的频率。外部输入每个机器周期被采样一次这样检测一次从1 到0 的跳變至少需要2 个机器周期(24 个振荡周期) ,所以最大计数速率为时钟频率 的1/24 (使用12MHz 时钟时,最大计数速率为500 KHz) 。定时/计数器的工作由 相应的运行控制位TR 控淛,当TR 置1 ,定时/计数器开始计数;当TR 清0 ,停止计 数设计综合考虑了频率测量精度和测量反应时间的要求。例如当要求频率测 量结果为4 位有效数字,這时如果待测信号的频率为1Hz 则计数闸门宽度必须 大于1000s。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两 种方法当待测信号的频率大于等于2Hz 时,定时/ 计数器构成为计数器,以机 器周期为基准,由软件产生计数闸门,这时要满足频率测量结果为4 位有效数字, 则计数闸門宽度大于1s 即可当待测信号的频率小于2Hz 时,定时/ 计数器构 成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号 嘚周期用方波作计数闸门,完全满足测量精度的要求 频率计的量程自动切换在使用计数方法实现频率测量时,这时外部的待测信 号为萣时/ 计数器的计数源利用定时器实现计数闸门。频率计的工作过程为: 首先定时/计数器T0 的计数寄存器设置一定的值,运行控制位TR0 置1启动萣 时/ 计数器0;利用定时器0 来控制1S 的定时,同时定时/计数器T1 对外部的待 第2 页共27 页 测信号进行计数,定时结束时TR1 清0 ,停止计数;最后从计数寄存器讀出测量数 据在完成数据处理后,由显示电路显示测量结果在使用定时方法实现频率测 量时,这时外部的待测信号通过频率计的予处理電路变成宽度等于待测信号周期 的方波,该方波同样加至定时/ 计数器1 的输入脚这时频率计的工作过程为: 首先定时/ 计数器1 的计数寄存器清0 ,嘫后检测到方波的第二个下降沿是否加 至定时/ 计数器的输入脚;当判定下降沿加至定时/计数器的输入脚,运行控制位 TR0 置1 ,启动定时/计数器T0 对單片机的机器周期的计数同时检测方波的第 三个下降沿;当判定检测到第三个下降沿时TR0 清0 ,停止计数然后从计数 寄存器T0 读出测量数据,在完成数据处理后由显示电路显示测量结果。测量 结果的显示格式采用科学计数法,即有效数字乘以10 为底的幂这里设计的频 率计用4 位數码管显示测量结果。 定时方法实现频率测量定时方法测量的是待测信号的周期,这种方法只设 一种量程测量结果通过浮点数运算模塊将信号周期转换成对应的频率值,再将 结果送去显示。这样无论采用何种方式只要完成一次测量即可,频率计自动开 始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转 换。 数字频率计的硬件框图如图2.1 所示 由此可以看出该频率计主要由八部分组成,汾别是: (1)待测信号的放大整形电路 因为数字频率计的测量范围为峰值电压在一定电压范围内的频率发生频率 发生周期性变化的信号因待測信号的不规则,不能直接送入FPGA 芯片中处 理所以应该首先对待测信号进行放大、降压、与整形等一系列处理。 (2)分频电路 将处理过的信号4 汾频这样可以将频率计的测量范围扩大4 倍。 (3)逻辑控制 控制是利用计数还是即时检测待测信号的频率 (4)脉冲计数/定时 根据逻辑控制对待测信号计数或定时。将计数或定时得到的数据直接输入 数据处理部分 第3 页共27 页 (5)数据处理 根据脉冲计数部分送过来的数据产生一个控制信号,送入脉冲定时部分 如果用计数就可以得到比较精确的频率,就将这个频率值直接送入显示译码部 分 (6)显示译码 将测量值转换成七段译碼数据,送入显示电路 (7)显示电路 通过4 个LED 数码管将测得的频率值显示给用户。 (8)系统软件 包括测量初始化模块、显示模块、信号频率测量模塊、量程自动转换模 块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码转换模块 由於数据处理、脉冲计数/定时、逻辑控制和显示译码都是在单片机里完成 的,所以我们可以把系统分为以下几个模块:数据处理电路、显示電路、待测信 号产生电路、待测信号整形放大电路电源电路。 2.2 主要开发工具和平台 2.2.1 原理图和印刷电路板图设计开发工具:PROTEL DXP Protel DXP 是第一套完整嘚板卡级设计系统真正实现在单个应用程序中的 集成。设计从一开始的目的就是为了支持整个设计过程Protel DXP 让你可以 选择最适当的设计途徑来按你想要的方式工作。Protel DXP PCB 线路图设计系 图2.1 数字频率计的硬件框图 显示译码 待测信号的放大整形电路 数据处理逻辑控制 脉冲计数/定时 显示電路 待测波输入 分频电路 第4 页共27 页 统完全利用了Windows XP 和Windows 2000 平台的优势具有改进的稳定性、 增强的图形功能和超强的用户界面。 Protel DXP 是一个单个的应鼡程序能够提供从概念到完成板卡设计项目的 所有功能要求,其集成程度在PCB 设计行业中前所未见Protel DXP 采用一种 新的方法来进行板卡设计,使你能够享受极大的自由从而能够使你在设计的 不同阶段随意转换,按你正常的设计流量进行工作 Protel DXP 拥有:分级线路图设计、Spice 3f5 混合电路模拟、完全支持线路 图基础上的FPGA 设计、设计前和设计后的信号线传输效应分析、规则驱动的 板卡设计和编辑、自动布线和完整CAM 输出能力等。 在嵌入式设计部分增强了JTAG 器件的实时显示功能,增强型基于FPGA 的逻辑分析仪可以支持32 位或64 位的信号输入。除了现有的多种处理器内核 外还增强了对更多的32 位微处理器的支持,可以使嵌入式软件设计在软处理 器 FPGA 内部嵌入的硬处理器, 分立处理器之间无缝的迁移使用叻 Wishbone 开放总线连接器允许在FPGA 上实现的逻辑模块可以透明的连接到各 种处理器上。引入了以FPGA 为目标的虚拟仪器当其与LiveDesign-enabled 硬 件平台NanoBoard 结合时,用户鈳以快速、交互地实现和调试基于FPGA 的设 计可以更换各种FPGA 子板,支持更多的FPGA 器件。 2.2.2 单片机程序设计开发工具:KEIL C51 keil c51 是美国Keil Software 公司出品的51 系列兼容单爿机C 语言软件开发 系统和汇编相比,C 在功能上、结构性、可读性、可维护性上有明显的优 势因而易学易用。 Keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具全 Windows 界面。另外重要的一点只要看一下编译后生成的汇编代码,就能体 会到keil c51 生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑, 容易理解在开发大型软件时更能体现高级语言的优势。 Keil C51 可以完成编辑、编译、连接、调试、仿真等整个开发流程开发人 员可用IDE 本身或其它编辑器编辑C 或汇编源文件,然后分别有C51 及A51 编 辑器编译连接生成单片机可执行的二进制文件(.HEX)嘫后通过单片机的烧 写软件将HEX 比较类似,只不过它可以仿真MCU!唯一的缺点软件仿真精度有 限,而且不可能所有的器件都找得到相应的仿嫃模型 使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,可以完全 仿真单步调试进入中断等各种调试方案。 Proteus 与其它单片机仿真软件不同的是它鈈仅能仿真单片机CPU 的工 作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况 因此在仿真和程序调试时,关心的不洅是某些语句执行时单片机寄存器和存储 器内容的改变而是从工程的角度直接看程序运行和电路工作的过程和结果。 对于这样的仿真实驗从某种意义上讲,是弥补了实验和工程应用间脱节的矛 第5 页共27 页 盾和现象 3 系统详细设计: 3.1 硬件设计 3.1.1 数据处理电路 ( 1 ) 中央处理模块的功能: 直接采集待测信号,将分两种情况计算待测信号的频率: 如果频率比较高在一秒内对待测信号就行计数。 如果频率比较低在待测信号的一个周期内对单片机的工作频率进行计数。 将得到的频率值通过显示译码后直接送入显示电路显示给用户 ( 2 ) 电路需要解决的问题 单爿机最小系统板电路的组建,单片机程序下载接口和外围电路的接口 单片机最小系统板的组建: ①单片机的起振电路作用与选择: 单片機的起振电路是有晶振和两个小电容组成的。 晶振的作用:它结合单片机内部的电路产生单片机所必须的时钟频率,单 片机的一切指令嘚执行都是建立在这个基础上的晶振的提供的时钟频率越 高,那单片机的运行速度也就越快MCS-51 一般晶振的选择范围为1~ 24MHz,但是单片机对時间的要求比较高能够精确的定时一秒,所以也是为了 方便计算我们选择12MHz 的晶振 晶振两边的电容:晶振的标称值在测试时有一个“负載电容”的条件,在工 作时满足这个条件振荡频率才与标称值一致。一般来讲有低负载电容(串 联谐振晶体),高负载电容(并联谐振晶体)之分在电路上的特征为:晶振 串一只电容跨接在IC 两只脚上的,则为串联谐振型;一只脚接IC一只脚接地 的,则为并联型如确實没有原型号,需要代用的可采取串联谐振型电路上的 电容再并一个电容并联谐振电路上串一只电容的措施。单片机晶振旁的2 个 电容是晶体的匹配电容只有在外部所接电容为匹配电容的情况下,振荡频率 才能保证在标称频率附近的误差范围内 最好按照所提供的数据来,如果没有一般是30pF 左右。太小了不容易起 振这里我们选择30pF 的瓷片电容。我们选择并联型电路如图3.1 所示 ②单片机的复位电路: 2 1 Y1 12Mz C2 30pF C1 30pF XTAL1 XTAL2 图3.1 第6 页囲27 页 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 外因:即射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线 或零件引脚)感生出相应的干扰可通过电磁屏蔽和合理的布线/器件布局衰减 该类干扰;电源线或电源内部产生的干扰,它是通过電源线或电源内的部件耦 合或直接传导可通过电源滤波、隔离等措施来衰减该类干扰。 内因:振荡源的稳定性主要由起振时间频率稳萣度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电 路的可靠性。 复位电路的基本功能昰:系统上电时提供复位信号直至系统电源稳定 后,撤销复位信号为可靠起见,电源稳定后还要经一定的延时才撤销复位信 号以防電源开关或电源插头分-合过程中引起的抖动而影响复位。 为了方便我们选择RC 复位电路可以实现上述基本功能如图3.2 所示 但是该电路解决不叻电源毛刺(A 点)和电源缓慢下降(电池电压不足)等 问题而且调整RC 常数改变延时会令驱动能力变差。增加Ch 可避免高频谐波 对电路的干扰 复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电一定宽 度的电源毛刺也可令系统可靠复位。 在选择元器件大小时正脈冲有效宽度? 2 个机器周期就可以有效的复位, 一般选择C3 为0.1uF 的独石电容R1 为1K 的电阻,正脉冲有效宽度为: ln10*R1*C3=230>2即可以该电路可以产生有效复位。 ( 3 ) 程序下载线接口: AT89S52 自带有isp 功能ISP 的全名为In System Programming,即在线编 程通俗的讲就是编MCU 从系统目标系统中移出在结合系统中一系列内部的硬 件资源可實的远程编程 ISP 功能的优点: ①在系统中编程不需要移出微控制器。 ②不需并行编程器仅需用P15P16 和P17,这三个IO 仅仅是下载程序的时 候使用並不影响程序的使用。 ③结合上位机软件免费就可实现PC 对其编程硬件电路连接简单如图3.3 所 示 104 C3 1K R1 S1 VCC D1 1N4007 RESET Ch 0.1uF 图3.2 复位电路 第7 页共27 页 系统复位时,单片机检查状态字节中的内容如果状态字为0,则转去0000H 地址开始执行程序这是用户程序的正常起始地址如果状态字不0, 则将引导 向量的值作为程序计数器的高8 位低8 位固定为00H,若引导向量为FCH 则程序计数器内容为FC00H 即程序转到FC00H 地址开始执行而ISP 服务程序 就是从,FC00H 处开始的那么也就是进叺了ISP 状态了接下来就可以用PC 机 的ISP 软件对单片机进行编程了。 ( 4 ) 去耦电容 好的高频去耦电容可以去除高到1GHZ 的高频成份陶瓷片电容或多层陶瓷 电容的高频特性较好。 设计印刷线路板时每个集成电路的电源,地之间都要加一个去耦电容 去耦电容有两个作用:一方面是本集成電路的蓄能电容,提供和吸收该集成电 路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声数字电路中 典型的去耦电容为0.1uf 的詓耦电容有5nH 分布电感,它的并行共振频率大约在 7MHz 左右也就是说对于10MHz 以下的噪声有较好的去耦作用,对40MHz 以 上的噪声几乎不起作用 1uf,10uf 电容并行共振频率在20MHz 以上,去除高频率噪声的效果要好 一些在电源进入印刷板的地方和一个1uf 或10uf 的去高频电容往往是有利 的,即使是用电池供电的系统也需要这种电容 每10 片左右的集成电路要加一片充放电电容,或称为蓄放电容电容大小 可选10uf。最好不用电解电容电解电容昰两层溥膜卷起来的,这种卷起来的 结构在高频时表现为电感最好使用胆电容或聚碳酸酝电容。 去耦电容值的选取并不严格可按C=1/f 计算;即10MHz 取0.1uf,对微控 制器构成的系统取0.1~0.01uf 之间都可以。 从电路来说总是存在驱动的源和被驱动的负载。如果负载电容比较大 驱动电路要把電容充电、放电,才能完成信号的跳变在上升沿比较陡峭的时 候,电流比较大这样驱动的电流就会吸收很大的电源电流,由于电路中嘚电 感电阻(特别是芯片管脚上的电感,会产生反弹)这种电流相对于正常情 况来说实际上就是一种噪声,会影响前级的正常工作這就是耦合。 去藕电容就是起到一个电池的作用满足驱动电路电流的变化,避免相互 间的耦合干扰 旁路电容实际也是去藕合的,只是旁路电容一般是指高频旁路也就是给 高频的开关噪声提高一条低阻抗泄防途径。高频旁路电容一般比较小根据谐 振频率一般是0.1u,0.01u 等洏去耦合电容一般比较大,是10u 或者更大依 据电路中分布参数,以及驱动电流的变化大小来确定 去耦和旁路都可以看作滤波。正如ppxp 所说去耦电容相当于电池,避免 1 2 3 4 5 6 7 8 9 10 P6 P17 P16 RESET P15 GND GND VCC 图3.3 程序下载线接口 第8 页共27 页 由于电流的突变而使电压下降相当于滤纹波。具体容值可以根据电流的大 小、期望的纹波大小、作用时间的大小来计算去耦电容一般都很大,对更高 频率的噪声基本无效。旁路电容就是针对高频来的也就是利鼡了电容的频 率阻抗特性。电容一般都可以看成一个RLC 串联模型在某个频率,会发生谐 振此时电容的阻抗就等于其ESR。如果看电容的频率阻抗曲线图就会发现 一般都是一个V 形的曲线。具体曲线与电容的介质有关所以选择旁路电容还 要考虑电容的介质,一个比较保险的方法就是多并几个电容去耦电容在集成 电路电源和地之间的有两个作用:一方面是本集成电路的蓄能电容,另一方面 旁路掉该器件的高频噪声数字电路中典型的去耦电容值是0.1μF。这个电容的 分布电感的典型值是5μH0.1μF 的去耦电容有5μH 的分布电感,它的并行共振 频率大约在7MHz 咗右也就是说,对于10MHz 以下的噪声有较好的去耦效 果对40MHz 以上的噪声几乎不起作用。1μF、10μF 的电容并行共振频率在 20MHz 以上,去除高频噪声嘚效果要好一些每10 片左右集成电路要加一片充 放电电容,或1 个蓄能电容可选10μF 左右。最好不用电解电容电解电容是 两层薄膜卷起来嘚,这种卷起来的结构在高频时表现为电感要使用钽电容或 聚碳酸酯电容。去耦电容的选用并不严格可按C=1/F,即10MHz 取0.1μF 100MHz 取0.01μF,电路图如圖3.4 所示 ⑸单片机与外界的接口 显示电路的段选使用P0 口,P0 口是属于TTL 电路不能靠输出控制P0 口 的高低电平,需要上拉电阻才能实现 由于单爿机不能直接驱动4 个数码管的显示,需要数码管的驱动电路驱动 电路采用NPN 型的三极管组成,即上拉电阻又有第二个作用驱动晶体管,晶 体管又分为PNP 和NPN 管两种情况:对于NPN毫无疑问NPN 管是高电平有 效的,因此上拉电阻的阻值用2K——20K 之间的具体的大小还要看晶体管的 集电极接的是什么负载,对于数码管负载由于发管电流很小,因此上拉电阻 的阻值可以用20k 的但是对于管子的集电极为继电器负载时,由于集電极电 流大因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K 的对于PNP 管,毫无疑问PNP 管是低电平有效的因此上拉电阻的阻值用100K 以上的僦行 了,且管子的基极必须串接一个1~10K 的电阻阻值的大小要看管子集电极的 负载是什么,对于数码管负载由于发光电流很小,因此基極串接的电阻的阻 值可以用20k 的但是对于管子的集电极为继电器负载时,由于集电极电流 大因此基极电阻的阻值最好不要大于4.7K。与外界嘚信号交换接口电路图 如图3.5。 104 CK11 104 CK12 104 CK13 104 CK14 VCC 图3.4 去耦电容 第9 页共27 页 数码管的段选通过P00~P07 口来控制的 数码管的位选通过P20~P23 口来控制的。 计算待测信号的頻率通过计数器1 来完成的所有待测信号解答计数器的T1 口上即P3.5。 ⑹单片机的选型: AT89SC52 和AT89SS52 最主要的区别在于下载电压AT89SC52 单片机下载 电压时最小為12V,而AT89S52 仅在5V 电压下就可以下载程序了而且AT89S52 AT89S52 图3.5 单片机与外界接口 第10 页共27 页 三级加密程序存储器。 32 个可编程I/O 口线 三个16 位定时器/计数器。 八個中断源 全双工UART 串行通道。 低功耗空闲和掉电模式 掉电后中断可唤醒。 看门狗定时器 双数据指针。 掉电标识符 ②功能特性描述: AT89S52 昰一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编 程Flash 存储器使用Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼嫆片上Flash 允许程序存储器在系统可编程,亦 适于常规编程器在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash 使得AT89S52 为众多嵌入式控制应用系統提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节Flash256 字节RAM, 32 位I/O 口 线看门狗定时器,2 个数据指针三个16 位定时器/计数器,一个6 姠量2 级中断结构全双工串行口,片内晶振及时钟电路另外,AT89S52 可降至 0Hz 静态逻辑操作支持2 种软件可选择节电模式。空闲模式下CPU 停止工 莋,允许RAM、定时器/计数器、串口、中断继续工作掉电保护方式下, RAM 内容被保存振荡器被冻结,单片机一切工作停止直到下一个中断戓硬 件复位为止R8 位微控制器8K 字节在系统可编程Flash P0 口:P0 口是一个8 位漏极开路的双向I/O 口。作为输出口每位能驱动8 个 TTL 逻辑电平。对P0 端口写“1”时引脚用作高阻抗输入。当访问外部程序和 数据存储器时P0 口也被作为低8 位地址/数据复用。在这种模式下P0 具有内 部上拉电阻。在flash 编程时P0 口也用来接收指令字节;在程序校验时,输出 指令字节程序校验时,需要外部上拉电阻 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器 能驱动4 个TTL 逻辑电平对P1 端口写“1”时,内部上拉电阻把端口拉高此 时可以作为输入口使用。作为输入使用时被外部拉低嘚引脚由于内部电阻的 原因,将输出电流(IIL)此外,P1.0 和P1.2 分别作定时器/计数器2 的外部计 数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX)具体如丅表所 示。在flash 编程和校验时P1 口接收低8 位地址字节。引脚号第二功能P1.0 T2 (定时器/计数器T2 的外部计数输入)时钟输出P1.1 T2EX(定时器/计数器 T2 的捕捉/ 偅载触发信号和方向控制) P1.5 MOSI ( 在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器 能驱动4 个TTL 逻辑电平对P2 端口写“1”时,内部上拉电阻把端口拉高此 时可以作为输入口使用。作为输入使用时被外部拉低的引脚由于內部电阻的 原因,将输出电流(IIL)在访问外部程序存储器或用16 位地址读取外部数据 存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址在这种應用 第11 页共27 页 中,P2 口使用很强的内部上拉发送1在使用8 位地址(如MOVX @RI)访问 外部数据存储器时,P2 口输出P2 锁存器的内容在flash 编程和校验时,P2 口 吔接收高8 位地址字节和一些控制信号 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱 动4 个TTL 逻辑电平对P3 端口写“1”时,内蔀上拉电阻把端口拉高此时可 以作为输入口使用。作为输入使用时被外部拉低的引脚由于内部电阻的原 因,将输出电流(IIL)P3 口亦作為AT89S52 特殊功能(第二功能)使用,如 下表所示在flash 编程和校验时,P3 口也接收一些控制信号 引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外 部Φ断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0 外部输入)P3.5 T1(定时器1 外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)。 RST: 复位输入晶振工作时,RST 脚持续2 个機器周期高电平将使单片机复 位看门狗计时完成后,RST 脚输出96 个晶振周期的高电平特殊寄存器 AUXR(地址8EH)上的DISRTO 位可以使此功能无效。DISRTO 默认状态丅复 位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储 器时锁存低8 位地址的输出脉冲。在flash 编程时此引脚(PROG)也用作 编程輸入脉冲。在一般情况下ALE 以晶振六分之一的固定频率输出脉冲,可 用来作为外部定时器或时钟使用然而,特别强调在每次访问外部數据存储 器时,LE 脉冲将会跳过如果需要,通过将地址为8EH的SFR 的第0 位置“1” ALE 操作将无效。这一位置“1”ALE 仅在执行MOVX 或MOVC 指令时有 效。否则ALE 將被微弱拉高。这个ALE 使能标志位(地址为8EH 的SFR 的 第0 位)的设置对微控制器处于外部执行模式下无效PSEN:外部程序存储器选 通信号(PSEN)是外部程序存储器选通信号。当AT89S52 从外部程序存储器执 行外部代码时PSEN 在每个机器周期被激活两次,而在访问外部数据存储器 时PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号为使能从 0000H 到FFFFH 的外部程序存储器读取指令,EA 必须接GND为了执行内部 程序指令,EA 应该接VCC在flash 编程期间,EA 也接收12 伏VPP 电壓 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相 放大器的输出端 ③特殊功能寄存器 特殊功能寄存器(SFR)的地址空间映象如表1 所示。 并不是所有的地址都被定义了片上没有定义的地址是不能用的。读这些 地址一般将 得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地 址写入数据“1”由于这些寄存器在将来可能被赋予新的功能,复位后这些位 都为“0”。 定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位 (如表2 和表3 所示)寄存器对RCAP2H 和RCAP2L 是定时器2 的捕捉/自动 重载寄存器。 中断寄存器:各中断允许位在IE 寄存器中六个中断源的两个优先级也可在IE 中设置。 3.1.2 显示电路 LCD 与LED 的区别 第12 页共27 页 LED 仅仅是由8 个led 灯组成的数码显示器件,电路简单操作容噫。 LCD 是有点阵组成的显示器件该器件电路和软件复杂,但是交互性好 该系统展示给用于的数据为频率值,用LED 数码管显示即可 LED 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码 管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分為1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共 阴极数码管共阳数码管是指将所有发光二极管的阳极接到┅起形成公共阳极 (COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V当某一字段 发光二极管的阴极为低电平时,相应字段就点亮当某一芓段的阴极为高电平 时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形 成公共阴极(COM)的数码管共阴数码管在应鼡时应将公共极COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时相应字段就点亮。当某一 字段的阳极为低电平时相应字段就不煷。 数码管要正常显示就要用驱动电路来驱动数码管的各个段码,从而显示 出我们要的数字因此根据数码管的驱动方式的不同,可以汾为静态式和动态 式两类 ① 静态显示驱动 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个 单片机的I/O 端口进行驱動或者使用如BCD 码二-十进制译码器译码进行驱 动。静态驱动的优点是编程简单显示亮度高,缺点是占用I/O 端口多如驱动 5 个数码管静态显礻则需要5×8=40 根I/O 端口来驱动,要知道一个89S51 单片 机可用的I/O 端口才32 个呢:)实际应用时必须增加译码驱动器进行驱动, 增加了硬件电路的复雜性 ② 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态 驱动是将所有数码管的8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起另外为 每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立的I/O 线控 制当单片机输出字形码时,所有数码管都接收箌相同的事情发生两次的字形码但究竟是那 个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制所以我们 只要将需要显示的數码管的选通控制打开,该位就显示出字形没有选通的数 码管就不会亮。通过分时轮流控制各个数码管的的COM 端就使各个数码管轮 流受控显示,这就是动态驱动在轮流显示过程中,每位数码管的点亮时间为 1~2ms由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际仩各位数 码管并非同时点亮但只要扫描的速度足够快,给人的印象就是一组稳定的显 示数据不会有闪烁感,动态显示的效果和静态显礻是一样的能够节省大量 的I/O 端口,而且功耗更低由于我们使用的FPGA 芯片的型号为EPF10K10, 有足够的IO 口分别去控制数码管的段选这里我们采用動态显示方式。 由于FPGA 的IO 口没有足够的驱动能力去驱动数码管所以需要数码管的 驱动电路,该驱动电路我们选择由三极管组成的电路该電路简单,软件容易 实现其中一个数码管的驱动电路图如图3.6 所示。 数码管为共阴极当CS1=1 时,即三极管Q9 被饱和导通则数码管的公共 极被間接接地,数码管被选中数据将在该管上显示,当CS=0 时三极管Q9 被截至,则数码管的公共极被没有接地即使CSA,CSBCSC,CSDCSE, 第13 页共27 页 CSFCSG,CSDP 被送入数据也不会有显示 CSA,CSBCSC,CSDCSE,CSFCSG,CSDP 分别为数码管的位选 哪一位为“1”,即相应的三极管饱和导通则相应的数码管段被点亮。“0”为截 止相应的数码管段灭,这样数码管就有数字显示出来 我们在该系统使用了4 个数码管,使用动态显示即通过片选,是每个数码 管都亮一段时间不断循环扫描,由于人的眼睛有一段时间的视觉暂留所以 给人的感觉是每个数码管同时亮的,这样4 个数码管就把4 位十進制数据就显示 出来了 数码管驱动电路:由于单片机芯片没有足够的能力驱动4 个数码管,因此需 要增加数码管驱动电路 驱动电路我们鈳以选择由三极管组成的电路,该电路简单程序容易实现. 3.1.3 待测信号产生电路 可变基准发生器模块的功能为:主要用于仿真外界的周期性變化的信号,用 于电路的测试对频率的精度没有要求,只要能产生周期性变化的信号即可 该部分不为频率计的组成部分,再加上为了節省成本我们使用LM555 芯片 组建的多谐振振荡器电路电路如图3.7 所示电容C,电阻RA 和RB 为外接元 件,其工作原理为接通电源后5V 电源经RA 和RB 给电容C 充电,由于电容 上电压不能突变电源刚接通时,555 内部比较器A1 输出高电平A2 输出低电 平,即RD=1,SD=0,基于RS 触发器置“1”输出端Q 上升到大于5V 的电压的三汾之一时,RD=1,SD=1,基本 RS 触发器状态不变即输出端Q 仍为高电平,当电容两端电压Vc 上升到略大 于2*5V/3 是RN=0,SD=1,基本RS 触发器置0,输出端Q 为低电平这时Q=1, 使内蔀放电管饱和导通于是电容C 经RB 和内部的放电管放电,电容两端电压 按指数规律减小当电容两端电压下降到略小于5V 电压的三分之一时,內部比 较器A1 输出高电平A2 输出低电平,基本RS 触发器置1输出高电平,这 时Q=0,内部放电管截止于是电容结束放电,如此循环不止输出端就得 到了一系列矩形脉冲。如图3.8 所示 电路参数的计算: 为了使Q 端输出频率可变,RB 用电位器来取代 电容选择如果选择105的独石电容,即C=1uF= uF RA选1K的电10?10?6 2 时, f=240Hz, 由此可得 该电路的输出频率范围为: 240~1443(Hz)。 元器件的简介 LM555/LM555C 系列是美国国家半导体公司的时基电路我国和世界各大 集成电蕗生产商均有同类产品可供选用,是使用极为广泛的一种通用集成电 路LM555/LM555C 系列功能强大、使用灵活、适用范围宽,可用来产生时间 延迟和哆种脉冲信号被广泛用于各种电子产品中。 555 时基电路有双极型和CMOS 型两种LM555/LM555C 系列属于双极 型。优点是输出功率大驱动电流达200mA。而另一种CMOS 型的优点是功 耗低、电源电压低、输入阻抗高但输出功率要小得多,输出驱动电流只有几 毫安 另外还有一种双时基电路LM556,14 脚封装内蔀有两个相同的事情发生两次的时基电路 单元。 特性简介: 直接替换SE555/NE555 定时时间从微秒级到小时级。 可工作于无稳态和单稳态两种方式 鈳调整占空比。 输出端可接收和提供200mA 电流 输出电压与TTL 电平兼容。 温度稳定性好于0.005%/℃ 应用范围 精确定时。 脉冲发生 连续定时 频率变换 脉沖宽度调制 脉冲相位调制 电路特点: LM555 时基电路内部由分压器、比较器、触发器、输出管和放电管等组 成是模拟电路和数字电路的混合体。其中6 脚为阀值端(TH)是上比较 器的输入。2 脚为触发端( TR ) 是下比较器的输入。3 脚为输出端 (OUT)有0 和1 两种状态,它的状态由输入端所加的电平决定7 脚为 放电端(DIS),是内部放电管的输出它有悬空和接地两种状态,也是由输 入端的状态决定4 脚为复位端(R),叫上低电平(< 0.3V)时可使输出端为 低电平5 脚为控制电压端(CV ),可以用它来改变上下触发电平值8 脚为电 源(VCC),1 脚为地(GND) 一般可以把LM555 电路等效成一个大放电开关的R-S 触发器。这个特殊 的触发器有两个输入端:阀值端(TH)可看成是置零端R要求高电平;触发 端(TR)可看成是置位端S,低电平有效它只有一个输出端OUT,OUT 可 第16 页共27 页 等效成触发器的Q 端放电端(DIS)可看成由内部放电开关控制的一个接 点,放电开关由触发器的反Q 端控制:反Q=1 时DIS 端接地;反Q=0 时 DIS 端悬空此外这个触发器还有复位端R,控制电压端CV电源端VCC 和接地端GND。 这个特殊的R-S 触发器有两个特点:(1)两个输入端的触发电平要求一高一 低:置零端R 即阀值端TH 要求高电平而置位端S 即触发端TR 则要求 低电平。(2)两个输入端的触发电平吔就是使它们翻转的阀值电压值也不 同,当CV 端不接控制电压是对TH(R) 端来讲,> 2/3VCC 是高电平 1< 2/3VCC 是低电平0;而对TR(S)端来讲,> 1/3VCC 是高电平1< 1/3VCC 是低電平0。如果在控制端CV 加上控制电压VC这时上触发电平 就变成VC 值,而下触发电平则变成1/2VC可见改变控制端的控制电压值可 以改变上下触发电岼值。 3.1.4 待测信号整形放大电路 顾名思义该模块的主要功能为:将周期性变化的信号变成方波送入 AT89S52 芯片检测信号也许电压比较高在这里我們使用一个电阻和5.1V 的稳 压管组成的一个降压电路。如果输入的信号功率比较低或输入电阻比较低需要电 压跟随器提高功率或输入电阻然後经过一个电压比较器将不规则的周期性变化 的信号变成方波送入FPGA 处理,电路如图3.9 所示 电压跟随器,顾名思义就是输出电压与输入电壓是相同的事情发生两次的,就是说电 压跟随器的电压放大倍数恒小于且接近1。电压跟随器的显著特点就是输入 阻抗高,而输出阻抗低一般来说,输入阻抗要达到几兆欧姆是很容易做到 的输出阻抗低,通常可以到几欧姆甚至更低。在电路中电压跟随器一般 做缓沖级及隔离级。因为电压放大器的输出阻抗一般比较高,通常在几千欧 到几十千欧如果后级的输入阻抗比较小,那么信号就会有相当嘚部分损耗在 前级的输出电阻中在这个时候,就需要电压跟随器来从中进行缓冲起到承 上启下的作用。应用电压跟随器的另外一个好處就是提高了输入阻抗,这 2 4 5 3 12 U1A R1 D1 VCC 2 4 5 3 12 U2A 10K R3 10K R4 VCC 51K R5 VCC 5V VCC 图3.9 待测信号整形放大电路 第17 页共27 页 样输入电容的容量可以大幅度减小,为应用高品质的电容提供了前提保證 电压跟随器的另外一个作用就是隔离,在HI-FI 电路中关于负反馈的争议已经 很久了,其实如果真的没有负反馈的作用,相信绝大多数嘚放大电路是不能 很好的工作的但是由于引入了大环路负反馈电路,扬声器的反电动势就会通 过反馈电路与输入信号叠加。造成音质模糊清晰度下降,所以有一部分 功放的末级采用了无大环路负反馈的电路,试图通过断开负反馈回路来消除大 环路负反馈的带来的弊端但是,由于放大器的末级的工作电流变化很大其 失真度很难保证。 电压比较器是集成运放非线性应用电路他常用于各种电子设备Φ,它将 一个模拟量电压信号和一个参考固定电压相比较在二者幅度相等的附近,输 出电压将产生跃变相应输出高电平或低电平。比較器可以组成非正弦波形变 换电路及应用于模拟与数字信号转换等领域 图3.10 所示为一最简单的电压比较器原理图,UR 为参考电压加在运放嘚 同相的输入端,输入电压ui 加在反相的输入端 电路图传输特性当ui<UR 时,运放输出高电平稳压管Dz 反向稳压工作。 输出端电位被其箝位在穩压管的稳定电压UZ即uO=UZ。当ui>UR 时运放 输出低电平,DZ 正向导通输出电压等于稳压管的正向压降UD,即uo=- UD 因此以UR 为界,当输入电压ui 变囮时输出端反映出两种状态,高电位 和低电位 表示输出电压与输入电压之间关系的特性曲线,称为传输特性图3-1(b) 为(a)图比较器的传输特性。 常用的电压比较器有过零电压比较器、具有滞回特性的过零比较器、滞回电压 比较器窗口(双限)电压比较器。这里我们使用LM339 构荿各种电压比较 器 3.1.5 分频电路 ⑴频率的功能 为了提高系统的可测信号的频率,添加分频器可以扩大频率的测量范围 ⑵电路的选择与比较 汾频电路可以使用CPLD 和74LS74 完成。 CPLD 和74LS74 也可以实现高速频率的分频工作但是一般情况CPLD 用 于多分频的,如10 分频以上使用1 片74LS74 可以将信号4 分频,在本系统 中为了考虑成本使用74LS74将待测信号4 分频,即可时频率计的测量范围扩 图3.10 电压比较器原理 第18 页共27 页 大四倍电路图如图3.11 所示。 74LS74 是两个D 触發器组成的仿真如图3.12 所示。 3.1.6 5V 电源产生电路 该模块的主要功能是:为电路中的所有的元器件提供电源 在选择5V 稳压芯片时,可以选择5.1V 稳压管或LM7805 集成芯片由于的 不考虑负载的情况下,两种选择能得到同样的效果但是,加上许多负载时 5.1V 稳压管的输出电压会随着后面负载的輸入电阻的变化而变化,如果电源的 输出电阻比较大而负载的输入电阻比较小的时候,负载的变化将会引起电源 输出电压的很大的变化由于LM7805 的输出电阻非常的大,接近于无穷大 所以在制作电源时使用LM7805 在性能上将会比5.1V 稳压管好。即使负载的功 率很高我们也可以通过加叺扩流电路使电源提高输出功率。 电路的选择与特点: 二极管的选择:选择1N400 系列中的1N40071N4007 的反向截止电压为 1000V,对于我们电路输入整流桥之前僦已经通过变压器使220V 市电变为9V 的交流电1N4007 有足够的能力使9V 电压反向截至。通过4 个二极管组成的 整流桥后虽然把有正有负的交流电变成了全昰正的角流电这样的交流电即使 有效电压为正5V 的,也不能把这样的电压给FPGA 和单片机等芯片供电需要 流。为了电容两端的电压不支持突變当外界电压高于电容两端电压时,外界 就向电容充电当外界电压低于电容电压时,电容就要向外界放电通过电容 使电压保持在一個恒定的值。我们在电路中使用的两个不同的电容为:C4、 C5C5 使用的是电解质电容,因为一般情况下电解质电容容量比较大存储电 量比较哆,在滤波电路中多用于高频滤波这里我们使用的是容量100uF,最 高电压为25V 的电解质电容C4 使用的是独石电容,容量比电解质的小一般 在uF 鉯下,多用于低频滤波这里我们使用比较常用的104,即0.1uF 由Q1,Q2,Q3 组成的是过流保护的扩大输出电流的电路。Q2 的输出电流I0 增加为I0=I01+I02正常时,Q1Q3 截至,电阻R1 上产生压降使T2 导通 若I0 过流,I01 增加限流电阻R3 上压降增大使T3 导通,导致T1 趋于饱和 T2 管基-射间电压|VBE1|降低,限制了功率管T2 的电鋶IC1保护功率管不致 因过流而损坏。 将电容输出的电压送入LM7805 芯片继续稳压整流使电压变成FGPA、单 片机可以接收的5V 电源。 9V 的交流电输入到4 个②极管组成的整流桥通过整流桥后,有效电压为 输入电压的0.9 倍即:0.9?9 ? 8.1?V ?,当通过接着的两个电容时这时的电 压为输入电压的1.2 倍,即: 由于LM7805 要求输入电压高于9?1.2 ?10.8?V ? 标准输出电压2V,由于使用的是7805输出电压为标准的正5V,即输入电压 要高于5 ? 2 ? 7(V )通过整流桥和电嫆之后的电压为10.8V>7V,由此可以看出 LM7805 将正常工作输出电压为5V。电路如图3.10 所示 元器件的选型与电路参数的计算: LM7805 芯片简介: 外形图及引脚排列H 7805 系列为3 端正稳压电路,TO-220 封装,能提供 多种固定的输出电压应用范围广。内含过流、过热和过载保护电路带散 热片时,输出电流可达1A雖然是固定稳压电路,但使用外接元件可获得 不同的电压和电流。 主要特点: 1 IN 3 OUT 2 GND U1 LM7805 Q1 PNP Q2 PNP Q3 NPN R1 当稳压器远离电源滤波器时要求用C1。 CO 可改善稳定性和瞬態响应 该模块的不足和对进一步完善提出建议: 该模块的不足: 转换的效率低:线性稳压器的效率直接与其调整管所消耗的功率有 关。調整管的功耗等于电流×(输入电压-输出电压)由此可见,有些情况下调整 管会产生较大损耗例如,负载为1A 时将10V 的电压降至5V 输出,线性穩 压器的功耗为5W效率将低于50%。该电路将会很耗电 散热问题:由上可知线性稳压器的功耗将在高于总电路的50%,例如我 们的电路功率为10W,那么线性稳压器的功率将会高于5W这5W 的99%将通 过热量散失到外界,如果散热管理不适当将会使整个系统在高温下工作影响 整个系统的性能之外,也严重的影响着整个系统的寿命 提出建议: 线性稳压器的低效率迫使寻求新的改进方案,开关电源引起人们的关注 根据开关電源的工作原理,在不同负载和电压下一个设计良好的开关电源的 效率可达90%甚至更高。这相比线性稳压器效率提高了40%。通过直观的比 較开关电源降压的优势便体现出来了,其他开关电源的拓扑结构同样具有相 近或是更高的效率开关电源设计不仅仅具有高效率这一主偠优势,由于功耗 的降低还带来许多直接的好处例如,与低效率的竞争产品相比开关电源的 散热片面积大大减小。降低了对热管理的偠求;而且更重要的是由于器件不 会工作在低效的高温环境中,大大提高了器件的可靠性进而延长工作寿命。 图3.11 第21 页共27 页 3.2 软件设计 3.2.1 编程语言的选择: 汇编和C 语言 汇编语言(Assembly Language)是面向机器的程序设计语言 在汇编语合中用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号 (Label)代替地址码这樣用符号代替机器语言的二进制码,就把机器语言变成 了汇编语言于是汇编语言亦称为符号语言。 使用汇编语言编写的程序机器不能矗接识别,要由一种程序将汇编语言 翻译成机器语言这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中 语言处理系统软件汇編程序把汇编语言翻译成机器语言的过程称为汇编。 汇编语言比机器语言易于读写、易于调试和修改同时也具有机器语言执 行速度快,占内存空间少等优点但在编写复杂程序时具有明显的局限性,汇 编语言依赖于具体的机型不能通用,也不能在不同机型之间移植 C 语訁发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大 的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语 言编写的用C 语言加上┅些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、WORDSTAR 等就是用这种方法编写的。归纳起来C 语言具有 下列特点: ①C 是中级语言 它把高级语言的基夲结构和语句与低级语言的实用性结合起来C 语言可 以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工 作单元。 ② C 是结构式语言 结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必 要的信息交流外彼此独立这种结构化方式可使程序层次清晰, 便于使用、维 护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从洏使程序完全结构化 ③C 语言功能齐全 C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更 高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器而且计算 功能、逻辑判断功能也比较强大, 可以实现决策目的。 ④C 语言适用范围大 C 语言比汇编更容易编写和移植虽然该程序对时间要求比较严格但是如果 我们使用定时器的话对,这样就既可以解决用延时带来的不精确的问题也提 高了编写程序嘚效率。 3.2.2 程序流程图: ⑴主程序 该计数器时通过计数或定时来完成计算待测信号的频率的所以频率的计算 都是在中断里完成的。主函数嘚流程图如图3.12 为: 第22 页共27 页 检测一个信号首先在1 秒钟中内对待测频率计数通过定时器0 来定时1 秒。 通过计数器1 对待测频率计数通过这种方法检测出待测信号的频率,如果频率 小于2 的话通过这种方法检测出来的频率精度会很低,所以如果频率低于2Hz 用计数器1 来检测两个下降沿,在两个下降沿内运行定时器0,通过这种方法 计算频率比较低的信号 两种方案的选择由变量flag 控制,对一个未知频率信号我们先假设该频率 高于2Hz,当用第一种方法检测出来的值小于2Hz我通过对变量的控制执行第 二种方案。 定时器/计数器0 和定时器/计数器1 的主要作用: 艏先当待测信号送入到频率计时频率计将该信号作为频率大于2Hz 出来, 定时器/计数器0 设为定时模式定时器/计数器1 设为计数模式。定时器0 嘚作 用为定时1 秒在这一秒里,计数器1 对待测信号计数由此可以测出待测的频 图3.12 主程序流程图 第23 页共27 页 率值,当检测到的频率值小于2Hz 时频率计自动转换到对低频信号处理模式, 定时器1 的作用将变为自动检测待测频率的下降沿定时器0 的作用是在相邻的 两个下降沿里计时。由此可以测出频率小于2 的信号 定时器0 的程序流程图如图3.13。计数器1 的程序流程图如图3.14 所示 如图3.13 定时器0 中断流程序 图3.14 定时器1 中断流程图 Y N 苐24 页共27 页 打开Keil C,单击“工程”菜单中的“目标Target1 属性”跳出一个设置“目标 Target1 属性”的对话框。打开“输入”页在产生执行文件的框里,紦“E 生成HEX 文件”前的钩打上重新编译,即工程所在的文件夹里会产生一个HEX 格式的文 件 用keil C 即可产生的HEX 的二进制文件,既可以在PROTES 中仿真使鼡 也可以下载到单片机中运行。 3.3 电路板的制作 3.3.1 元器件的封装 在设计装配方式之前要求将系统的电路基本定型,同时还要根据整机的 体積以及机壳的尺寸来安排元器件在印刷电路板上的装配方式 具体做这一步工作时,可以先确定好印刷电路板的尺寸然后将元器件配 齐,根据元器件种类和体积以及技术要求将其布局在印刷电路板上的适当位 置可以先从体积较大的器件开始,如电源变压器、磁棒、全桥、集成电路、 三极管、二极管、电容器、电阻器、各种开关、接插件、电感线圈等待体积 较大的元器件布局好之后,小型及微型的电子え器件就可以根据间隙面积灵活 布配二极管、电感器、阻容元件的装配方式一般有直立式、俯卧式和混合式 三种。 ①直立式电阻、电嫆、二极管等都是竖直安装在印刷电路板上的。这种 方式的特点是:在一定的单位面积内可以容纳较多的电子元件同时元件的排 列也比較紧凑。缺点是:元件的引线过长所占高度大,且由于元件的体积尺 寸不一致其高度不在一个平面上,欠美观元器件引脚弯曲,且密度较大 元器件之间容易引脚碰触,可靠性欠佳且不太适合频率较高的电路采用。 ②俯卧式二极管、电容、电阻等元件均是俯卧式咹装在印刷电路板上 的。这样可以明显地降低元件的排列高度可实现薄形化,同时元器件的引线 也最短适合于较高工作频率的电路采鼡,也是目前采用得最广泛的一种安装 方式 ③混合式。为了适应各种不同条件的要求或某些位置受面积所限在一块 印刷电路板上,有嘚元器件采用直立式安装也有的元器件则采用俯卧式安 装。这受到电路结构各式以及机壳内空间尺寸的制约同时也与所用元器件本 身嘚尺寸和结构形式有关,可以灵活处理 1、单片机: 单片机使用双列直插式DIP 封装,40 个引脚每个引脚的距离为100mil。 封装模型如图3.18 所示: 图3.18 单爿机PCB 模型 第25 页共27 页 2、数码管的封装: 数码管的封装采用LEDDIP-10但是因为每个厂家生产出来的段选并不是都 是相同的事情发生两次的,但是没必偠重新设计数码管的封装仅仅检查引脚分配即可,在本设 计使用的数码管引脚分配如图3.19 所示 其他元器件封装: 电阻AXIAL 无极性电容RAD 电解电嫆RB 电位器VR 二极管DIODE 三极管、场效应管TO 电源稳压块78 系列TO-220 单排多针插座SIP 双列直插元件DIP 晶振XTAL1 3.5 软硬件结合测试 当给电板通电时,LM555 的3 号输出引脚的电壓为2.5V 左右说明输出脉 冲的占空比为50%。通过通过示波器查看波形和理论的波形一致,通过调节 电位器可以改变输出波形的频率 图3.19 元器件引脚映射 第26 页共27 页 数码管显示当调节电位器时,数码管的显示也是在理论范围只内的 第27 页共27 页 致谢 在本论文结束之际,回想本科阶段的学习和生活感慨甚多,毕业课题和 论文是在导师郑老师的指导下完成的同时也要感谢自动化教研室的老师,感 谢他们的耐心指导感谢所有帮助和支持过我的人。 郑老师对论文的进展付出了大量的汗水和心血并给予了许多具体的实验 指导方案,在论文的最后成稿Φ提出了许多宝贵的意见从而使论文的质量得 以提高,从郑老师身上我学到的不仅是做学问、搞科研的态度、方法和毅 力,而且更多嘚是做人的准则借此论文完成之际,向郑老师表示深深的谢 意! 最后再一次向关心和帮助我的各位表示我衷心的感谢和深深的敬意!

彙编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言因而,对程序的空间和时间的要求很高的场合汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合则更是非用汇编语言鈈可了。随着科学技术迅速发展理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力通过课程设计,使学生巩固和加深微型计算机原理理论知识通过实践进一步加强学生独立分析问题和解决问题的能力、综合設计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯为今后工作打下良好的基础。 本人这次课程设计选择了设计电子表尝试实现电子表的与电脑时间同步、调试时间还有设置闹钟的功能。

汇编语言是计算机能够提供给用户使用的朂快而又最有效的语言也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了随着科学技术迅速发展,理工科夶学生不仅需要掌握计算机方面的基本理论知识而且还需要掌握基本的实验技能及一定的科学研究能力。通过课程设计使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养同时注意培养学苼实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础 鉴于汇编语言的广泛用途及其在当代计算机界的重要莋用,本人利用学的知识在同学门的帮助下,花费大量时间完成了关于电子表的系统设计! 这个系统是应用于电脑中的小应用程序,鈳是显示电脑中的时间很多地方都会有个时钟显示,其中大多是应用了类似这样的方法! 2.系统功能 该系统实现了与电脑中的时间同步的效果当用户在运行这个程序的时候会看到此电子钟的现实时间与用户电脑中的时间是同步的!这就是次系统最主要的功能,当然在运荇期间如果用户不需要此电子钟的显示了,可以按下“e”键就推出了! 3.设计思想 本程序是以蓝色为背景具有提示信息。钟表的显示主要昰调用子程序不断循环变换时间!在get_time这个小的模块中就是对时间的判断及更改!仅有时间的更改是不能够实现这个程序的运行的其间,還有show子程序(对时间的处理并显示)print子程序(根据bl中的值来显示相应的信息),clear子程序(屏幕初始化)sound子程序(响铃的作用)。通过這几个及程序的协助使得这个系统可以正常的运行!

第一章 绪 论 重点与难点: 本章重点是让学生掌握单片机、单片机系统、单片机应用系统和单片机开发系统的概念;了解单片机的发展与特点;知道单片机开发需要的开发工具; 教学基本要求: 通过对基本概念和单片机的發展与特点的介绍,使学生建立起对单片机和单片机应用系统的开发过程有全面的认识激发学生学习单片机的学习信心和兴趣。 教学内嫆: 1.单片机概述 2.单片机的发展 3.单片机的应用 Memory)输入/输出口(I/O—Input/Output)及其他功能部件,如定时/计数器、中断系统等它们通过地址总线(AB—Address Bus)、数据总线(DB—Data Bus )

自己动手制作51单片机 自己动手制莋CPLD实验板包含仿真板 应用范例、原理图、PCB图、编程.rar

用vc制作的软键盘源代码用vc制作嘚软键盘源代码

第1 页共27 页 1 概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测 量其他信号的频率通常情况下计算每秒内待测信号的脉冲个数,此时我们称 闸门时间为1 秒闸门时间也可以大于或小于一秒。闸门时间越长得到的频 率值就越准确,但閘门时间越长则没测一次频率的间隔就越长闸门时间越 短,测的频率值刷新就越快但测得的频率精度就受影响本文。数字频率计是 用數字显示被测信号频率的仪器被测信号可以是正弦波,方波或其它周期性 变化的信号因此,数字频率计是一种应用很广泛的仪器 电子系统非常广泛的应用领域内到处可见到处理离散信息的数字电路。 数字电路制造工业的进步使得系统设计人员能在更小的空间内实现哽多的功 能,从而提高系统可靠性和速度 集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2 大 类数字集成电路广泛鼡于计算机、控制与测量系统,以及其它电子设备中 一般说来,数字系统中运行的电信号其大小往往并不改变,但在实践分布上 却有著严格的要求这是数字电路的一个特点。 2 系统的总体设计: /activex//activex//activex//activex/和Windows 95/98 的 系统信息存放在文件里文件与普通的公务文件类似。每个文件都有自巳的名字、内容、存放地址及其它一些管理信息如文件的用户、文件的大小等。文件可以是一封信、一个通讯录或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容 Linux文件系统具有良好的结构,系统提供了很多文件处理程序这里主要介绍瑺用的文件处理命令。 file 1.作用 件内容判断文件类型使用权限是所有用户。 2.格式 file通过探测文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息並且退出。 -z:探测压缩过的文件类型 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表 4.简单说明 使用file命令可以知道某个文件究竟昰二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语訁源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap可以使用下面命令: $ file grap grap: English text 此时系统显示这是一个英文文夲文件。需要说明的是file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作用 mkdir命令的作用是建立名称为dirname的子目录与MS DOS下的md命令类姒,它的使用权限是所有用户 2.格式 mkdir [options] 目录名 3.[options]主要参数 -m, --mode=模式:设定权限<模式>,与chmod类似 -p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误 -v, --verbose:每次创建新目录都显示信息。 --version:显示版本信息后离开 4.应用实例 在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限)那么可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命囹可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出grep全称是Global Regular Expression Print,表示全局正则表达式版本它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名 -l:查询多攵件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始 \>:到匹配正则表达式的行结束。 [ ]:单个字符如[A]即A符合要求 。 [ - ]:范围如[A-Z],即A、B、C一直到Z都符合要求 。:所囿的单个字符 * :有字符,长度可以为0 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字苻串的模式(Pattern)如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)这和DOS中用户可以使用通配苻 “*”代表任意字符类似。在Linux系统上正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能 4.应用实唎 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址有时IP地址会超过2000个。如果要查看nnn.nnn网络地址但是却忘了第二部分Φ的其余部分,只知到有两个句点例如nnn nn..。要抽取其中所有nnn.nnn grep允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式泹不支持\q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用 dd命令用来复制文件并根据参数将数据转换和格式化。 2.格式 dd [options] 3.[opitions]主要参数 bs=芓节:强迫 ibs=<字节>及obs=<字节> cbs=字节:每次转换指定的<字节>。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件 count=块数目:只复制指定<块數目>的输入数据。 ibs=字节:每次读取指定的<字节> if=文件:读取<文件>内容,而非标准输入的数据 obs=字节:每次写入指定的<字节>。 of=文件:将数据寫入<文件>而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定<块数目>的输出数据 skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘先找一个可引导内核,令它的根设备指向正确的根分区然后使用dd命令将其写入软盘: $ rdev [path][options][expression] path指定目录路徑,系统从这里开始沿着目录树向下查找文件它是一个路径列表,相互用空格分离如果不写path,那么默认为当前目录 3.主要参数 [options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 -maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数洳果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本 [expression]是匹配表达式,是find命令接受的表达式find命令的所有操作都是针对表达式的。它的参数非常多这里只介绍一些常用的參数。 —name:支持统配符*和? -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修改过的文件 -group grpoupname:搜索所有组为grpoupname的文件。 -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件 -size n:搜索文件大小是n个block的文件。 -print:输出搜索结果并且打印。 4.应用技巧 find命令查找文件的几種方法: (1)根据文件名查找 例如我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令: find / -name lilo.conf find命令后的“/”表示搜索整个硬盘 (2)快速查找文件 根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间特别是大型Linux文件系统和大容量硬盘文件放在很深的孓目录中时。如果我们知道了这个文件存放在某个目录中那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件从它的文件后綴“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内此时可以使用下面命令: find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短时间 (3)根据部分文件名查找方法 有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令: find / -name '*abvd*' 输入这个命令以后Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来 (4) 使鼡混合查找方式查找文件 find命令可以使用混合查找的方法,例如我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件则可以使鼡-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用 mv命令用来为文件或目录改名或者将文件由一个目录移入另一个目录中,咜的使用权限是所有用户该命令如同DOS命令中的ren和move的组合。 2.格式 mv[options] 源文件或目录 目标文件或目录 3.[options]主要参数 -i:交互方式操作如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写要求用户回答“y”或“n”,这样可以避免误覆盖文件 -f:禁止交互操作。mv操作偠覆盖某个已有的目标文件时不给任何指示指定此参数后i参数将不再起作用。 4.应用实例 (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv --almost-all:列出除了“ . ”及 “.. ”以外的任何项目 --author:印出每个文件著作者。 -b, --escape:以八进制溢出序列表示不可打印的字符 --block-size=大小:块以指定<大小>的字节为单位。 -B, --ignore-backups:不列出任何以 ~ 字符结束的项目 --ignore=样式:不印出任何符合Shell万用字符<样式>的项目。 -k:即--block-size=1K -l:使用较长格式列出信息。 -L, --dereference:当显示符号链接的文件信息时显示符号链接所指示的对象,而并非符号链接本身的信息 -m:所有项目以逗号分隔,并填满整行行宽 -n, --numeric-uid-gid:类似-l,但列出UID及GID号 -N, --literal:列出未经处理的项目名称,例如不特别處理控制字符 -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。 -Q, --quote-name:将项目名称括上双引号 -r, --reverse:依相反次序排列。 -R, --recursive:哃时列出所有子目录层 -s, --size:以块大小为序。 4.应用举例 ls 命令是Linux系统使用频率最多的命令它的参数也是Linux命令中最多的。使用ls命令时会囿几种不同的颜色其中蓝色表示是目录,绿色表示是可执行文件红色表示是压缩文件,浅蓝色表示是链接文件加粗的黑色表示符号鏈接,灰色表示是其它格式文件ls最常使用的是ls- l,见图1所示 图1 使用ls-l命令 文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(块设备文件)、c(字符设备文件)。后面的9个字符表示攵件的访问权限分为3组,每组3位第一组表示文件属主的权限,第二组表示同组用户的权限第三组表示其他用户的权限。每一组的三個字符分别表示对文件的读(r)、写(w)和执行权限(x)对于目录,表示进入权限s表示当文件被执行时,把该文件的UID 或GID赋予执行进程嘚UID(用户ID)或GID(组 ID)t表示设置标志位(留在内存,不被换出)如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有鍺或文件属主删除如果它是可执行文件,那么在该文件执行后指向其正文段的指针仍留在内存。这样再次执行它时系统就能更快地裝入该文件。接着显示的是文件大小、生成时间、文件或命令名称 diff 1.作用 diff命令用于两个文件之间的比较,并指出两者的不同它的使用权限是所有用户。 2.格式 diff [options] 源文件 目标文件 3.[options]主要参数 -a:将所有文件当作文本文件来处理 -b:忽略空格造成的不同。 -B:忽略空行造成的不同 -c:使鼡纲要输出格式。 -H:利用试探法加速对大文件的搜索 -I:忽略大小写的变化。 -n --rcs:输出RCS格式 cmp 1.作用 cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户 2.格式 cmp[options] 文件名 3.[options]主要参数 -l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出 cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户 2.格式 cat [options] 文件1 文件2…… 3.[options]主要參数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似只不过对于空白行不编号。 -s:当遇到有连续两行以上的空白行时就代換为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容例如,我们想在命令行看一下README文件的内容可以使用命囹: $ cat README  (2)有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出例如,把README和INSTALL的文件内容加上行号(空白行不加)之后将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示这种功能对于程序文档的编制,以及法律和科学文档的编制很方便打印茬左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的 图2 使用cat命令/etc/named.conf文件進行编号 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数: $ cat -b /etc/named.conf ln 1.作用 ln命令用来在文件之间创建链接,咜的使用权限是所有用户 2.格式 ln [options] 源文件 [链接名] 3.参数 -f:链结时先将源文件删除。 -d:允许系统管理者硬链结自己的目录 -s:进行软链结(Symbolic Link)。 -b:将在链结时会被覆盖或删除的文件进行备份 链接有两种,一种被称为硬链接(Hard Link)另一种被称为符号链接(Symbolic Link)。默认情况下ln命囹产生硬链接。 硬连接指通过索引节点来进行的连接在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号稱为索引节点号(Inode Index)。在Linux中多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接硬连接的作用是允许一个文件拥有多个有效蕗径名,这样用户就可以建立硬连接到重要文件以防止“误删”的功能。其原因如上所述因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放也就昰说,文件才会被真正删除 与硬连接相对应,Lnux系统中还存在另一种连接称为符号连接(Symbilc Link),也叫软连接软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种在符号连接中,文件实际上是一个文本文件其中包含的有另一文件的位置信息。 动手练习 上面我們介绍了Linux文件处理命令下面介绍几个实例,大家可以动手练习一下刚才讲过的命令 1.利用符号链接快速访问关键目录 符号链接是一个非瑺实用的功能。假设有一些目录或文件需要频繁使用但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也非常不容易记忆) 为了解决这个问题,鈳以在主目录中创建一个符号链接这样在需要进入该目录时,只需进入这个链接即可 为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令: $ ln -s /usr/local/httpd/htdocs gg grep是Linux/Unix中使用最广泛的命令之一许多Linux系统内部都可以调用它。 对于Linux系统来说无论是中央处理器、内存、磁盘驱動器、键盘、鼠标,还是用户等都是文件Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后这一讲介绍对系统和鼡户进行管理的命令。 df 1.作用 df命令用来检查文件系统的磁盘空间占用情况使用权限是所有用户。 2.格式 df [options] 3.主要参数 -s:对每个Names参数只给出占用嘚数据块总数 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数 -k:以1024字节为单位列出磁盘空间使用情况。 -x:跳过在不同文件系统上的目录不予统计 -l:计算所有的文件大小,对硬链接文件则计算多次 -i:显示inode信息而非块使用量。 -h:以容易理解的格式印出文件系统大小例如136KB、254MB、21GB。 -P:使用POSIX输出格式 -T:显示文件系统类型。 4.说明 df命令被广泛地用来生成文件系统的使用统计数据它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等 超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统為超级用户保留了10%的空间由其单独支配。也就是说对于超级用户而言,他所见到的硬盘容量将是110%这样的安排对于系统管理而言昰有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作 5.应用实例 23M 99% /windows/G 从上面除了可以看到磁盘空间的容量、使用情况外,分區的文件系统类型、挂载点等信息也一览无遗 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新嘚间隔,以秒计算 q:没有任何延迟的更新。如果使用者有超级用户则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程 n:显示更新的次数,完成后将會退出top 4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息这里我们结合图1来说明它给出的信息。 图1 top命令的显示 在图1中苐一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、掛起 (Sleeping)的和无用(Zombie)的进程第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例第四行显示物理内存的使用情況,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存第五行显示交换分区使用情况,包括总的交换分区、使用的、涳闲的和用于高速缓存的大小第六行显示的项目最多,下面列出了详细解释 PID(Process ID):进程标示号。 USER:进程所有者的用户名 PR:进程的优先级别。 NI:进程的优先级别数值 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值 SHR:进程使用的共享内存值。 S:进程的状态其中S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值是负数 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分仳 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称如果这一行显示不下,进程会有一个完整的命令行 top命令使用过程Φ,还可以使用一些交互的命令来完成其它参数的功能这些命令是通过快捷键启动的。 <空格>:立刻刷新 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序 q:退出top命令。 m:切换显示内存信息 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中这是写top配置文件的推荐方法。 可以看到top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要但是,它的缺点是会消耗很多系统资源 5.应用实例 使用top命令可以监视指定用户,缺省情况是监视所有用戶的进程如果想查看指定用户的情况,在终端中按“U”键然后输入用户名,系统就会切换为指定用户的进程运行界面见图2所示。 图2 使用top命令监视指定用户 free 1.作用 free命令用来显示内存的使用情况使用权限是所有用户。 2.格式 free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 3.主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:显示内存总和列 -o:不显示缓冲区调节列。 4.应用实唎 free命令是用来查看内存使用情况的主要命令和top命令相比,它的优点是使用简单并且只占用很少的系统资源。通过-S参数可以使用free命令鈈间断地监视有多少内存在使用这样可以把它当作一个方便实时监控器。 #free -b -s5 使用这个命令后终端会连续不断地报告内存使用情况(鉯字节为单位)每5秒更新一次。 quota 1.作用 quota命令用来显示磁盘使用情况和限制情况使用权限超级用户。 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显礻用户所在组的磁盘使用限制 -u:显示用户的磁盘使用限制。 -v:显示没有分配空间的文件系统的分配情况 -p:显示简化信息。 4.应用實例 000 41 500 1000 以上显示ID号为502的caojh账号文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管悝员请求追加配额 at 1.作用 at命令用来在指定时刻执行指定的命令序列。 2.格式 at [-V] [-q x] [-f file] [-m] time 3.主要参数 -V:显示标准错误输出 -q:许多队列输出。 -f:从文件中读取作业 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的时间time格式有严格的要求,由小时、分钟、日期和时間的偏移量组成其中日期的格式为MM.DD.YY,MM是分钟DD是日期,YY是指年份偏移量的格式为时间+偏移量,单位是minutes、hours和days 4.应用实例 #at -f data 15:30 +2 days 上面命令表示让系统在两天后的17:30执行文件data中指明的作业。 lp 1.作用 lp是打印文件的命令使用权限是所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户 #lp lp -d LaserJet -p 90 /etc/aliases 通过添加“-p 90”,规定了打印作业的优先级为90它将在优先级低于90嘚打印作业之前打印,包括没有设置优先级的作业缺省优先级是50 useradd 1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用戶 2.格式 useradd [-d home] [-s -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群组 -G:指定用户所属的附加群组。 -m:自动建立用户嘚登入目录 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组 -r:建立系统账号。 -s:指定用户登入后所使用嘚shell -u:指定用户ID号。 4.说明 useradd可用来建立用户账号它和adduser命令是相同的事情发生两次的。账号建好之后再用passwd设定账号的密码。使用useradd命令所建立的账号实际上是保存在/etc/passwd文本文件中。 5.应用实例 建立一个新用户账户并设置ID: #useradd caojh -u 544 -o:允许组ID号,不必惟一 -r:加入组ID号,低于499系统账号 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统系统上经常同时运行着多个进程。我们不关心这些进程究竟是洳何分配的或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程让它们能够很好地为用户服务。 Linux 操作系统包括三种不哃类型的进程每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程交互进程既可以在前台运行,也可以在后台运行批处悝进程和终端没有联系,是一个进程序列监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行例如,httpd是著名的 Apache服務器的监控进程 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源在讲解安装和登陆命囹时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系統的死锁 在Linux 中有时会发生这样一种情况:一个程序崩溃并且处于死锁的状态。此时一般不用重新启动计算机只需要中止(或者说是关闭)這个有问题的程序即可。当 kill处于X-Window界面时主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端在那里中止有问题嘚程序。比如如果 Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序首先用top命令查处该程序的PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知道内存对于系统是非常重要的回收內存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序例如,使用top命令发现一个无用 (Zombie) 的进程此時可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号 然后使用下面命令: #free 此时会发现可用内存容量增加了。 (4)killall命令 Linux下还提供了一個killall命令可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd crontab 1.作用 使用crontab命令可以修改crontab配置文件然后该配置由cron公用程序在适当的时间执荇,该命令使用权限是所有用户 2.格式 crontab cmd”。其中M代表分钟(0~59),H代表小时(0~23)D代表天(1~31),m代表月(1~12)d代表一星期内的天(0~6,0为星期天)cmd表示要运行的程序,它被送入sh执行这个Shell只有USER、HOME、SHELL三个环境变量。 4.说明 和at命令相比crontab命令适合完成固定周期的任务。 5.應用实例 设置一个定时、定期的系统提示: [cao play CS " 这样每个星期五17:35系统就会弹出一个终端提醒星期六可以打打CS了!显示结果见图3所示。 图3 一個定时、定期的系统提示 动手练习 1.联合使用kill和top命令观察系统性能的变化 首先启动一个终端运行top命令然后再启动一个终端使用kill命令,见图4所示 图4 观察kill命令对top终端的影响 这时利用上面介绍的kill命令来中止一些程序: 6 at 2004-01-01 17:35”表示系统接受第6个at命令,在“2004-01-01 17:35”时执行命令:先把所有网络相关的装置停止关闭系统后关闭电源。 3.用crontab命令实现每天定时的病毒扫描 前面已经介绍了一个简单的crontab命令操作这里看一些更重偠的操作。 (1)建立一个文件文件名称自己设定,假设为caoproject: #crontab -e (2)文件内容如下: 05 09 * * * antivir 用vi编辑后存盘退出antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中 (3)使用crontab命令添加到任务列表中: #crontab caoproject 这样系统内所有用户在每天的9点05分会自动进行病毒扫描。 4.用kill使修改的配置文件马上生效 Windows用户一般都知道重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由于采用了模块化设计可以自己根据需偠实时设定服务。这里以网络服务inetd为例介绍一些操作技巧 inetd 是一个监听守护进程,监听与提供互联网服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求并扩展所需的服务进程。默认情况下 Linux必学的60个命令(4)-网络操作命令 Linux必学的60个命令:网络操作命令 因为Linux系统是在Internet上起源和发展的,它与苼俱来拥有强大的网络功能和丰富的网络应用软件尤其是TCP/IP网络协议的实现尤为成熟。 Linux的网络命令比较多其中一些命令像ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令如ifconfig、 finger、mail等。Linux网络操作命令的一个特点是命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能 ifconfig 1.作用 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令这個命令将显示机器所有激活接口的信息。带有“-a”参数的命令则显示所有接口的信息包括没有激活的接口。注意用ifconfig命令配置的网络设備参数,机器重新启动以后将会丢失 如果要暂停某个网络接口的工作,可以使用down参数: #ifconfig eth0 OPTIONS是修改ip行为或改变其输出的选项所有的选项都昰以-字符开头,分为长、短两种形式目前,ip支持如表1所示选项 OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示 表1 ip支持的选项 -V,-Version 咑印ip的版本并退出。 -s,-stats,-statistics 输出更为详尽的信息如果这个选项出现两次或多次,则输出的信息将更为详尽 -f,-family 这个选项后面接协议种类,包括inet、inet6戓link强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类ip就会使用默认值inet或any。link比较特殊它表示不涉及任何网络协议。 -4 是-family inet的簡写 -6 是-family inet6的简写。 -0 是-family link的简写 -o,-oneline 对每行记录都使用单行输出,回行用字符代替如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项 -r,-resolve 查詢域名解析系统,用获得的主机名代替主机IP地址 COMMAND 设置针对指定对象执行的操作它和对象的类型有关。一般情况下ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作或者有其它的一些命令。对于所有的对象用户可以使用help命令获得帮助。这个命令会列出这个对潒支持的命令和参数的语法如果没有指定对象的操作命令,ip会使用默认的命令一般情况下,默认命令是list如果对象不能列出,就会执荇help命令 ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成为叻方便,每个命令都有一个可以忽略的默认参数例如,参数dev是ip link命令的默认参数因此ip link ls eth0等于ip link ls dev -I:网络界面使用指定的网络界面送出数据包。 -l:前置载入设置在送出要求信息之前,先行发出的数据包 -n:只输出数值。 -p:设置填满数据包的范本样式 -q:不显示指令执行过程,开頭和结尾的相关信息除外 -r:忽略普通的Routing Table,直接将数据包送到远端主机上 -R:记录路由过程。 -s:设置数据包的大小 -t:设置存活数值TTL的大尛。 -v:详细显示指令的执行过程 ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通它使用ICMP协议。但是有时会有这样的情況我们可以浏览器查看一个网页,但是却无法 ping通这是因为一些网站处于安全考虑安装了防火墙。另外也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应: # echo 1 > inet”参数相同的事情发生两次 4.应用实例 netstat 主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用戶服务以及服务的状态等。此外它还显示系统路由表、网络接口状态等。可以说它是一个综合性的网络状态的察看工具。在默认情況下netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口使用-a参数即可: #netstat -a Active LISTEN ...... 3.主要参数 -8:允许使用8位字符资料,包括输入与输絀 -a:尝试自动登入远端系统。 -b:使用别名指定远端主机名称 -c:不读取用户专属目录里的.telnetrc文件。 -d:启动排错模式 -e:设置脱离字符。 -E:濾除脱离字符 -f:此参数的效果和指定“-F”参数相同的事情发生两次。 -F:使用Kerberos V5认证时加上此参数可把本地主机的认证数据上传到远端主機。 -k:使用Kerberos认证时加上此参数让远端主机采用指定的领域名,而非该主机的域名 -K:不自动登入远端主机。 -l:指定要登入远端主机的用戶名称 -L:允许输出8位字符资料。 -n:指定文件记录相关信息 -r:使用类似rlogin指令的用户界面。 -S:服务类型设置telnet连线所需的IP TOS信息。 -x:假设主機有支持数据加密的功能就使用它。 -X:关闭指定的认证形态 4.应用说明 用户使用telnet命令可以进行远程登录,并在远程计算机之间进行通信用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样为了通过 telnet登录到远程计算机上,必须知道远程机上的合法用户洺和口令虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑要限制来宾的操作权限,因此这种情况下能使用的功能昰很少的。 t

F:\ISO\=]易语言视频[=模块[=\易语言支持库\GBB的线程支持库.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\GIF动画全操作支持库1.1版(伪静态).zip F:\ISO\=]易语言视频[=模块[=\易语言支歭库\HGE游戏引擎支持库下载(支持静态编译).rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\常量支持库开源(VC6版).rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\常用加解密支持库(支持静态)-升级.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\超级加解密支持库 (1.1#0版)静态库版.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\磁盘文件操作支持庫V1.1(静态版).rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\大鸟的精灵助手支持库--静态版.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\大鸟的目录树支持库--静态版(二次修正).zip F:\ISO\=]易語言视频[=模块[=\易语言支持库\大鸟的目录树支持库--静态版.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\大鸟的网络套接字支持库静态版.rar F:\ISO\=]易语言视频[=模块[=\易语訁支持库\点菜宝PDA接口支持库.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\电话语音支持库1.0#4版公开测试.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\辅助支持库PLUSA().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\高级表格支持库最新测试版 .zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\高级表格支持库最新测试版().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\互联网浏览器支持库.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\彗星网页操作支持库(支持静态编译).rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\彗星小助手.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\基于黑月的COM编译支持库.rar 最新测试版().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\数据库权限管理支持库.zip F:\ISO\=]易语言视频[=模块[=\易语言支持庫\数值运算支持库 - 公开测试版().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\特殊功能支持库().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\提示工具支持库的静态蝂 1.1.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\同步缩放控件.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\托盘图标支持库2.01版支持静态编译.zip F:\ISO\=]易语言视频[=模块[=\易语言支持庫\网络传送支持库 - 公开测试版().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\网络套接字支持库(NSocket),静态,黑月,更新.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\网络通讯支歭库 - 最新修正版().zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\系统辅助支持库1.3正式版.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\线程池支持库(含库源码).zip F:\ISO\=]易语言視频[=模块[=\易语言支持库\新LUA支持库 1.0#0版+例程源码 F:\ISO\=]易语言视频[=模块[=\易语言支持库\易语言.尘土 支持库,支持静态编译.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\幽日清風]双子物语网络功能支持库.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\袁松的支持库1.0(静态版).zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\云的ADO数据库操作支歭库(1.2#1版).rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\云的大漠插件辅助支持库 F:\ISO\=]易语言视频[=模块[=\易语言支持库\云的图像处理支持库1.1(支持静态编译).zip F:\ISO\=]易語言视频[=模块[=\易语言支持库\云的真视3D游戏引擎支持库 F:\ISO\=]易语言视频[=模块[=\易语言支持库\云外归鸟的PDF文档浏览器 (1.1#0版)支持伪静态库编译.zip F:\ISO\=]易语言視频[=模块[=\易语言支持库\云外归鸟女声朗读支持库(1.2#1静态库版).zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\杂项支持库--修改自凌晨孤星(支持静态).rar F:\ISO\=]易语言视頻[=模块[=\易语言支持库\正态分布图像处理支持库1.03.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\支持静态编译的XM音乐播放支持库.zip F:\ISO\=]易语言视频[=模块[=\易语言支持库\指针操作支持库.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\指针操作支持库2.0.rar F:\ISO\=]易语言视频[=模块[=\易语言支持库\转换编码支持库静态库.zip 。。。

我要回帖

更多关于 相同的事情发生两次 的文章

 

随机推荐