单片机Keil C51和PROTEUS实验指导书
- 格式:doc
- 大小:2.88 MB
- 文档页数:20
单片机原理及应用
随堂实验报告
实验一 Keil及Proteus软件的使用
一、实验目的
1、掌握利用Keil和Proteus软件进行C51程序设计与仿真
2、初步掌握Keil软件的操作
3、熟练掌握Keil软件的编译和调试
4、初步掌握Proteus软件的操作
二、实验要求
自己根据C语言掌握的情况,针对单片机的特点设计一个简单的C51程序,通过Keil程序开发设计软件进行编辑、编译,并在Proteus软件上设计出相应的仿真图,烧录Keil生成的HEX文件,进行实例仿真。
三、实验实现的功能说明
本人实现的主要功能是利用单片机的P1口控制LED灯亮灭灯的功能。
LED灯在程序的控制下能闪烁(间隔1秒)。
(具体说明程序的功能)
四、实验实现的原理及仿真电路设计
实验原理:P1口输出高电平驱动LED灯亮,输出低电平驱动LED 灯灭。
通过编程,让P1口间隔输出高低电平,从而使得LED灯出现闪烁状态。
为了使闪烁间隔1秒,经测试,大概使用了200次空语句循环。
(具体自己是如何实现的)
下图为实验原理电路图:(按自己实际的设计图来准备)
五、实验流程图:
(请百度流程图的符号标记,使用visio作图)
六、实验主要功能代码
(只列出主要功能代码,不必要的东西不要贴上来!)控制间隔时间的部分代码:
xxxxxx
xxxxxxx
控制LED灯亮灭的代码
xxxxxx
xxxxxxx
七、实验过程及实验情况
(描述你在做这个实验中遇到的问题,以及解决的方法。
包括实验前、实验时)
八、实验小结,
(对实验中遇到的问题进行小结。
)。
KEILC51和PROTEUS的使用KEILC51是一款针对51系列单片机的集成开发环境,可以方便地进行编译、调试和仿真。
PROTEUS是一款集成电路设计软件,可以用于电路图的设计、仿真和调试。
本文将介绍KEILC51和PROTEUS的使用方法。
一、KEILC51的安装和使用2. 安装完成后,打开KEIL C51,创建一个新项目。
选择新建一个“Project”。
在对话框中输入项目名称,并选择项目的存放路径。
3.在项目内部,可以添加源文件、库文件和头文件。
可以通过右键单击项目名称,选择“添加”,然后选择相应的文件类型进行添加。
4. 在源文件中编写C语言程序。
可以使用标准的C语法进行编写,也可以使用Keil C51提供的51系列特定的语法进行编写。
5. 进行编译和生成可执行程序。
在菜单栏中选择“Project”->“Build Target”,或者使用快捷键“Ctrl+F7”进行编译。
编译完成后,会在项目目录下生成相应的可执行程序。
6. 进行调试和仿真。
在菜单栏中选择“Debug”->“Start/Stop Debug Session”,或者使用快捷键“F5”进行调试。
可以设置断点、单步执行、查看变量值等进行调试。
二、PROTEUS的安装和使用2. 安装完成后,打开PROTEUS,创建一个新电路。
选择“Schematic Capture”->“Design”创建一个新的电路图。
在电路图中添加所需的元件,例如电阻、电容、晶体管等。
3.连接元件之间的引脚,可以使用连线工具进行连线。
在连线时,可以使用自动连接功能快速连接元件之间的引脚。
4.设置仿真属性。
在电路图中选择“P”工具,然后在对话框中选择相应的仿真模型和仿真参数,例如选择51系列单片机的仿真模型。
5. 进行仿真和调试。
在菜单栏中选择“Debug”->“Start Debugging”,或者使用快捷键“F5”进行仿真。
可以查看元件的工作状态,观察电路的波形等进行调试。
实验1 PROTEUS与KEILC的使用一、实验目的和要求1.应用PROTEUS仿真工具软件绘制硬件连接图;2.使用Keil C 完成程序的编写和调试。
二、实验设备1.PROTEUS仿真软件;2.Keilc51软件及电脑一台。
三、实验内容本实验就是学会PROTEUS仿真软件与KEIL编译环境的使用,让学生提高分析问题和解决问题的能力,最终能够胜任智能电子系统的调试。
四、实验原理1. Proteus仿真软件Proteus 是一个完整的嵌入式系统软、硬件设计仿真平台。
Proteus电路设计是在功能强大的原理布线工具PROTEUS ISIS环境中进行绘制的。
Proteus ISIS编辑环境具有友好的人机交互界面,设计功能强大,使用方便,易于上手。
1、 PROTEUS构成⑴原理图输入系统ISIS⑵混合模型仿真器⑶动态器件库⑷高级图形分析模块⑸处理器仿真模型VSM⑹布线/编辑ARES2、 PROTEUS ISIS 编辑环境电路设计是在PROTEUS ISIS环境中进行绘制的。
PROTEUS ISIS编辑环境具有友好的人机交互界面,而且设计功能强大,使用方便,易于上手。
当运行PROTEUS ISIS 的执行程序后将进入PROTEUS ISIS的编辑环境如图1-1图1-1 PROTEUS ISIS的编辑环境如图选择相应的工具箱图标按钮,系统将提供不同的操作工具。
对象选择器根据选择不同的工具箱图标按钮决定当前状态显示的内容。
显示对象的类型包括元器件、终端、引脚、图形符号、标注和图表等。
工具箱中各图标按钮对应的操作如下:选择元器件在原理图中标注连接点。
标志线段(为线段命名)。
在电路输入脚本。
在原理图中绘制总线。
绘制子电路块。
可以单击任意元器件并编辑元器件的属性。
对象选择器列出各种终端(输入、输出、电源和地等)。
对象选择器将出现各种引脚(如:普通引脚、时钟引脚、反电压引脚和短接引脚等)。
对象选择器出现各种仿真分析所需的图表(如:模拟图表、数字图表、噪声图表混合图表和A/C图表等)。
《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验实验目的(1)了解Keil和Proteus软件的基本特点和功能。
(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。
(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。
(4)学会使用Keil和Proteus两种软件的联调。
实验指导一、Keil C51的使用1.创建项目编写一个新的应用程序前,首先要建立项目(Project)。
(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。
(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。
在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。
在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。
(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。
搜索“AT89C52”并选择。
(4)单击“确定”按钮后,会出现对话框。
如果需要复制启动代码到新建的项目,选择单击“是”。
如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。
2.新建文件新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。
(1)单击快捷按钮,这时会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。
(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。
目录实验一I/O 口输出控制实验 (20)实验二I/O 口输入输出控制实验 (24)实验三中断程序设计练习 (34)实验四定时器、计数器实验 (32)Keil C51 集成开发环境介绍1、打开计算机,运行Keil C51 集成开发环境。
图1-1 第一次启动Keil C图1-2 Keil C μVision2 操作界面Keil C 软件菜单命令非常丰富,常用的菜单命令都有对应的快捷键和快捷图标,自己可以打开相应的菜单,熟悉各种命令。
2.选择“Project”-“New Project…”建立新的工程文件(注意工程文件放置的文件夹),输入文件名,选择“保存”。
图1-3 创建一个新工程图1-4 为新工程命名并保存3.工程保存后会弹出来一个器件选择窗口,这里需要选择单片机芯片类型。
器件选择的目的是告诉μVision2 最终使用的80C51 芯片的型号是哪一个公司的哪一个型号,因为不同型号的51 芯片内部的资源是不同的。
图1-5 器件选择窗口如果不知道自己需要使用什么型号的芯片,暂时选择“Atmel”下的“AT89C51”,然后在接下来的窗口中,选择“是”,加载芯片基本参数。
图1-6 选择AT89C51 芯片4.选择“File”-“New”或者点击新文件快捷图标,会打开一个文本编辑器窗口。
输入下列数据传送的程序,然后选择“File”-“Save…”,注意保存的时候给文件起名字以后,加个文件名后缀,Keil C 支持汇编语言及C 语言编程,它是依靠文件名后缀来判断文件是汇编语言还是C 语言格式的,如果是汇编语言,后缀为“.asm”,C 语言格式的,后缀为“.c”。
我们根据实验要求选择保存为汇编语言格式或C 语言格式。
注意此时程序中的一些代码和寄存器将会自动蓝色显示,方便观察。
图1-7 创建一个新文件图1-8 输入程序并保存文件5.选择“Project”-“Targets,Groups,Files…”,选择“Groups/Add Files”标签,首先点击下边窗口中的“Source Group 1”,然后选择下边的“Add Files to Group…”,在接下来的窗口中,首先选择你需要加入的文件的后缀名(默认是.c,我们可选择“Asm Sourcefile,即后缀为.asm”)。
《单片机原理与应用》KeilC51软件使用实验
一、实验目的和要求
熟悉51单片机的基本输入输出应用,掌握Proteus ISIS模块原理图绘图方法及单片机系统仿真运行方法。
二、实验内容和原理
(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能。
(2)学会选择元件、画导线、画总线、修改属性等操作。
(3)学会可执行文件加载及程序仿真运行。
(4)验证计数显示器的功能。
三、主要仪器设备
电脑、keil c51、Proteus
四、操作方法与实验步骤
(1)提前阅读与实验1相关的阅读材料;
(2)参考实验1电路原理图和元件清单,在ISIS中完成电路原理图的绘制;(3)加载可执行文件,观察仿真结果,检验电路图绘制的正确性。
五、实验数据记录和处理
代码:
电路图:
六、实验结果与分析运行结果:
实验分析:
由实验结果可知,这是通过开关控制计数器显示,按一次开关计数器计一次数,即加一。
七、讨论和心得
通过本次数码管进行51计数器显示实验,让我知道了对教材应该熟悉,因为教材是基础的,只有把基础的搞好了才能够进行其它层次的学习。
其次,此次实验我还懂得了有时候可以通过软件的仿真来验证书上的一些理论性的东西。
通过C语言的编程,对数码管及51的应用让我对单片机理解更加明了。
实验:KEIL51和proteus仿真软件的使用一、实验目的1、掌握KEIL51软件的使用方法2、掌握proteus仿真软件的使用方法二、实验设备及软件1、单片机实验板2、PC机3、KEIL514、proteus三、实验任务KEILC和proteus仿真软件的使用方法四、实验步骤1、Proteus ISIS 设计单片机电路的基本步骤:(1) 新建设计文件夹或打开一个现有的设计文件。
(2) 选择元器件(通过关键字或分类检索)。
(3) 将元器件放入设计窗口。
(4) 添加其他模型(电源、地线、信号源等)和相关的虚拟仪器。
(5) 编辑和连接电路。
(6) 编写单片机所需的源程序。
(7) 加入源程序,并通过构造,得到仿真程序或目标程序。
(8) 根据需要,设置对象的属性,如将单片机的”Program File”属性设置为上述仿真调试程序或目标程序。
(9) 启动仿真功能,对电路进行仿真操作,验证其功能。
2、Keil 51基本步骤(1)单击Project菜单项,选择New Project项。
此时弹出Create New Project对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。
单击保存。
(2)根据所用的器件,选择CPU的型号,单击确定。
(3)Keil51询问是否生成默认的配置文件,这个可选可不选。
单击NO,观察项目文件管理窗口的变化。
(4)在File菜单下单击New选项,新建文件。
此时在代码窗口出现一“Text1”空白文档。
(5)在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。
注意在对文件命名时必须加扩展名.asm。
(6) 在项目导航栏中Source Group 上单击右键,选Add File to Group ‘Source Group 1’。
弹出Add File 对话框。
选中刚才保存的xxxx.asm.文件,单击Add,然后关闭对话框。
此时在项目文件管理窗口中就会出现刚才所添加的文件xxxt.asm。
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
Keil C51实验工程Keil C51实验工程 (1)一、单片机的10编程................................................... 2 b5E2 RGbCAP实验1 I0开关量输入实验 (3)实验2 I0输出驱动继电器<或光电隔离器)实验 (4)实验3 I0输入/输出---半导体温度传感器DS18B20实验 (5)二、单片机的中断系统 (6)实验1外部中断----脉冲计数实验 (6)实验1计数器实验 (7)实验2 秒时钟发生器实验 (9)四、单片机的串口特点和编程 (10)实验1 PC机串口通讯实验 (10)实验2 RS485通讯实验 (12)五、存储器 (13)实验1 RAM存储器读写实验 (13)六、PWM发生器 (14)实验1PWM发生器<模拟)实验 (14)实验2蜂鸣器实验 (15)七、WDG看门狗 (16)实验1 外扩WDG<MAX705)实验 (16)实验2 WDG<内部)实验 (17)八、SPI总线 (18)实验1 SPI<模拟)实验-----TLC2543 AD转换实验 (18)实验2 SPI<模拟)实验-----TLV5616 DA 转换实验 (19)九、I2C总线 (20)实验1 I2C<模拟)实验-----IC卡<AT24C01 )读写实验 (20)十、综合实验 (22)实验1 HD7279LED数码管显示实验 (22)实验2 HD7279键盘实验 (22)实验3电机转速实验 (23)十一、步进电机实验 (25)实验 1 步进电机正反转实验 (25)十二、TFT液晶显示实验 (25)实验1 TFT液晶显示彩色条纹实验 (25)十三、16X16LED 点阵显示汉字实验 (26)实验 1 16X16LED 点阵显示汉字实验 (26)、单片机的10编程实验1 IO开关量输入实验目的:学习单片机读取10引脚状态的的方法。
内容:编程读取10引脚状态。
一 KEIL C51的使用编译软件KEIL C51支持C语言以及汇编语言,同时支持C语言及汇编语言的混合编程。
操作步骤:1.工程的建立:打开软件,新建工程(点击Project 菜单,选择New project ),所有的工程保存在一个文件夹下。
在文件名中输入项目名称,保存后的扩展名为uv2,这是KEIL Uvision2项目文件扩展名,接着会弹出对话框,选择单片机型号。
选择框中有各种公司的简称,选择你所使用的单片机型号,并确定。
2.汇编源文件的建立:点击new file ,会出现一个文本编辑窗口,在该窗口里面输入程序。
建立文件后保存。
文件是汇编语言编写则保存的文件后缀名为.asm。
3.点击Target1前面的+号,出现source group ,source group 中什么也没有。
此时表明仅仅建立了工程,这个工程下面什么文件都没有。
选中source group右键点选 add files group source group1(增加文件到工程),定位刚才编辑的文件,把文件添加进入。
这时候会发现source group前面多了一个+,点击+,就可以看见编辑的文件。
双击文件可以进入文件的编辑框。
4.接下来要对目标进行一些设置。
鼠标右键单击Target1,在弹出的菜单中选择options for target “target1”,在弹出的options for target target1对话框进行设置。
设置Target选项卡:●Xtal(MHZ):设置单片机的工作频率。
●Use on—chip ROM:表示使用片上的FLASH ROM,AT89C51有4KB的可重编程Flash ROM,该选项取决于单片机应用系统,如果单片机的EA接高电平,则选中这个选项,表示使用内部ROM,如果EA接低电平,表示使用外部ROM,则不选中该选项。
●Off-chip code memory :表示片外ROM的开始地址和大小。
Keil C51编译器使用方法n双击图标打开Keil C51编译器n新建一个工程:Project->New Vision Projectn弹出Create New Project对话框后,先在桌面新建一个名为exp_1的文件夹n双击进入exp_1文件夹,在Create New Project对话框的文件名处输入工程名exp_1,并点击“保存”按钮n在器件列表中选择Atmel公司的AT89C51,并点击“确定”n弹出下列对话框,点击“是”n右键单击左侧Project Workspace区域中的T arget 1,选择Options for T arget ‘T arget 1’n将T arget选项下的Xtal设为12n将Output选项下的Create HEX File选中,并单击确定n点击工具栏上的新建图标n点击工具栏上的保存图标n弹出另存为对话框,在文件名处,输入exp_1.c,然后点击保存n右击Source Group 1,选择Add Files to Group ’Source Group 1’n在弹出对话框中,选中exp_1.c文件,然后依次点击Add按钮和Close按钮n在文件编辑区为exp_1文件输入如下代码n单击图标,进行编译,并查看编译结果Proteus ISIS 操作小指南n ISIS 编辑器概况n 基本操作u 缩放(最方便的几种)v 滚动滚轮(鼠标中键)v F6放大,F7缩小v 利用工具栏上的快捷图标v 在预览窗口上滚动滚轮v F8可迅速的将电路图以整幅方式显示u 拖动(最方便的几种)v 在编辑窗口内部单击(也就是按一下就松开)滚轮,进入拖动模式,在需要停止的地方再次单击滚轮或左键v 将鼠标箭头移至编辑窗口中的目标位置,按下F5键,则此时画面的中心将自动调整至鼠标箭头所指位置v 按住SHIFT 键,向编辑窗口的边缘移动鼠标箭头,其中箭头向上边缘移动时,画面上移;箭头向下边缘移动时,画面下移;左右边缘分别左移和右移v 在预览窗口中单击左键,进入拖动模式,再次单击左键,退出拖动模式v 利用工具栏上的拖动图标n 鼠标显示样式变化及相应提示在选择模式下,但鼠标指针下方并无可选对象当前处于放置模式下,单击鼠标左键可放置一个对象绘制导线 绘制总线编辑窗口 对象窗口 预览窗口对象位于鼠标指针下方,单击右键即可选中该对象对象已被选中,按住鼠标左键可进行对象拖拽该导线可利用按住左键的方式进行拖拽n打开ISIS,新建一个设计,并将文件以exp_1为文件名保存在Keil的exp_1工程文件夹中。
目录实验一单片机仿真开发系统的使用 (2)1.1 Keil C51 集成开发环境介绍 (2)1.2 用Proteus仿真软件 (6)1.3 实现单片机最小系统的简单应用。
(8)实验二显示及驱动电路设计用 (10)实验三简单输入/输出实验 (12)实验四外部中断的运用 (14)实验五单片机内部定时/计数器实验 (15)实验六串行口通信设计 (17)实验七直流电机控制 (18)实验八步进马达控制 (19)实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、 新建源程序文件在下图中单击“File ”菜单,选择下拉菜单中的New 选项,新建文件后得到如图的界面:⑤、 保存源程序文件单击“File ”菜单,选择下拉菜单中的Save 选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File ”,在下拉菜单中选中“Save As ”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target ”前面的“+”,再在“Source Group ”上单击右键,得到如图所示的对话框,选择“Add File to Group ’ Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add ”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c ”文件。
Proteus MCS-51教学实验指导书目录第一部分验证性实验实验一 I /O口输出实验—LED流水灯实验 (6)一、实验要求 (6)二、实验目的 (6)三、实验电路及连线 (6)四、实验说明 (7)五、实验流程图 (7)六、实验步骤 (7)七、实验结果和体会 (8)八、建议 (8)实验二 I/O口输入/输出实验—模拟开关灯 (9)一、实验要求 (9)二、实验目的 (9)三、实验电路及连线 (9)四、实验说明 (10)五、实验程序流程图 (10)六、实验步骤 (10)七、实验结果和体会 (11)八、建议 (11)实验三 8255I/O扩展实验 (12)一、实验要求 (12)二、实验目的: (12)三、实验电路及连线 (12)四、实验说明 (13)五、实验程序流程图 (13)六、实验步骤 (13)七、实验结果和体会: (14)八、建议 (14)实验四无译码的七段数码管显示实验 (15)一、实验要求 (15)二、实验目的 (15)三、实验电路及连线 (15)四、实验说明 (15)五、实验程序流程图 (16)六、实验步骤 (16)七、实验结果和体会 (17)八、建议 (17)实验五 BCD码译码的多位数码管扫描显示实验 (18)一、实验要求 (18)二、实验目的 (18)三、实验电路及连线 (18)四、实验说明 (18)五、实验程序流程图 (19)六、实验步骤 (19)七、实验结果和体会 (20)八、建议 (20)实验六独立式键盘实验 (21)一、实验要求 (21)二、实验目的 (21)三、实验电路及连线 (21)四、实验说明 (21)五、实验程序流程图 (22)六、实验步骤 (22)七、实验结果和体会 (23)八、建议 (23)实验七计数器实验 (24)一、实验要求 (24)二、实验目的 (24)三、实验电路及连线 (24)四、实验说明 (24)五、实验程序流程图 (24)六、实验步骤 (25)七、实验结果和体会 (25)八、建议 (25)实验八定时器实验 (26)一、实验要求 (26)二、实验目的 (26)三、实验电路及连线 (26)四、实验说明 (26)五、实验程序流程图.................................................. .. (27)六、实验步骤 (27)七、实验结果和体会 (28)八、建议 (28)实验九单个外部中断实验 (30)一、实验要求 (30)二、实验目的 (30)三、实验电路及连线 (30)四、实验说明 (30)五、实验程序流程图 (31)六、实验步骤 (31)七、实验结果和体会 (32)八、建议 (32)实验十多个中断同时存在实验 (33)一、实验要求 (33)二、实验目的 (33)三、实验电路及连线 (33)五、实验程序流程图 (34)六、实验步骤 (34)七、实验结果和体会: (36)八、建议 (36)实验十一矩阵键盘扫描实验 (37)一、实验要求 (37)二、实验目的 (37)三、实验电路及连线 (37)四、实验说明 (37)五、实验流程图 (38)六、实验步骤 (38)七、实验结果和体会 (40)八、建议 (40)实验十二串行端口输出扩充实验 (41)一、实验要求 (41)二、实验目的 (41)三、实验电路及连线 (41)四、实验说明 (41)五、实验流程图 (42)六、实验步骤 (42)七、实验结果和体会 (44)八、建议 (44)实验十三串行端口输入扩充实验 (45)一、实验要求 (45)二、实验目的 (45)三、实验电路及连线 (45)四、实验说明 (46)五、实验流程图 (46)六、实验步骤 (46)七、实验结果和体会 (47)八、建议 (47)实验十四 8051与PC之间串行通信实验 (48)一、实验要求 (48)二、实验目的 (48)三、实验电路及连线 (48)四、实验说明 (48)五、实验流程图 (49)六、实验步骤 (50)七、实验结果和体会 (51)八、建议 (51)第一部分验证性实验实验一 I /O口输出实验—LED流水灯实验一、实验要求利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。
目录实验一单片机仿真开发系统的使用 (2)1.1 Keil C51 集成开发环境介绍 (2)1.2 用Proteus仿真软件 (6)1.3 实现单片机最小系统的简单应用。
(8)实验二显示及驱动电路设计用 (10)实验三简单输入/输出实验 (12)实验四外部中断的运用 (14)实验五单片机内部定时/计数器实验 (15)实验六串行口通信设计 (17)实验七直流电机控制 (18)实验八步进马达控制 (19)实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、新建源程序文件在下图中单击“File”菜单,选择下拉菜单中的New选项,新建文件后得到如图的界面:⑤、保存源程序文件单击“File”菜单,选择下拉菜单中的Save选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target”前面的“+”,再在“Source Group”上单击右键,得到如图所示的对话框,选择“Add File to Group’Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c”文件。
注意扩展名⑦、输入源程序源程序输入完成后保存,得到如图所示的界面。
程序中的关键字以不同的颜色提示用户加以注意,这就是事先保存待编辑的文件的好处,即Keil c51会自动识别关键字⑧、编译调试源程序在上图中,单击Project菜单,在弹出的下拉菜单中选中Built Target选项,再单击Debug 菜单,在弹出的下拉菜单中选中Start/Stop Debug Session选项, 编译成功后,再单击Debug 菜单,在弹出的下拉菜单中选中Go选项,进行源程序调试。
如图所示。
⑨、查看分析结果单击Debug菜单,在弹出的下拉菜单中选中Stop Running选项, 单击View菜单,在弹出的下拉菜单中选中Serial Windows #1 选项,可以看到程序运行的结果,如图所示:⑩、生成Hex代码文件将编译调试成功的源程序生成可供单片机加载的Hex代码文件,单击Project菜单,在弹出的下拉菜单中选中Options for Target’Target 1’选项,在弹出的对话框中单击Output选项,选中其中的“Create HEX File”项。
其他选项可以不考虑,如图所示:到此,一个完整的工程项目就在Keil C51软件上就编译完成必须选中把生成的.HEX代码烧写到8051芯片中,完成软件程序到代码的转换。
1.2 用Proteus仿真软件电路原理图如图所示单片机中常用的元件在下表中查找五、实验注意事项1、Keil C51软件在使用调试中会出现由于录入出现的各种错误和程序本身语法错误,要学会自己排除错误。
2、在进行Keil C51软件编译时,要注意软件参数设置。
3、在进行Proteus软件仿真时,要注意与Keil C51软件之间互调设置。
1.3 实现单片机最小系统的简单应用。
要求:P1口控制32个发光二极管LED循环点亮。
一、实验目的1.熟悉PROTEUS单片机仿真软件的使用。
2. 熟悉Keil C51软件的使用3.掌握单片机I/O口输出的控制方法。
二、实验设备(仪器)PC 微机一台三、实验内容1.按照Keil C51 集成开发环境的要求,建立一段P0~P3口作为输出端口的程序,然后进行编译并进行软件仿真。
2.运用PROTEUS绘制原理图,控制P0~P3输出端口,以控制32位LED流水灯的造型,参考电路如下。
四、实验步骤1.单片机I/O 接口原理图的设计,当单片机P0~P3口某位为低电平时,对应的LED会亮,反之熄灭。
2.打开Keil C51 集成开发环境,建立一个工程并设计相应程序,完成对P0~P3口进行赋值控制LED灯的亮灭,并在空白部分填加注释。
3.对程序并进行编译、调试,观察、分析实验现象。
五、预习要求1.预习8位LED点亮实验例程,理解其程序,掌握LED的工作原理,其工作特性如图1-1所示。
图1-1 LED 的工作特性2.Keil C 软件的调试方法及相关硬件设置。
3. PROTEUS软件元件库调用及电路设计,LED驱动电路的连接如图1-2所示。
图1-2 LED端口驱动电路六、实验报告要求1.描述32位LED闪烁程序并添加注释。
2.把设计的PROTEUS仿真图,写入实验报告。
3.思考题:请思考并描述调试工具中单步调试、运行、步入、步出的区别。
实验二显示及驱动电路设计用一、实验目的1.熟悉7段LED数码管、继电器、蜂鸣器等输出设备的结构及其工作原理,编写其驱动。
2. 熟悉Keil C51软件的使用,熟悉PROTEUS单片机仿真软件的使用。
3.掌握单片机I/O口输出的控制方法,掌握单片机对数码管的静态显示控制方式。
二、实验设备(仪器)PC 微机一台三、实验内容1.按照Keil C51 集成开发环境的要求,设计1位7段LED数码管显示和继电器控制的程序。
2.运用PROTEUS绘制原理图,设计与程序一致的输出控制电路,以控制7段LED数码管和继电器,实现数码管倒计时到0时,继电器吸合并驱动蜂鸣器发声。
四、实验步骤1.单片机I/O 接口原理图的设计,驱动7段LED数码管显示电路,控制继电器\蜂鸣器发声电路或发光二极管闪烁电路,参考电路如下。
2.打开Keil C51 集成开发环境,建立一个工程并设计相应程序,完成对数码管、继电器和蜂鸣器的控制,并在空白部分填加注释。
3.对程序并进行编译、调试,观察、分析实验现象。
五、预习要求1.掌握数码管、继电器、蜂鸣器等输出设备的结构及其工作原理,预习7段LED 点亮实验例程,理解其程序。
○1单个数码管 ○2继电器○3蜂鸣器2.Keil C 软件的调试方法及相关硬件设置。
3. PROTEUS 软件元件库调用及电路设计。
六、实验报告要求1.描述数码管、继电器驱和蜂鸣器动程序并注释。
2.把设计的PROTEUS 仿真图,写入实验报告。
3.心得体会及其他。
图2-2 1P 和2P 继电器结构原理图图2-3 蜂鸣器驱动电路图2-1 数码管结构原理图实验三简单输入/输出实验一、实验目的1.掌握单片机的键盘的组成硬件电路。
2.掌握按键去抖动的方法。
3.掌握条件转移的程序设计方法。
二、实验设备(仪器)PC 微机一台三、实验内容1.判别有无键按下。
2. 键盘扫描取得闭合键的键值。
3. 判断闭合键是否释放,如没释放则继续等待。
4. 将闭合键的键值保存,同时转去执行该闭合键的功能。
四、实验步骤1.参考原理图1如图3-1所示。
图3-1 原理图2.打开Keil C51集成开发环境,设计按键处理程序,上电时P2所接灯熄灭,P0口所接灯点亮,K1键按下P0口所接灯一盏灯亮并上移,K2键按下P0口所接灯一盏灯灯下移,K3键按下P2口所接灯一盏灯亮并上移,K4键按下P2口所接灯一盏灯灯下移,在程序空白处填加注释。
3. 参考原理图2如图3-2所示。
4.打开Keil C51集成开发环境,设计按键处理程序,,P0口所接灯熄灭,K1,K2键按下LED 灯亮,松开时灭,K3,K4键按下LED灯亮再次按下时灭,在程序空白处填加注释。
五、预习要求1.对教材中例程分析并按实验要求加以补充修改。
2.Keil C 软件的调试方法及相关硬件设置。
3. PROTEUS软件元件库调用及电路设计。
六、实验报告要求1.设计键盘处理程序并添加注释。
2.把设计的PROTEUS仿真图,写入实验报告。
3.思考题:什么是按键去抖,为什么按键程序需要进行去抖动处理,一般按键去抖的硬件处理方法和软件处理方法分别是怎样的。
实验四外部中断的运用一、实验目的1.学习并掌握外中断的使用。
2.学习中断处理程序的编程方法。
二、实验设备PC 微机一台三、实验内容1.使用单脉冲作中断源,每按一次按钮,响应一次外部中断;2. 实现中断的嵌套功能,设置其优先级;四、实验步骤1.本实验电路如下所示。
五、预习要求1.中断控制寄存器的定义。
2.外中断的初始化过程,入口地址等相关知识。
3.熟悉并分析实验例程。
4.完成预习报告。
六、实验报告要求1.编写程序并加上注释;2.把设计的PROTEUS仿真图,写入实验报告。
6.思考题:单片机外中断两种触发方式的区别,各适用于何种情况。
实验五单片机内部定时/计数器实验一、实验目的1.学习并掌握单片机定时器中断的使用。
2.掌握定时器中断溢出时间的计算。
3.了解单片机定时器各工作模式的区别。
二、实验设备(仪器)PC 微机一台三、实验内容1. 连线并编制程序。
使用定时器1中断,按方式1工作,得到1S的定时;按方式2工作,得到4ms的定时。
2.初始化程序包括定时器初始化和中断系统初始化。
主要对IP,IE,TCON,TMOD 的相应位进行正确的设置,并将时间常数送入定时器中。
由于只有定时器中断,IP不必设置。
3.设计中断服务程序和主程序中断服务程序除了要完成计时工作外,还要实现动态显示。
四、实验步骤1.电路设计,参考电路如下。
2. 软件设计:扩展单个按键,使其具有“开启/停止/清零”的功能,开启:可以实现0—99S 的计时,停止:能显示记录的时间,清零:具有清除当前记录重新记录数据。
五、预习要求1.预习单片机定时器的工作方式及中断处理方法。
2.掌握定时器初始化方法。
3.预习实验例程:定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/2。
本实验中时钟频率为12M,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔0.05 秒产生一次中断,CPU响应中断后R0中计数值减一,令(R0)=14H,即可实现1 秒的延时。