Keil C51使用详解Keil C51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。第二节 Keil C51 单片机软件开发系统的整体结构C51 工具包的整体结构,如图(1)所示,其中uVision 与Ishell 分别是C51 forWindows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由OH51 转换成标准的Hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。图(1) C51 工具包整体结构图第三节 Keil C51 工具包的安装81. C51 for Dos在 Windows 下直接运行软件包中DOS\C51DOS.exe 然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:\C51 为安装目录):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后运行Autoexec.bat2. C51 for Windows 的安装及注意事项:在 Windows 下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:\C51 目录下)。然后将软件包中crack 目录中的文件拷入C:\C51\Bin 目录下。第四节 Keil C51 工具包各部分功能及使用简介1. C51 与A51(1) C51C51 是C 语言编译器,其使用方法为:C51 sourcefile[编译控制指令]或者 C51 @ commandfile其中 sourcefile 为C 源文件(.C)。大量的编译控制指令完成C51 编译器的全部功能。包控C51 输出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。而 Commandfile 为一个连接控制文件其内容包括:.C 源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。(2) A51A51 是汇编语言编译器,使用方法为:9A51 sourcefile[编译控制指令]或 A51 @ commandfile其中sourcefile 为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。Commandfile 同C51 中的Commandfile 类似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 软件包提供的连接/定位器,其功能是将编译生成的OBJ 文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为:L51 目标文件列表[库文件列表] [to outputfile] [连接控制指令]或 L51 @Commandfile源程序的多个模块分别经 C51 与A51 编译后生成多个OBJ 文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。outputfile 为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile 为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1 个,因而第2 种方法较多见,这个文件名字也可由使用者随意指定。(2) Bl51BL51 也是C51 软件包的连接/定位器,其具有L51 的所有功能,此外它还具有以下3 点特别之处:a. 可以连接定位大于64kBytes 的程序。b. 具有代码域及域切换功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系统RTX51 是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS 发展是一种趋势,这种趋势对于186 和38610及68K 系列CPU 更为明显和必须,对8051 因CPU 较为简单,程序结构等都不太复杂,RTX51 作用显得不太突出,其专业版软件PK51 软件包甚至不包括RTX51Full,而只有一个RTX51TINY 版本的RTOS。RTX51 TINY 适用于无外部RAM 的单片机系统,因而可用面很窄,在本文中不作介绍。Bank switching 技术因使用很少也不作介绍。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一个源级调试器和模拟器,它可以调试由C51 编译器、A51 汇编器、PL/M-51 编译器及ASM-51 汇编器产生的程序。它不需目标板(for windows 也可通过mon51 接目标板),只能进行软件模拟,但其功能强大,可模拟CPU 及其外围器件,如内部串口,外部I/O 及定时器等,能对嵌入式软件功能进行有效测试。
上传时间: 2013-11-01
上传用户:zhouxuepeng1
一、实验目的1.掌握定时/计数器、输入/输出接口电路设计方法。 2.掌握中断控制编程技术的方法和应用。3.掌握8086汇编语言程序设计方法。 二、实验内容与要求 微机灯光控制系统主要用于娱乐场所的彩灯控制。系统的彩灯共有12组,在实验时用12个发光二极管模拟。1. 基本要求:灯光控制共有8种模式,如12个灯依次点亮;12个灯同时闪烁等八种。系统可以通过键盘和显示屏的人机对话,将8种模式进行任意个数、任意次序的连接组合。系统不断重复执行输入的模式组合,直至键盘有任意一个键按下,退出灯光控制系统,返回DOS系统。2. 提高要求:音乐彩灯控制系统,根据音乐的变化控制彩灯的变化,主要有以下几种:第一种为音乐节奏控制彩灯,按音乐的节拍变换彩灯花样。第二种音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大,且被点亮的数目增多。第三种按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点亮;高音时,另一部分点亮。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理我们以背景霓虹灯的一种显示效果为例,介绍控制霓虹灯显示的基本原理。设有一排 n 段水平排列的霓虹灯,某种显示方式为从左到右每0.2 秒逐个点亮。其控制过程如下: 若以“ 1 ”代表霓虹灯点亮,以“ 0 ”代表霓虹灯熄灭,则开始时刻, n 段霓虹灯的控制信号均为“ 0 ”,随后,控制器将一帧 n 个数据送至 n 段霓虹灯的控制端,其中,最左边的一段霓虹灯对应的控制数据为“ 1 ”,其余的数据均为零,即 1000 … 000 。当 n 个数据送完以后,控制器停止送数,保留这种状态(定时) 0.2 秒,此时,第 1 段霓虹灯被点亮,其余霓虹灯熄灭。随后,控制器又在极短的时间内将数据 1100 … 000 送至霓虹灯的控制端,并定时 0.2 秒,这段时间,前两段霓虹灯被点亮。由于送数据的过程很快,我们观测到的效果是第一段霓虹灯被点亮 0.2 秒后,第 2 段霓虹灯接着被点亮,即每隔 0.2 秒显示一帧图样。如此下去,最后控制器将数据 1111 … 111 送至 n 段霓虹灯的控制端,则 n 段霓虹灯被全部点亮。 只要改变送至每段霓虹灯的数据,即可改变霓虹灯的显示方式,显然,我们可以通过合理地组合数据(编程)来得到霓虹灯的不同显示方式。 五、总体方案论证分析系统设计思路如下:1) 采集8位开关输入信号,若输入数据为0时,将其修改为1。确定输入的硬件接口电路。采样输入开关量,并存入NUM的软件程序段。2) 以12个灯依次点亮为例(即灯光控制模式M1),考虑与其相应的灯光显示代码数据。确定显示代码数据输出的接口电路。输出一个同期显示代码的软件程序段(暂不考虑时隙的延时要求)。3) 应用定时中断服务和NUM数据,实现t=N×50ms的方法。4) 实现某一种模式灯光显示控制中12个时隙一个周期,共重复四次的控制方法。要求在初始化时采样开关输入数据NUM,并以此控制每一时隙的延时时间;在每一时隙结束时,检查有无键按下,若是退出键按下,则结束灯光控制,返回DOS系统,若是其他键就返回主菜单,重新输入控制模式数据。5) 通过人机对话,输入8种灯光显示控制模式的任意个数、任意次序连接组合的控制模式数据串(以ENTER键结尾)。对输入的数据进行检查,若数据都在1 - 8之间,则存入INBUF;若有错误,则通过屏幕显示输入错误,准备重新输入灯光显示控制模式数据。6) 依次读取INBUF中的控制模式数据进行不同模式的灯光显示控制,在没有任意键按下的情况下,系统从第一个控制模式数据开始,顺序工作到最后一个控制模式数据后,又返回到第一个控制模式数据,不断重复循环进行灯光显示控制。7) 本系统的软件在总体上有两部份,即主程序(MAIN)和实时中断服务程序(INTT)。讨论以功能明确、相互界面分割清晰的软件程序模块化设计方法。即确定有关功能模块,并画出以功能模块表示的主程序(MAIN)流程框图和定时中断服务程序的流程框图。 六、硬件电路设计 以微机实验平台和PC机资源为硬件设计的基础,不需要外加电路。主要利用了以下的资源:1.8255并行口电路8255并行口电路主要负责数据的输入与输出,可以输出数据控制发光二极管的亮灭和读取乒乓开关的数据。实验时可以将8255的A口、B口和一组发光二极管相连,C口和乒乓开关相连。2.8253定时/计数器8253定时/计数器和8259中断控制器一起实现时隙定时。本设计的定时就是采用的t=N×50ms的方法,50ms由8253定时/计数器的计数器0控制定时,N是在中断服务程序中软件计时。8253的OUT0接到IRQ2,产生中断请求信号。8253定时/计数器定时结束会发出中断信号,进入中断服务程序。3.PC机资源本设计除了利用PC机作为控制器之外,还利用了PC机的键盘和显示器。键盘主要是输入控制模式数据,显示器就是显示提示信息。 七、软件设计 软件主要分为主程序(MAIN)和中断服务程序(INTT),主程序包含系统初始化、读取乒乓开关、读取控制模式数据以及按键处理等模块。中断服务程序主要是定时时间到后根据控制模式数据点亮相应的发光二极管。1.主程序主程序的程序流程图如图1所示。
上传时间: 2014-04-05
上传用户:q986086481
附件有二个文当,都是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
加密算法 Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives: - To generate an RSA key cryptest g - To encrypt and decrypt a string using RSA cryptest r - To calculate MD5, SHS, and RIPEMD-160 message digests: cryptest m file - To encrypt and decrypt a string using DES-EDE in CBC mode: cryptest t - To encrypt or decrypt a file cryptest e|d input output - To share a file into shadows: cryptest s <pieces> <pieces-needed> file (make sure file has no extension, if you re running this under DOS) - To reconstruct a file from shadows: cryptest j output file1 file2 [....] - To gzip a file: cryptest z <compression-level> input output - To gunzip a file: cryptest u input output - To run validation tests: cryptest v - To run benchmarks: cryptest b [time for each benchmark in seconds]
标签: Cryptographic Primitives generate Library
上传时间: 2015-07-16
上传用户:wqxstar
一般情况下,我们都是在MATLAB命令行或DOS命令行下编译MEX程序。 所用的命令就是:mex filename.c 这有很多不方便的地方: a. 虽然mex也可以编译C++的mex程序,但是它的主框架仍是C的 a. 当程序有多个模块时,需要多次使用mex命令,操作很麻烦 b. 不能利用VC特有的ClassWizard自动创建和维护类 c. 不能用MFC类库编写应用程序 d. 不能方便地进行类似VC的项目管理 本文详细解说如何在IDE中编译MEX程序
标签:
上传时间: 2016-01-05
上传用户:shizhanincc
设计要求: (1). 在 1-- 8楼之间一次可输入多个任意楼层号连续控制电梯按指定楼层号顺序上升与下降.以上过程完成后可重新输入任意楼层号连续控制电梯按指定楼层号顺序上升与下降.只有按ESC键才退出程序返回DOS状态。例如 : 1-3-5-7-6-4-2-1 (可观察教十楼电梯的实际运行情况). (2). 在 1 -- 7 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. (上箭头的ASCII码19H , 下箭头的ASCII码1AH . ) (3). 在电梯上升与下降过程中,要显示出 1--7 楼之间所要到达的楼层数,同时还要用箭头显示电梯是上升状态还是下降状态. (4). 电梯运行到指定楼层后,打开电梯门,然后关门继续运行. (5). 电梯运行时, 在任意时刻遇到紧急情况时应能实时中断电梯运行.也可以在任意时刻恢复电梯运行.(按A/a 键模拟中断发生,电梯停止运行.按B/b 键恢复电梯运行) (6). 在计算机屏幕上将电梯的平面模型改成三维立体模型. (7). 在电梯旁画一个小方块.这个小方块随电梯上升而上升,下降而下降.以增加电梯运行时的动感.
上传时间: 2017-02-07
上传用户:天诚24
编译源文件生成可执行文件TestLibjpeg.exe, 此程序可以转换bmp位图为jpg格式,或解压缩 jpg格式图像为bmp格式。 将需转换的bmp格式图片存到和TestLibjpeg.exe 相同的文件夹下,在DOS界面下使用命令行参数 bmp到jpeg的转换使用:TestLibjpeg.exe j 原图片名.bmp 目标图片名.jpg jpeg到bmp的转换使用:TestLibjpeg.exe b 原图片名.jpg 目标图片名.bmp
标签: TestLibjpeg exe 编译 可执行文件
上传时间: 2014-02-07
上传用户:chenjjer
无线电CW通联 基本Q短语,通联实例 A: CQCQCQ DE BA4ALC/5 BA4ALC/5 BA4ALC/5 PSE K B:BA4ALC/5 DE BD4IZL BD4IZL K A:BD4IZL DE BA4ALC/5 GM TNX FER CALL DR OM UR RST 559 55N K B:RR BA4ALC/5 DE BD4IZL GM DR OM TNX 55N RPRT UR 599 5NN FB MY NAME IS YU YU QTH JINAN JINAN BA4ALC/5 DE BD4IZL K A: DR YU OM TNX FB RPRT OP JACK JACK QTH NINGBO NINGBO WX HR IS FINE ES WARM TEMP 20C 20C HW? DE BA4ALC/5 K B:R DR JACK OM WX CLOUDY CLOUDY ES TEMP 15C 15C BT RIG FT80C FT80C ANT DIPOLE DP PWR 100WATTS 1TTW BA4ALC/5 DE BD4IZL K A: BD4IZL DE BA4ALC/5 MY RIG IS IC746PRO IC746PRO ES PWR 100W 1OOW BT ANT 2 ELE YAGI 2ELE YAGI 12MH TNX FER NICE QSO QSL VIA BURO HPE CUAGN BD4IZL DE BA4ALC/5 73 73 GL ES GB TU TU SK.. B:TNX FB CW QSO QSL QRZ.COM CUAGN BA4ALC/5 DE BD4IZL 73 DR JACK TU SK.. A:. B:.
上传时间: 2019-03-05
上传用户:shuyinglee
VIP专区-PCB源码精选合集系列(9)资源包含以下内容:1. Altium.Designer winter 09技巧.2. 3C认证中的PCB设计.3. Altium+Designer+原理图和PCB多通道设计方法介绍.4. 电路原理图与PCB设计基础.5. PADS教程完全版.6. 走线宽度电流关系对照表.7. 印制电路板(PCB)设计与制作(第2版).8. PCB布线的直角走线、差分走线和蛇形线基础理论.9. altium designer Protel DOS Schematic Libraries.10. PCB设计制造常见问题.11. AD10以上版本的PCB Logo Creator.12. pcb布线之超级攻略.13. 表面贴片技术指南_值得学习研究.14. Altium_Designer_winter_09电路设计案例教程-Altium概述.15. PCB抄板之Protel 99SE铺铜问题总结.16. PCB焊盘设计标准.17. 办公设备多纸张检测电路PCB源文件.18. Ultiboard7应用举例.19. PCB布线后检查有错误的处理方法.20. 资深工程师PCB设计经验总结.21. ultiboard PCB development.22. PCB概述与布线技巧.23. Pads_layout中的一些操作问题.24. 多层PCB设计经验.25. PCB设计基础教程.26. protel制版应注意的问题.27. 飞思卡尔的PCB布局布线应用笔记,很值得学习的.28. 射频电路PCB设计.29. Protel99se常见网络表装入错误.30. Cadence16.2完全学习手册.31. PCB线宽过孔与电流关系.32. 【PPT】Workflows印刷工作流程.33. Cadence.OrCad.v16.3-安装破解.34. Pspice简明教程.35. 【PPT】Board(印刷电路板)的缩写.36. Cadence_Allegro教程.37. 华硕内部的PCB设计规范.38. 【PPT】数码短板印刷方案介绍(清华紫光).39. Cadence_SPB16.2入门教程——焊盘制作.40. PCB基本走线规则.
上传时间: 2013-04-15
上传用户:eeworm
VIP专区-嵌入式/单片机编程源码精选合集系列(3)资源包含以下内容:1. 周立功dp1581usb2.0实验仪.2. 周立功dp1581usb2.0实验仪.3. HT1380驱动程序.4. T6963控制器的液晶驱动程序.5. 建立在组态环境TRACEMODE基础下.6. GA仿真软件的说明书.7. lcd1602驱动 iic驱动 spi驱动 ir驱动.8. lcd1602驱动.9. iic驱动源程序.10. ir发射子程序源码.11. ir驱动源码cyuyan.12. spi源程序c语言的.13. 费很多力才找到的PIC C18编译器.14. 文件系统管理 在内存中为文件开辟存储空间 可以创建文件和文件夹 (至少有两级目录 :模拟DOS文件系统的操作 可以存储文件的内容 可以查看删除和修改文件(15 2.15. 十字路口交通灯管理 现对交通信号灯进行管理.16. 本设计的基本要求是以复杂可编程逻辑器件CPLD为基础.17. 通过对计算机的组织与结构的分析.18. 家电控制器代码.19. AM29lv160的编程代码.20. eeprom连续页写模式.21. sle4442 I2C 逻辑加密卡驱动程序.22. 怎样在CodeVision中使用结构型数组的用法实例1.23. AVR下载电路图.24. PING实现嵌入式原程序.25. TCP实现嵌入式原程序.26. UDP实现嵌入式原程序.27. TELNET实现嵌入式原程序.28. WEBSERVER实现嵌入式原程序.29. 用SAM72N9写的电子秤文档.30. ZLG USB 套件.31. ZLG USB 套件.32. ZLG USB 套件.33. rtlinux-3.1源代码.34. rtai-3.1-test3的源代码(Real-Time Application Interface ).35. 可重用的GDB Stub源代码,支持多种嵌入式平台和体系结构..36. 用C语言实现PIC的LCD显示.37. 红外编程.38. IO口模拟串口通讯C源程序.39. I/O board control program for U.C.W./Sirael Dana robot..40. PCI接口的Verilog源代码.
上传时间: 2013-07-16
上传用户:eeworm