收藏 分销(赏)

实验及课程设计指导书2011版.doc

上传人:a199****6536 文档编号:2244695 上传时间:2024-05-23 格式:DOC 页数:37 大小:12.58MB
下载 相关 举报
实验及课程设计指导书2011版.doc_第1页
第1页 / 共37页
实验及课程设计指导书2011版.doc_第2页
第2页 / 共37页
实验及课程设计指导书2011版.doc_第3页
第3页 / 共37页
实验及课程设计指导书2011版.doc_第4页
第4页 / 共37页
实验及课程设计指导书2011版.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、实验及课程设计指导书2011版 作者: 日期:2 个人收集整理 勿做商业用途单片机原理及应用实验及课程设计指导书华东交通大学电气与电子工程学院二0一一年八月前 言单片机的高可靠性、超小型、低价格、容易产品化等特点,使得其在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,得到了十分广泛的应用。单片机原理及应用课程成为众多工科专业的一门重要的学科基础课。为配合单片机原理及应用课程的教学,编写了本实验和课程设计指导书。作为高校教学的主力单片机MCS51尽管仍在发挥巨大的作用,但教学方法和实验手段已发生了一些重要的变化.一个是大量采用C语言进行教学,强

2、调单片机学习的高效性,通用性和实用性。二是大量采用仿真软件,对单片机的整个开发过程进行前期的仿真设计,在仿真中发现和解决大量可能在产品实际开发中可能出现的问题。强调硬件与软件的统一,降低开发成本。这其中以英国了Labcenter公司推出的PROTEUS的软件功能最为强大,在全世界都得到了广泛的应用。目前,国内的很多高校的单片机教学也大量采用PROTEUS软件,这已经成为单片机教学改革的一个很重要的方面.本实验指导书正是顺应这一教学改革的潮流,充分利用单片机软硬件仿真软件Keil C和PROTEUS,针对教学中的难点和重点,设计了一系列的实验,使得学生既可以在实验室里也可以在安装了相关软件的自有

3、计算机上完成这些实验,这就增加了学生学习的兴趣和主动性。除此而外,本实验指导书还设计了利用单片机开发板对单片机实验系统进行实时调试的实验,使学生的开发能力得到全面锻炼。最后,在为期一至两周的课程设计时间里,利用这些开发工具完成一个完整的单片机系统的设计与调试,使学生的单片机实际应用能力得到一个有效的提高. 本实验及课程设计指导书由电气学院单片机教研组徐春辉、陈忠斌、李宋、陈鹏展、曹晖等老师编写。由于时间仓促,加上编者学识有限,如有不妥之处,欢迎读者批评指正。编 者2011年8月目 录 前言-(1)第1章 实验指导书-(3)1。1 实验1 汇编语言简单试验-Keil C51的使用-(3)1.2

4、实验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. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成

5、实验前要求完成的准备工作后方可以上机实验,否则不得上机操作.2。 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。3。 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。4. 按规定认真完成实验报告,对实验中出现的现象进行分析,在规定的时间内上交实验报告.1.1 实验1 Keil C软件学习与操作实践1. 实验目的熟悉Keil C51 集成开发环境的使用方法,初步掌握Keil C51基本的操作和使用,能够输入、编译和仿真调试简单的程序。2。 实验内容在Keil C51 集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口

6、所接发光二极管低电平点亮),编写程序后在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 Kei

7、l 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

8、Group 1”项,将源程序文件添加到工程中。然后编写如下程序源文件,并再次保存. ORG 0000HMAIN:CLRP1.0 ;(1)点亮LED MOV30H,255 LCALLDELAY ;(2) 调用延时子程序 SETBP1.0 ;(3)熄灭LED MOV30H,#200 LCALLDELAY ;(4) 调用延时子程序 AJMPMAIN ;(5)返回MAIN处执行DELAY: MOV R7,30H ;(6) 延时程序D1: MOVR6,250 ;(7)D2: DJNZR6,D2 ;(8)R6存放内循环次数 DJNZR7,D1 ;(9)R7存放外循环次数 RET ;(10) END(3)

9、设置参数单击“Project 菜单“Option”选项(可能需要选择两次),在“Output”标签页,选中“Create HEX File”项,然后“确定”.其他参数的设置可参考相关教材.(4) 编译源程序单击工具栏的按钮“ 编译当前源程序。编译结果会显示在输出窗口内.如果是“0 Error(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。如果存在错误或警告,请仔细检查您的程序。修改后,再编译,直到通过为止。编译后的结果会生成HEX 格式的程序文件“LedFlash。hex”。(5) 编译连接通过后进行软件模拟仿真。直接点击工具栏红色的“ 图标。进入仿真

10、状态。执行菜单“Peripherals | I/OPorts Port 1”,弹出P1端口的界面,如图1-3.在位07中,用表示高电平,无表示低电平。图1-3仿真I/O 端口点击工具栏“ ”图标,进行全速运行,观察P1.0口电平的变化。点击停止运行“ ”,再点击单步进入“ ”,单步运行程序,观察观察P1.0口电平的变化。设置/清除断点“ ”: 在程序的中设置断点,( 如在CLR P1。0和SETB P1。0语句前加入断点),再多次点击工具栏“ ”图标,进行全速运行,每次遇到断点,程序会停止运行,可观察P1。0口电平的变化。单击工具栏的“ 图标,将显示出存储器窗口,可在存储器窗口中观察某一具体位

11、置的内容,如;30H中的内容.(6) 编译连接通过后如果有硬件装置,可将程序下载到单片机中,是程序在硬件进行实际运行,观察运行结果。5. 实验思考题(1) 试编写把片内RAM 50H59H 单元清零的程序.(2) 试编写把片内RAM 50H59H 单元写入“01H的程序1。2 实验2 程序调试实践-BCD到二进制转换1。 实验目的掌握简单的数值转换算法。基本了解数值的各种表达方法。熟练掌握在Keil C51 集成开发环境的使用。2。 实验内容把3位BCD码转换为二进制数,设3位BCD码最大为255。(参考文献1第68页)在Keil C51 集成开发环境完成编译和仿真,实现单步运行、并同时使用“

12、View菜单下的“Memory Windows”查看存储器内部的值,仿真、查看程序运行结果。3。 实验设备安装Keil C51的计算机一台。4. 参考程序框图给出要转换的BCD码数判断百位的个数循环加100判断十位的个数结束循环加10在加上个位数,将其保存图1-4 单字节二进制数转换成非压缩BCD码框图5。 参考程序:说明:待转换的BCD码为123,分别放在09H和08H中,转换结果放在0AH中.ORG 0000HSJMP MAINORG 0030HMAIN: MOV 08H,23H MOV 09H,01H MOV R1,08H MOV R0,09HMOV A,#00HCJNE R0,#00H

13、,LOOP1SJMP LOOP2LOOP1: ADD A,64HDJNZ R0,LOOP1LOOP2: MOV R2,AMOV A,R1ANL A,#0F0HSWAP AMOV R0,AMOV A,R2CJNE R0,00H,LOOP3SJMP LOOP4LOOP3: ADD A,0AHDJNZ R0,LOOP3LOOP4: MOV R2,A MOV A,R1ANL A,0FH ADD A,R2MOV 0AH,AEND6. 实验思考题(1) 试编写查表程序程序。(2) 试编写二进制数转换成BCD码的程序(3) 试编写二进制到ASCII码转换的程序1.3 实验3 单片机I/O接口应用实验-流水灯

14、1. 实验目的掌握8051单片机输入/输出端口的使用方法。 掌握PROTEUS软件的使用方法。2. 实验内容使用Proteus画出硬件电路图,如图15所示,单片机的P1口接8个LED发光二极管,试编写程序实现8个发光二极管循环点亮,即实现发光二极管组成的流水灯控制,鼓励用多种编程方法实现流水灯控制的编程。利用Proteus硬件仿真功能,完成流水灯的仿真运行.3. 实验设备:安装PROTEUS软件的计算机一台。图15 流水灯硬件电路图4. 参考程序框图图1-6 程序参考流程图5. 参考程序见参考文献1第83页。6. 实验步骤:(参考文献1附录B)(1) 新建设计文件 执行Proteus软件的菜单

15、“File - New Design,选用DEFAULT 默认模板。保存设计,扩展名为。DSN。(2) 选取元件 首先在工具栏上选择元件模式 ,如有图所示, 再单击工具栏上的“P按钮,进入元件选取模式,如图1-7所示,在左上角Keyword框中输入元件名查找( 例如查找AT89C51),软件会自动查找元器件,并将符合条件的原件在右边列出,选择需要的元件上并双击,则会自动将元件放入对象选取器Category中。 再依次以同样的方式选择其他所需元件,如: 选取RES、RES8电阻、排阻 LEDRED红色发光二极管 CAP、CAP-ELEC:通用电容、电解电容 CRYSTAL; 晶振(3) 放置元件

16、到编辑区在对象选取器中单击AT89C51选中元件,将光标移动到编辑,鼠标变成铅笔形状,单击左键,框中出现一个元件原理图的轮廓图,可以移动。鼠标移到合适的位置后,按下鼠标左键,即可放置一个元件,连续单击,可放置多个同样的元件。 图17 元件选取(4) 移动元件选择左侧工具栏上的“箭头”图标,主模式切换为选取模式,把鼠标移到右侧的原理图中,鼠标经过元件时会就成“手形”,把鼠标移到LEDRED 上,按下左键,LED-RED 高亮显示,鼠标变成“手形并带有方向键头。移动鼠标,把元件移动到合适位置,单击左键放置一个该元件,单击鼠标右键,取消放置状态。(5) 连线你一定发现没有画线的图标按钮。这是因为IS

17、IS的智能化足以在你想要画线的时候进行自动检测。这就省去了选择画线模式的麻烦。 在元件和终端的管脚末端都有连接点。左击第一个对象连接点,如果你想让ISIS自动定出走线路径,只需左击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。 依照原理图15次将各元件之间的线连接好。(6) 元器件属性设置右键单击元器件弹出菜单,选择 Edit Properties,弹出属性对话框,设置相应的属性值。(7) 如果想在程序中单步、断点等方式调试程序,可以使用Proteus软件自带的编译器编译程序。在ISIS点击菜单栏“Source,在下拉菜单点击“AddRemove Source

18、 Files(添加或删除源程序)”出现如下对话框:图1-8 源代码的添加与移除点击新建,并给文件取名(扩展名为asm), 单击OK,提示是否创建该文件,单击是。当添加文件后在Source菜单下就会出现所选择的文件名。点击文件名就会打开编辑器,输入源程序,保存。点击菜单栏“Source”菜单,选择Dfine Code Generation Tool ,一般不用修改,默认即可.设置完毕我们就可以编译了.点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我们面前,如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到

19、出错地方,但是能告诉出错的行号。如果文件无错误就产生了。HEX文件。 (8) 添加仿真执行程序鼠标移动到要单片机元件上点击鼠标左键,器件变成红色表示被选中,再点击鼠标右键弹出如下对话框。点击程序文件框(Program file)右边的文件夹按钮,选择微处理器所需要的程序文件(.HEX),选择合适的工作频率即可确认.如图19所示。图19 属性对话框点击”OK,返回图形编辑窗口。(9) 仿真调试点击编辑窗下边的单击菜单“调试下“开始、重新启动调试”或仿真按钮 程序便可执行了。或者选择调试菜单Debug下的执行功能即可执行.单击运行图标,即可仿真运行程序.7. 实验思考题1) 如何改变流水灯闪烁的速

20、度?2) 试编写简单的交通灯(红、绿灯)控制程序的程序1。4 实验4 串口数据发送实验1. 实验目的掌握MCS51单片机串行口的工作原理。 掌握硬件开发板上单片机程序的烧写方法和调试方法.2. 实验内容编写单片串行口通信程序,将单片机和PC机通过通用串口电缆连接,使单片机向PC机发送十六进制数55H。硬件电路图原理如图1-10所示,完成单片机程序的烧写并在硬件开发板上运行程序。3. 实验设备:安装Keil C51 软件的计算机一台,51单片机开发板一套.实验所需软件和参考代码在(E:/SOFT/ EDA试验箱单片机实验实例czb)下,如有变动请咨询实验员。图1-10 串行口通信硬件电路图原理4

21、。 实验步骤:(1) 打开Keil软件,在新建串口工程,然后编写程序,实现单片机通过串口连续发送一个字符U到PC电脑上,程序无误后编译生成二进制代码(。HEX)文件。(2) 使用串口连接线将实验仪上RS232串口和PC电脑的串口相连。单片机串口引脚P3.0和P3.1在电路板上已经和RS232串口连接号,实验仪上RS232串口在试验仪的左下角,如下图1-11所示:图111 单片机串行接口在PC电脑上打开串口助手,并设置波特率为9600,如下图112所示.图112 串口助手界面(3) 将单片机下载线一头与电脑的并口相连,另一头与实验仪的下载接口相连. 实验仪的下载接口是一个10针接口,在试验仪的下

22、部中间位置,如下图113所示:图113 下载接口然后打开单片机的下载软件,如图114所示:图114 单片机下载软件界面若第一次使用程序,或更改了程序所在目录,请点击界面左下角的“程序设置”,在下载软件的pin_config 文件夹中,选择Altera_byteblast.ini ,程序设置好,以后再使用下载程序时,不需要再次设置.下载时请选择好你使用的单片机类型,然后单击文件件选项,选择要下载的二进制(。HEX)文件,注意:每次下载程序时要先擦除,然后再写.程序下载到单片机后,会自动运行程序,你就可以在PC电脑的串口助手的上方接受字符区中看到单片机发送过来的字符了。参考程序如下: ORG 00

23、00H 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 END5. 实验思考题:(1) 单片机串行口和并行口的区别?(2) 试编写串行通信双机通信的收、发程序?1。5 实验5 数字电压表A/D 转换器应用实验1。 实验目的掌握MCS-

24、51实现数模转换原理. 2. 实验内容使用Proteus画出硬件电路图,如图116所示,使用ADC0804测量直流电压,并用单片机完成数据的采集和计算,并通过数码管将采集的电压显示出来。利用Proteus硬件仿真功能,完成数码管显示的仿真运行。也可在试验仪上完成此试验。3. 实验设备:安装Keil C51 软件的计算机一台(51单片机开发板一套)。实验所需软件和参考代码在(E:/SOFT/ EDA试验箱单片机实验实例czb)下,如有变动请咨询实验员。试验仪上ADC0804的转换结果输出端和单片机的P0口相连,并且,P0口连接了8个发光二极管,即可以实时观察ADC0804转换结果的二进制.ADC

25、0804的硬件电路如下图115所示:图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)。如下图117所示:图117 输入

26、电压的调整图然后打开单片机的下载软件,下载时请选择好你使用的单片机类型,然后单击文件件选项,选择要下载的二进制(.HEX)文件,注意:每次下载程序时要先擦除,然后再写。程序下载到单片机后,会自动运行程序,你就可以在发光二极管和数码管上看到此时ADC0804采集得到的电压值了。图118 采集电压值的显示5。 参考程序AD EQU 30HORG 0000HMAIN: 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,7FHDIS: AC

27、ALL DISP DJNZ R1,DIS; CLR P1.4 LJMP MAINDELAY:MOV R2,0FFHD1: MOV R1,#0FFH DJNZ R1,$ DJNZ R2,D1RET 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,#10LOOP: MOV A,33H ;显示高位 MOV DPTR, #numtab MOVC A,A+DPTR MOV P3,A

28、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 RETD1MS: MOV R6,2dss: MOV R7,#0FFH DJNZ R7,$DJNZ R6,dssRETnumtab:DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FHEND6. 实验思考题(1)

29、数模转换和模数转换的区别?(2) ADC0804与ADC0809的异同点有那些?(可查阅文献2)(3) ADC0804采集的电压精确吗,为什么?第2章 课程设计指导书1。 课程设计课程的任务与要求通过本课程设计进一步加深对单片机原理及应用技术软硬件知识的理解,进一步提单片机系统设计和开发的能力.要求设计一个单片机应用系统,利用Keil C和Proteus软件完成系统软硬件的设计及模拟调试,并最终利用单片机开发板实现所设计的系统。一个题目可由56 人来完成,全组同学既要独立思考又要集体讨论,也可以设计出不同的方案,比较其各自的优缺点.实验一般分为23 人一组,每个学生应独立完成各自的设计内容要求

30、,不许抄袭他人的设计成果。辅导教师应随时掌握对学生的设计情况,可以通过答辩或经验交流等形式,了解学生的设计水平,最后由指导教师根据学生的全面表现评定学生的课程设计成绩,如基本知识掌握的程度、选定方案是否合理先进,程序设计是否最佳,电路设计和搭接是否规范,实践动手能力强弱程度、独立分析和解决问题的能力和创新精神、说明书编写的水平、答辩情况、及学习态度和科学作风思想表现等,对每个学生的课程设计写出评语,成绩按优、良、中、及格、不及格分为五等.2. 实验设备及要求PC机、Keil C软件、Proteus软件,单片机开发板。3。 课程设计考核(1) 课程设计报告:本门课程对课程设计报告的要求包括:软硬

31、件设计、系统功能描述、设计调试过程总结。(2) 考核方式:课程设计的考核方式:根据演示、答辩及设计报告的情况进行考核。课程设计考核成绩的划定:采用优、良、中、及格不及格五级分制。课程设计成绩成绩的确定:其中演示与答辩占70,课程设计报告占30。4。 课程教材及参考书教材:姜志海,刘连鑫等。 单片机微型计算机原理及应用M.北京:电子工业出版社,2011参考书:周润景,张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真M.北京:北京航空航天大学出版社,20065. 实验项目与内容提要设计题目分基础题、提高题和综合题,供不同水平的学生选择(1) 十进制加法计算器(基础题)设计一键盘显示装置,键

32、盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来.(2) 电子钟(基础题)设计一实时显示时、分、秒的电子钟,要求可校对时间.(3) 发光二极管显示屏(基础题)用发光二极管组成显示屏,能够显示个*点阵的汉字.(4) 数字电压表(提高题)利用八位A/D转换器实现分辩率为八位二进制数的电压表,测量结果用四位数码管显示.(5) 计算器设计(提高题)实现五位数(可为带小数数)的加减乘除运算,通过按键输入十进制数据.利用八位数据码管显示运算结果。(6) 数字电压表(综合题)利用八位A/D转换器实现分辩率

33、为十一位二进制数的电压表,测量结果用四位数码管显示.(7) 简易信号发生器设计(综合题)用/实现正弦信号,三角波信号,方波信号的输出,并且在上显示出当前波形.要求输出信号的频率和幅度可调。(8) 量程自选的数字频率计(综合题)设计一量程可以自动选择的数字频率计,要求测试结果用6位数码管显示。附录A 单片机C语言及Keil软件简介1。 概述使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序.Keil C51(集成开发环境也称KEIL uVISION2)是众多单片机应用开发软件中优秀的软件之一,它是美国Keil Software公司推出品的51系列兼容单

34、片机C语言软件开发系统(Keil Software公司现并入ARM公司,ARM公司最新推出了KEIL uVISION4,主要是增强了软件对ARM芯片的支持),它支持众多不同公司的MCS51架构的芯片,集编辑,编译,仿真等于一体,同时还支持,PLM、汇编和C语言的程序设计。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,界面友好,易学易用,在开发大型软件时更能体现高级语言的优势。因此,受到了全世界很多开发MCS51单片机应用的工程师、嵌入式系统工程师或普通的单片机爱好者的青睐。2. Keil C51操作入门(1) 软件的安装以上简单介绍了KEIL C51

35、软件,要使用KEIL C51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。(安装的方法和普通软件相当这里只做简单介绍)安装Keil C51非常简单,步骤如下:运行Keil C51 V750a SETUP目录下的“Setup.exe(其他版本也是如此)。 当出现如图A-1的对话框时,我们选择Full Version”安装,然后输入产品序列号。在接下来的几个对话框中选择“Next”或“Yes”,提示填入用户名和公司名时,照实际情况填写。 安装完毕后按“

36、Finish”结束。 图A1 KEIL C51软件的安装安装好后,你是不是迫不及待的想建立自己的第一个C程序项目呢?下面就让我们一起来建立一个小程序项目吧.或许你手中还没有一块实验板,甚至没有一块单片机,不过没有关系我们可以通过KEIL软件仿真看到程序运行的结果。(2) Keil C51操作入门Keil C51是一个功能很强大的软件,但是使用起来并不复杂.现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。例1:硬件电路参见图A2,单片机I/O输出低电平可点亮LED,用C语言编写程序实现单灯闪烁。图A-2 单灯闪烁电路图启动Keil C51软件。您可

37、以通过双击电脑桌面上的“Keil uVision2快捷方式图标来启动。 新建工程。执行Keil C51软件的菜单“Project | New Project”,弹出一个名为“Create New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如 “E:ProjectLedFlash”,其中“LedFlash”是新建的文件夹。我们建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash,并保存。如图A3所示。图A3工程保存图选择CPU。紧接着,Keil C51提示您选择CPU器件。在这里

38、可以选择Atmel公司的AT89S52,如图A-4所示。图A4 选择CPU器件图接下来弹出一个如图 1。5所示的对话框.该对话框提示您是否要把标准8051的启动代码添加到工程中去。Keil C51既支持C语言编程也支持汇编语言编程。如果打算用汇编语言写程序,则应当选择“否(N)”;如果打算用C语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。在这里,我们选择“否(N)”,即不添加启动代码。如图A5所示。图A-5 添加启动代码询问图至此,一个空的Keil C51工程建立完毕。 执行菜单“File | New”,出现一个名为“Text n”(

39、其中n表示序号)的文档。如图A6所示。图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

40、Source Group 1”项,将弹出如如图A7所示的对话框。图A-7 添加源程序文件到工程到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。双击“ledflash。c打开源程序窗口,然后输入完整的程序代码。代码如下: include reg51.h/包含头文件REG51.Hsbit P1_0=P11;/定义位名称void delay(unsigned char i);/延时函数声明void main()/主函数 while(1) P1_1=0;/点亮信号灯 delay(10);/调用延时函数,实际变量为10 P1_1=1;/熄灭信号灯 delay(10);/调用延时函数,实

41、际变量为10 /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i255次/返回值:无void delay(unsigned char i)/延时函数, i为形式参数 unsigned char j,k;/定义无符号字符型变量j和k for(k=0;ki;k+)/双重for循环语句实现软件延时 for(j=0;j255;j+);单击“File Save”保存程序。设置开发环境参数,单击“Option选项,在“Output”标签页,选中“Create HEX File”项,然后“确定”。单击工具栏的按钮“ ”编译当前源程序。编译结果会显示在输出窗口内。如果是“0 Error(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服