实验及课程设计指导书2011版.doc
《实验及课程设计指导书2011版.doc》由会员分享,可在线阅读,更多相关《实验及课程设计指导书2011版.doc(37页珍藏版)》请在咨信网上搜索。
实验及课程设计指导书2011版 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 单片机原理及应用 实验及课程设计 指导书 华东交通大学电气与电子工程学院 二0一一年八月 前 言 单片机的高可靠性、超小型、低价格、容易产品化等特点,使得其在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,得到了十分广泛的应用。《单片机原理及应用》课程成为众多工科专业的一门重要的学科基础课。为配合《单片机原理及应用》课程的教学,编写了本实验和课程设计指导书。 作为高校教学的主力单片机MCS—51尽管仍在发挥巨大的作用,但教学方法和实验手段已发生了一些重要的变化.一个是大量采用C语言进行教学,强调单片机学习的高效性,通用性和实用性。二是大量采用仿真软件,对单片机的整个开发过程进行前期的仿真设计,在仿真中发现和解决大量可能在产品实际开发中可能出现的问题。强调硬件与软件的统一,降低开发成本。这其中以英国了Labcenter公司推出的PROTEUS的软件功能最为强大,在全世界都得到了广泛的应用。目前,国内的很多高校的单片机教学也大量采用PROTEUS软件,这已经成为单片机教学改革的一个很重要的方面. 本实验指导书正是顺应这一教学改革的潮流,充分利用单片机软硬件仿真软件Keil C和PROTEUS,针对教学中的难点和重点,设计了一系列的实验,使得学生既可以在实验室里也可以在安装了相关软件的自有计算机上完成这些实验,这就增加了学生学习的兴趣和主动性。 除此而外,本实验指导书还设计了利用单片机开发板对单片机实验系统进行实时调试的实验,使学生的开发能力得到全面锻炼。 最后,在为期一至两周的课程设计时间里,利用这些开发工具完成一个完整的单片机系统的设计与调试,使学生的单片机实际应用能力得到一个有效的提高. 本实验及课程设计指导书由电气学院单片机教研组徐春辉、陈忠斌、李宋、陈鹏展、曹晖等老师编写。由于时间仓促,加上编者学识有限,如有不妥之处,欢迎读者批评指正。 编 者 2011年8月 目 录 前言-—-——--—-——---—-----—--———--——-—-———-—-—-————(1) 第1章 实验指导书——————---————-—-—--—--—--—-——-—--—(3) 1。1 实验1 汇编语言简单试验--—Keil C51的使用-————-——-——-----(3) 1.2 实验2 汇编语言实验——-—二进制到BCD转换-—————---—————----(6) 1。3 实验3 I/O口实验—--流水灯--—-—-—-—--—-—---———-———-(8) 1.4 实验4 数码管显示实验-——---—-———————-——--—--————(13) 1.5 实验5 矩阵键盘实验——---——-—-——-—---—---—---——-—-(16) 第2章 课程设计指导书-—————--———————--—----—-—---—(20) 附录A--———--—-—-——--—----—-—--—-——-----——------—(22) 附录B————-————-—-—--—-————--—--—-———-——-—-——---—(30) 参考文献——--—-——-——-—--——------————-——-—-————-—--(34) 第1章 实验指导书 《单片机原理及应用》是一门实践性很强的课程,必须通过大量的实践才能真正掌握单片机的原理和应用技术。所以,希望每位同学都能认真对待单片机实验课,认真完成实验安排的任务。要求同学做到如下几点实验须知: 1. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作. 2。 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。 3。 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。 4. 按规定认真完成实验报告,对实验中出现的现象进行分析,在规定的时间内上交实验报告. 1.1 实验1 Keil C软件学习与操作实践 1. 实验目的 熟悉Keil C51 集成开发环境的使用方法,初步掌握Keil C51基本的操作和使用,能够输入、编译和仿真调试简单的程序。 2。 实验内容 在Keil C51 集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在Keil C51 集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作. 3。 实验设备 安装Keil C51的计算机一台. 4。 实验步骤(参考文献1第11章) (1) 建立一个工程项目选择芯片确定选项。 执行Keil C51软件的菜单“Project | New Project…”,弹出一个名为“Create New Project"的对话框。先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。如图1-1所示,紧接着,Keil C51提示您选择CPU器件。在这里可以选择Atmel公司的AT89S52。 图1-1 Keil C51 工程的建立 (2) 编写(或加入)汇编源文件或C 源文件,并添加到工程中。 执行菜单“File | New…”,出现一个名为“Text n”(其中n表示序号)的文档。如图1-2所示。 图1-2 源文件的添加 执行菜单“File | Save",弹出一个名为“Save As”的对话框。将文件名改为你事先起好的名称,如:led.asm然后保存。注意:扩展名“。ASM或。c"不可省略. 单击Keil C51软件左边项目工作窗口“Target 1"上的“+”,将其展开。然后右击“Source Group 1”文件夹,会弹出如图 1。7所示的选择菜单。单击其中的“Add Files to Group 'Source Group 1'”项,将源程序文件添加到工程中。 然后编写如下程序源文件,并再次保存. ORG 0000H MAIN: CLR P1.0 ;(1) 点亮LED MOV 30H,#255 LCALL DELAY ;(2) 调用延时子程序 SETB P1.0 ;(3) 熄灭LED MOV 30H,#200 LCALL DELAY ;(4) 调用延时子程序 AJMP MAIN ;(5) 返回MAIN处执行 DELAY: MOV R7,30H ;(6) 延时程序 D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) R6存放内循环次数 DJNZ R7,D1 ;(9) R7存放外循环次数 RET ;(10) END (3) 设置参数 单击“Project" 菜单“Option…”选项(可能需要选择两次),在“Output”标签页,选中“Create HEX File”项,然后“确定”.其他参数的设置可参考相关教材. (4) 编译源程序 单击工具栏的按钮“ "编译当前源程序。编译结果会显示在输出窗口内.如果是“0 Error(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。如果存在错误或警告,请仔细检查您的程序。修改后,再编译,直到通过为止。 编译后的结果会生成HEX 格式的程序文件“LedFlash。hex”。 (5) 编译连接通过后进行软件模拟仿真。 直接点击工具栏红色的“ "图标。进入仿真状态。 执行菜单“Peripherals | I/O—Ports | Port 1”,弹出P1端口的界面,如图1-3.在位0~7中,用√表示高电平,无√表示低电平。 图1-3仿真I/O 端口 点击工具栏“ ”图标,进行全速运行,观察P1.0口电平的变化。 点击停止运行“ ”,再点击单步进入“ ”,单步运行程序,观察观察P1.0口电平的变化。 设置/清除断点“ ”: 在程序的中设置断点,( 如在CLR P1。0和SETB P1。0语句前加入断点),再多次点击工具栏“ ”图标,进行全速运行,每次遇到断点,程序会停止运行,可观察P1。0口电平的变化。 单击工具栏的“ "图标,将显示出存储器窗口,可在存储器窗口中观察某一具体位置的内容,如;30H中的内容. (6) 编译连接通过后如果有硬件装置,可将程序下载到单片机中,是程序在硬件进行实际运行,观察运行结果。 5. 实验思考题 (1) 试编写把片内RAM 50H~59H 单元清零的程序. (2) 试编写把片内RAM 50H~59H 单元写入“01H"的程序 1。2 实验2 程序调试实践--——BCD到二进制转换 1。 实验目的 掌握简单的数值转换算法。基本了解数值的各种表达方法。 熟练掌握在Keil C51 集成开发环境的使用。 2。 实验内容 把3位BCD码转换为二进制数,设3位BCD码最大为255。(参考文献1第68页) 在Keil C51 集成开发环境完成编译和仿真,实现单步运行、并同时使用“View"菜单下的“Memory Windows”查看存储器内部的值,仿真、查看程序运行结果。 3。 实验设备 安装Keil C51的计算机一台。 4. 参考程序框图 给出要转换的BCD码数 判断百位的个数 循环加100 判断十位的个数 结束 循环加10 在加上个位数,将其保存 图1-4 单字节二进制数转换成非压缩BCD码框图 5。 参考程序: 说明:待转换的BCD码为123,分别放在09H和08H中,转换结果放在0AH中. ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV 08H,#23H MOV 09H,#01H MOV R1,08H MOV R0,09H MOV A,#00H CJNE R0,#00H,LOOP1 SJMP LOOP2 LOOP1: ADD A,#64H DJNZ R0,LOOP1 LOOP2: MOV R2,A MOV A,R1 ANL A,#0F0H SWAP A MOV R0,A MOV A,R2 CJNE R0,#00H,LOOP3 SJMP LOOP4 LOOP3: ADD A,#0AH DJNZ R0,LOOP3 LOOP4: MOV R2,A MOV A,R1 ANL A,#0FH ADD A,R2 MOV 0AH,A END 6. 实验思考题 (1) 试编写查表程序程序。 (2) 试编写二进制数转换成BCD码的程序 (3) 试编写二进制到ASCII码转换的程序 1.3 实验3 单片机I/O接口应用实验-—-流水灯 1. 实验目的 掌握8051单片机输入/输出端口的使用方法。 掌握PROTEUS软件的使用方法。 2. 实验内容 使用Proteus画出硬件电路图,如图1—5所示,单片机的P1口接8个LED发光二极管,试编写程序实现8个发光二极管循环点亮,即实现发光二极管组成的流水灯控制,鼓励用多种编程方法实现流水灯控制的编程。 利用Proteus硬件仿真功能,完成流水灯的仿真运行. 3. 实验设备: 安装PROTEUS软件的计算机一台。 图1—5 流水灯硬件电路图 4. 参考程序框图 图1-6 程序参考流程图 5. 参考程序见参考文献1第83页。 6. 实验步骤:(参考文献1附录B) (1) 新建设计文件 执行Proteus软件的菜单“File -—— New Design",选用DEFAULT 默认模板。保存设计,扩展名为。DSN。 (2) 选取元件 首先在工具栏上选择元件模式 ,如有图所示, 再单击工具栏上的“P"按钮,进入元件选取模式,如图1-7所示,在左上角Keyword框中输入元件名查找( 例如查找AT89C51),软件会自动查找元器件,并将符合条件的原件在右边列出,选择需要的元件上并双击,则会自动将元件放入对象选取器Category中。 再依次以同样的方式选择其他所需元件,如: Ø 选取RES、RES8电阻、排阻 Ø LED—RED红色发光二极管 Ø CAP、CAP-ELEC:通用电容、电解电容 Ø CRYSTAL; 晶振 (3) 放置元件到编辑区 在对象选取器中单击AT89C51选中元件,将光标移动到编辑,鼠标变成铅笔形状,单击左键,框中出现一个元件原理图的轮廓图,可以移动。鼠标移到合适的位置后,按下鼠标左键,即可放置一个元件,连续单击,可放置多个同样的元件。 图1—7 元件选取 (4) 移动元件 选择左侧工具栏上的“箭头”图标,主模式切换为选取模式,把鼠标移到右侧的原理图中,鼠标经过元件时会就成“手形”,把鼠标移到LED—RED 上,按下左键,LED-RED 高亮显示,鼠标变成“手形"并带有方向键头。移动鼠标,把元件移动到合适位置,单击左键放置一个该元件,单击鼠标右键,取消放置状态。 (5) 连线 你一定发现没有画线的图标按钮。这是因为ISIS的智能化足以在你想要画线的时候进行自动检测。这就省去了选择画线模式的麻烦。 在元件和终端的管脚末端都有连接点。左击第一个对象连接点,如果你想让ISIS自动定出走线路径,只需左击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。 依照原理图1—5次将各元件之间的线连接好。 (6) 元器件属性设置 右键单击元器件弹出菜单,选择 Edit Properties,弹出属性对话框,设置相应的属性值。 (7) 如果想在程序中单步、断点等方式调试程序,可以使用Proteus软件自带的编译器编译程序。在ISIS点击菜单栏“Source",在下拉菜单点击“Add/Remove Source Files(添加或删除源程序)”出现如下对话框: 图1-8 源代码的添加与移除 点击新建,并给文件取名(扩展名为asm), 单击OK,提示是否创建该文件,单击是。当添加文件后在Source菜单下就会出现所选择的文件名。点击文件名就会打开编辑器,输入源程序,保存。 点击菜单栏“Source”菜单,选择Dfine Code Generation Tool ,一般不用修改,默认即可.设置完毕我们就可以编译了.点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我们面前,如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。如果文件无错误就产生了。HEX文件。 (8) 添加仿真执行程序 鼠标移动到要单片机元件上点击鼠标左键,器件变成红色表示被选中,再点击鼠标右键弹出如下对话框。点击程序文件框(Program file)右边的文件夹按钮,选择微处理器所需要的程序文件(.HEX),选择合适的工作频率即可确认.如图1—9所示。 图1—9 属性对话框 点击”OK",返回图形编辑窗口。 (9) 仿真调试 点击编辑窗下边的单击菜单“调试"下“开始、重新启动调试”或仿真按钮 程序便可执行了。或者选择调试菜单Debug下的执行功能即可执行. 单击运行图标,即可仿真运行程序. 7. 实验思考题 1) 如何改变流水灯闪烁的速度? 2) 试编写简单的交通灯(红、绿灯)控制程序的程序 1。4 实验4 串口数据发送实验 1. 实验目的 掌握MCS—51单片机串行口的工作原理。 掌握硬件开发板上单片机程序的烧写方法和调试方法. 2. 实验内容 编写单片串行口通信程序,将单片机和PC机通过通用串口电缆连接,使单片机向PC机发送十六进制数55H。硬件电路图原理如图1-10所示,完成单片机程序的烧写并在硬件开发板上运行程序。 3. 实验设备: 安装Keil C51 软件的计算机一台,51单片机开发板一套. 实验所需软件和参考代码在(E:/SOFT/ EDA试验箱单片机实验实例czb)下,如有变动请咨询实验员。 图1-10 串行口通信硬件电路图原理 4。 实验步骤: (1) 打开Keil软件,在新建串口工程,然后编写程序,实现单片机通过串口连续发送一个字符U到PC电脑上,程序无误后编译生成二进制代码(。HEX)文件。 (2) 使用串口连接线将实验仪上RS232串口和PC电脑的串口相连。 单片机串口引脚P3.0和P3.1在电路板上已经和RS232串口连接号,实验仪上RS232串口在试验仪的左下角,如下图1-11所示: 图1—11 单片机串行接口 在PC电脑上打开串口助手,并设置波特率为9600,如下图1—12所示. 图1—12 串口助手界面 (3) 将单片机下载线一头与电脑的并口相连,另一头与实验仪的下载接口相连. 实验仪的下载接口是一个10针接口,在试验仪的下部中间位置,如下图1—13所示: 图1—13 下载接口 然后打开单片机的下载软件,如图1—14所示: 图1—14 单片机下载软件界面 若第一次使用程序,或更改了程序所在目录,请点击界面左下角的“程序设置”,在下载软件的pin_config 文件夹中,选择Altera_byteblast.ini ,程序设置好,以后再使用下载程序时,不需要再次设置. 下载时请选择好你使用的单片机类型,然后单击文件件选项,选择要下载的二进制(。HEX)文件,注意:每次下载程序时要先擦除,然后再写. 程序下载到单片机后,会自动运行程序,你就可以在PC电脑的串口助手的上方接受字符区中看到单片机发送过来的字符了。 参考程序如下: ORG 0000H LJMP MAIN ORG 0060H MAIN:MOV SP,#60H MOV TMOD,#20H ;设置T1为方式2 MOV TH1,#0FDH ;设置波特率为9600 MOV TL1,#0FDH MOV SCON,#50H ;设置串口为方式1 MOV PCON,#00H SETB TR1 ;启动定时器 LOOP:MOV SBUF,#55H ;开始发送 SENDWT:JBC TI,LOOP AJMP SENDWT END 5. 实验思考题: (1) 单片机串行口和并行口的区别? (2) 试编写串行通信双机通信的收、发程序? 1。5 实验5 数字电压表──A/D 转换器应用实验 1。 实验目的 掌握MCS-51实现数模转换原理. 2. 实验内容 使用Proteus画出硬件电路图,如图1—16所示,使用ADC0804测量直流电压,并用单片机完成数据的采集和计算,并通过数码管将采集的电压显示出来。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 也可在试验仪上完成此试验。 3. 实验设备: 安装Keil C51 软件的计算机一台(51单片机开发板一套)。 实验所需软件和参考代码在(E:/SOFT/ EDA试验箱单片机实验实例czb)下,如有变动请咨询实验员。 试验仪上ADC0804的转换结果输出端和单片机的P0口相连,并且,P0口连接了8个发光二极管,即可以实时观察ADC0804转换结果的二进制.ADC0804的硬件电路如下图1—15所示: 图1-15 ADC0804接口图 试验仪接了8个数码管,数码管的段码(字型码)加74LS244驱动电路后分别接接单片机的P3口,位码加驱动芯片UNL2803和译码器4015B后分别接单片机的P1.0、P1。1、P1.2,硬件电路如下图: 图1-16 系统硬件电路图 4. 实验步骤: (1) 打开Keil软件,在新建串口工程,然后编写程序,实现AD转换和显示程序,程序无误后编译生成二进制代码(.HEX)文件. (2) 使用一根电线将实验仪下方的电压(0V 、2。5V、 3。3V 、5V)任选一个连接到实验仪中间的AD输入端(AD_IN)。如下图1—17所示: 图1—17 输入电压的调整图 然后打开单片机的下载软件,下载时请选择好你使用的单片机类型,然后单击文件件选项,选择要下载的二进制(.HEX)文件,注意:每次下载程序时要先擦除,然后再写。 程序下载到单片机后,会自动运行程序,你就可以在发光二极管和数码管上看到此时ADC0804采集得到的电压值了。 图1—18 采集电压值的显示 5。 参考程序 AD EQU 30H ORG 0000H MAIN: CLR P2。5 ;片选 MOV DPTR,#0DFH MOVX @DPTR,A ACALL DELAY ACALL DELAY MOVX A,@DPTR ;读取AD MOV AD,A SETB P2.5 MOV R1,#7FH DIS: ACALL DISP DJNZ R1,DIS ; CLR P1.4 LJMP MAIN DELAY:MOV R2,#0FFH D1: MOV R1,#0FFH DJNZ R1,$ DJNZ R2,D1 RET DISP:MOV P0,AD; 二进制输出 MOV A,AD MOV B,#5 DIV AB MOV A,AD ;二进制转化为十进制 MOV B,#10 DIV AB MOV 31H,B MOV B,#10 DIV AB MOV 32H,B MOV 33H,A MOV R0,#10 LOOP: MOV A,33H ;显示高位 MOV DPTR, #numtab MOVC A,@A+DPTR MOV P3,A MOV P1,#2 ACALL D1MS MOV A,32H MOV DPTR, #numtab MOVC A,@A+DPTR MOV P3,A MOV P1,#1 ACALL D1MS MOV A,31H ;显示低位 MOV DPTR, #numtab MOVC A,@A+DPTR MOV P3,A MOV P1,#0 ACALL D1MS DJNZ R0,LOOP RET D1MS: MOV R6,#2 dss: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,dss RET numtab:DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH END 6. 实验思考题 (1) 数模转换和模数转换的区别? (2) ADC0804与ADC0809的异同点有那些?(可查阅文献2) (3) ADC0804采集的电压精确吗,为什么? 第2章 课程设计指导书 1。 课程设计课程的任务与要求 通过本课程设计进一步加深对单片机原理及应用技术软硬件知识的理解,进一步提单片机系统设计和开发的能力. 要求设计一个单片机应用系统,利用Keil C和Proteus软件完成系统软硬件的设计及模拟调试,并最终利用单片机开发板实现所设计的系统。 一个题目可由5~6 人来完成,全组同学既要独立思考又要集体讨论,也可以设计出不同的方案,比较其各自的优缺点.实验一般分为2~3 人一组,每个学生应独立完成各自的设计内容要求,不许抄袭他人的设计成果。辅导教师应随时掌握对学生的设计情况,可以通过答辩或经验交流等形式,了解学生的设计水平,最后由指导教师根据学生的全面表现评定学生的课程设计成绩,如基本知识掌握的程度、选定方案是否合理先进,程序设计是否最佳,电路设计和搭接是否规范,实践动手能力强弱程度、独立分析和解决问题的能力和创新精神、说明书编写的水平、答辩情况、及学习态度和科学作风思想表现等,对每个学生的课程设计写出评语,成绩按优、良、中、及格、不及格分为五等. 2. 实验设备及要求 PC机、Keil C软件、Proteus软件,单片机开发板。 3。 课程设计考核 (1) 课程设计报告:本门课程对课程设计报告的要求包括:软硬件设计、系统功能描述、设计调试过程总结。 (2) 考核方式: 课程设计的考核方式:根据演示、答辩及设计报告的情况进行考核。 课程设计考核成绩的划定:采用优、良、中、及格不及格五级分制。 课程设计成绩成绩的确定:其中演示与答辩占70%,课程设计报告占30%。 4。 课程教材及参考书 教材:姜志海,刘连鑫等。 单片机微型计算机原理及应用[M].北京:电子工业出版社,2011 参考书:周润景,张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006 5. 实验项目与内容提要 设计题目分基础题、提高题和综合题,供不同水平的学生选择 (1) 十进制加法计算器(基础题) 设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来. (2) 电子钟(基础题) 设计一实时显示时、分、秒的电子钟,要求可校对时间. (3) 发光二极管显示屏(基础题) 用发光二极管组成LED显示屏,能够显示2个16*16点阵的汉字. (4) 数字电压表(提高题) 利用八位A/D转换器实现分辩率为八位二进制数的电压表,测量结果用四位数码管显示. (5) 计算器设计(提高题) 实现五位数(可为带小数数)的加减乘除运算,通过按键输入十进制数据.利用八位数据码管显示运算结果。 (6) 数字电压表(综合题) 利用八位A/D转换器实现分辩率为十一位二进制数的电压表,测量结果用四位数码管显示. (7) 简易信号发生器设计(综合题) 用D/A实现正弦信号,三角波信号,方波信号的输出,并且在LCD上显示出当前波形.要求输出信号的频率和幅度可调。 (8) 量程自选的数字频率计(综合题) 设计一量程可以自动选择的数字频率计,要求测试结果用6位数码管显示。 附录A 单片机C语言及Keil软件简介 1。 概述 使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序.Keil C51(集成开发环境也称KEIL uVISION2)是众多单片机应用开发软件中优秀的软件之一,它是美国Keil Software公司推出品的51系列兼容单片机C语言软件开发系统(Keil Software公司现并入ARM公司,ARM公司最新推出了KEIL uVISION4,主要是增强了软件对ARM芯片的支持),它支持众多不同公司的MCS51架构的芯片,集编辑,编译,仿真等于一体,同时还支持,PLM、汇编和C语言的程序设计。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,界面友好,易学易用,在开发大型软件时更能体现高级语言的优势。因此,受到了全世界很多开发MCS—51单片机应用的工程师、嵌入式系统工程师或普通的单片机爱好者的青睐。 2. Keil C51操作入门 (1) 软件的安装 以上简单介绍了KEIL C51软件,要使用KEIL C51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。(安装的方法和普通软件相当这里只做简单介绍) 安装Keil C51非常简单,步骤如下:运行Keil C51 V750a SETUP目录下的“Setup.exe"(其他版本也是如此)。 当出现如图A-1的对话框时,我们选择Full Version”安装,然后输入产品序列号。 在接下来的几个对话框中选择“Next”或“Yes”,提示填入用户名和公司名时,照实际情况填写。 安装完毕后按“Finish”结束。 图A—1 KEIL C51软件的安装 安装好后,你是不是迫不及待的想建立自己的第一个C程序项目呢?下面就让我们一起来建立一个小程序项目吧.或许你手中还没有一块实验板,甚至没有一块单片机,不过没有关系我们可以通过KEIL软件仿真看到程序运行的结果。 (2) Keil C51操作入门 Keil C51是一个功能很强大的软件,但是使用起来并不复杂.现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。 例1:硬件电路参见图A—2,单片机I/O输出低电平可点亮LED,用C语言编写程序实现单灯闪烁。 图A-2 单灯闪烁电路图 启动Keil C51软件。您可以通过双击电脑桌面上的“Keil uVision2"快捷方式图标来启动。 新建工程。执行Keil C51软件的菜单“Project | New Project…”,弹出一个名为“Create New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如 “E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。 我们建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash",并保存。如图A—3所示。 图A—3工程保存图 选择CPU。紧接着,Keil C51提示您选择CPU器件。在这里可以选择Atmel公司的AT89S52,如图A-4所示。 图A—4 选择CPU器件图 接下来弹出一个如图 1。5所示的对话框.该对话框提示您是否要把标准8051的启动代码添加到工程中去。Keil C51既支持C语言编程也支持汇编语言编程。如果打算用汇编语言写程序,则应当选择“否(N)”;如果打算用C语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。在这里,我们选择“否(N)”,即不添加启动代码。如图A—5所示。 图A-5 添加启动代码询问图 至此,一个空的Keil C51工程建立完毕。 执行菜单“File | New…”,出现一个名为“Text n”(其中n表示序号)的文档。如图A—6所示。 图A-6 新建文本文件图 执行菜单“File | Save”,弹出一个名为“Save As"的对话框。将文件名改为“ledflash.c”,然后保存。注意:扩展名“.ASM或。c”不可省略。 添加源程序文件到工程中。现在,一个空的源程序文件“ledflash。c”已经建立,但是这个文件与刚才新建的工程之间并没有什么内在联系。我们需要把它添加到工程中去。单击Keil C51软件左边项目工作窗口“Target 1”上的“+”,将其展开.然后右击“Source Group 1”文件夹,会弹出如图 1.7所示的选择菜单。单击其中的“Add Files to Group ’Source Group 1’”项,将弹出如如图A—7所示的对话框。 图A-7 添加源程序文件到工程 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。双击“ledflash。c"打开源程序窗口,然后输入完整的程序代码。 代码如下: #include 〈reg51.h〉 //包含头文件REG51.H sbit P1_0=P1^1; //定义位名称 void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P1_1=0; //点亮信号灯 delay(10); //调用延时函数,实际变量为10 P1_1=1; //熄灭信号灯 delay(10); //调用延时函数,实际变量为10 } } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; // i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数, i为形式参数 { unsigned char j,k; //定义无符号字符型变量j和k for(k=0;k〈i;k++) //双重for循环语句实现软件延时 for(j=0;j〈255;j++); } 单击“File | Save”保存程序。 设置开发环境参数,单击“Option"选项,在“Output”标签页,选中“Create HEX File”项,然后“确定”。 单击工具栏的按钮“ ”编译当前源程序。编译结果会显示在输出窗口内。如果是“0 Error(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 课程设计 指导书 2011
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文