Proteus仿真单片机实验
- 格式:doc
- 大小:8.01 MB
- 文档页数:47
基于proteus仿真软件在单片机中的应用Proteus仿真软件是一种非常流行的电路仿真软件,该软件主要用于电子电路的设计和仿真。
在单片机中,基于Proteus仿真软件的应用非常广泛,可以帮助设计师和工程师快速有效地验证设计和解决问题。
首先,Proteus仿真软件可以用来设计和仿真各种类型的单片机电路。
这包括各种微控制器,比如8051、PIC、AVR等等。
通过Proteus仿真软件,设计师可以进行电路图绘制、仿真分析和代码开发等工作。
因此,该软件在单片机的设计中起到了非常重要的作用,可以帮助设计师加快开发速度,降低开发成本。
其次,Proteus仿真软件还可以用来模拟和测试单片机的工作效果。
设计师可以使用该软件来模拟单片机的运行情况,包括输入、输出、中断和计时器等。
通过模拟和测试,设计师可以发现电路中存在的问题,如电路连线错误、代码漏洞和电路不稳定等,从而减少设计师在实际环境下的调试时间和成本。
另外,Proteus仿真软件还具有良好的可视化效果,可以让设计师更加清晰地观察单片机运行的情况。
该软件可以将运行过程以动画或图形的形式展现出来,让设计师更加直观地了解电路中各个元件之间的关系,从而更快地解决问题。
最后,基于Proteus仿真软件,我们还可以开发出一些教育性的单片机实验项目,方便学生理解和掌握电子电路的原理和工作方式。
这些项目可以分为不同难度等级,从入门级到高阶级别,适合不同水平的学生使用。
通过这些实验项目,学生可以掌握电子电路的设计和应用,提高他们的实践操作能力。
总之,在单片机中,基于Proteus仿真软件的应用非常广泛,不仅可以帮助设计师和工程师更加高效地完成工作,还可以为学生提供更加全面的实践体验,从而不断推动电子电路领域的发展。
proteus单片机实验报告
Proteus单片机实验报告
一、实验目的
本次实验旨在通过Proteus单片机仿真软件,探索单片机的基本原理和应用,加深对单片机工作原理的理解,提高对单片机编程的熟练程度。
二、实验内容
1. 搭建单片机电路
在Proteus中选择合适的单片机模型,搭建基本的单片机电路,包括单片机、晶振、电源等。
2. 编写程序
利用Proteus提供的编程环境,编写简单的单片机程序,如LED灯闪烁、数码管显示等。
3. 仿真调试
通过Proteus的仿真功能,调试程序,观察单片机在仿真环境下的运行情况,检查程序是否正常运行。
三、实验步骤
1. 打开Proteus软件,选择合适的单片机模型,搭建单片机电路。
2. 编写简单的单片机程序,如让LED灯交替闪烁。
3. 在Proteus中进行仿真调试,观察程序运行情况。
四、实验结果
通过实验,我们成功搭建了单片机电路,并编写了简单的程序。
在Proteus的仿真环境下,LED灯按照设定的程序交替闪烁,证明程序正常运行。
五、实验总结
通过本次实验,我们加深了对单片机的理解,掌握了在Proteus中搭建单片机电路、编写程序并进行仿真调试的基本方法。
同时,也提高了对单片机编程的熟练程度。
总之,Proteus单片机实验为我们提供了一个良好的学习平台,使我们能够更好地理解单片机的工作原理和应用,为以后的学习和实践打下了坚实的基础。
希望通过不断地实践和探索,能够更深入地理解单片机的原理,并在实际应用中发挥其巨大的作用。
实验一 Proteus仿真软件使用方法一.实验目的:(1)了解Proteus仿真软件的使用方法。
(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。
二.实验要求:通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。
三.实验内容:(1)Proteus 仿真软件介绍Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。
它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。
通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。
图1是Proteus ISIS的编辑窗口:图1 ISIS的编辑界面图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。
选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图2的元器件选择界面:图2 元器件库选择界面在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图2中间的大空白框列出你所需的一系列相关的元件。
此时,你可用鼠标选中你要的元件,则图2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图1左侧的“对象选择窗口”中(参见图1左侧下方框)。
仿真单片机c语言程序设计实训100例基于pic proteus
仿真
单片机上使用C语言进行程序设计的基本步骤和要点:
1. **理解硬件**:在开始编程之前,你需要对单片机的硬件有深入的理解。
这包括它的内存结构,输入/输出端口,以及任何特定的硬件特性。
2. **选择开发环境**:有很多可用的单片机开发环境,如Keil、IAR Embedded Workbench等。
这些环境都支持C语言编程,并且提供了编译、调试等功能。
3. **编写代码**:在理解了硬件和开发环境之后,就可以开始编写代码了。
这可能包括配置IO端口,读写内存,以及控制单片机的各种功能。
4. **编译代码**:在大多数开发环境中,你都可以直接编写和编译代码。
编译过程会将你的C代码转换成单片机可以执行的机器码。
5. **调试代码**:这是整个开发过程中最重要的一步。
你可以使用开发环境提供的调试工具来检查你的代码是否按照预期工作。
这可能包括查看变量的值,单步执行代码,以及使用断点等。
6. **仿真和测试**:在真实硬件上测试代码之前,你可以使用仿真软件(如Proteus)来模拟你的代码的行为。
这可以帮助你发现和修复一些在真实硬件上可能无法发现的错误。
7. **在真实硬件上测试**:最后,当你的代码在仿真环境中运行正常后,你就可以将其烧录到真实硬件上进行了。
以上就是在单片机上使用C语言进行程序设计的基本步骤和要点。
不过请注意,由于具体的硬件和开发环境可能会有所不同,因此具体的步骤可能会有所不同。
单片机定时器的应用Proteus仿真实验报告总结1. 背景单片机定时器是嵌入式系统中常用的功能模块之一,它可以精确地控制时间和频率,广泛应用于各种计时、测量、通信等领域。
本次实验使用Proteus软件进行仿真,通过编程控制单片机定时器的工作模式和参数,验证其在不同场景下的应用效果。
2. 分析2.1 实验目标本次实验主要目标是熟悉单片机定时器的工作原理和编程方法,并通过Proteus仿真验证程序的正确性和性能。
2.2 实验内容本次实验分为以下几个部分:1.简单定时器:设置一个固定时间间隔,在每个时间间隔结束时触发一个中断。
2.定时测量:使用计数器模式测量一个外部事件的时间间隔。
3.PWM输出:使用PWM模式生成一个可调节占空比的脉冲信号。
4.输入捕获:通过输入捕获模式获取外部事件的时间戳。
2.3 设备与材料•Proteus软件•单片机开发板•连接线等辅助材料2.4 实验步骤1.搭建仿真环境:在Proteus中选择合适的单片机模型,并与其他外部模块连接,如LED、按键等。
2.编写程序:根据实验要求,使用C语言编写相应的程序,包括定时器配置、中断处理等。
3.仿真验证:将程序烧录到单片机中,并在Proteus中运行仿真,观察定时器的工作情况和输出结果。
4.结果分析:根据实验结果进行分析和总结,评估定时器的性能和可靠性。
3. 结果3.1 简单定时器在简单定时器实验中,我们设置了一个固定的时间间隔为1秒,在每个时间间隔结束时触发一个中断。
通过LED灯闪烁来表示定时器的工作状态。
经过仿真验证,LED灯每隔1秒闪烁一次,符合预期效果。
3.2 定时测量在定时测量实验中,我们使用计数器模式测量了一个外部事件(按下按键)的时间间隔。
通过读取计数器的值,并转换为时间单位,可以得到精确的测量结果。
经过仿真验证,在按下按键后,计数器开始计时,松开按键后计数器停止,并输出测量结果。
实验结果表明,测量结果与预期值非常接近,说明定时器具有较高的精度和稳定性。
一、实习目的本次单片机仿真实习的主要目的是通过使用仿真软件,对单片机的原理和应用进行深入理解。
通过模拟单片机的实际工作过程,掌握单片机的基本编程方法和调试技巧,提高实际操作能力,为后续单片机相关课程的学习和工作打下坚实基础。
二、实习内容1. 仿真软件介绍本次实习采用Proteus软件进行仿真实验,Proteus是一款功能强大的仿真软件,能够模拟单片机的硬件电路,并提供丰富的编程环境。
2. 实验项目一:LED灯闪烁(1)设计目的:掌握单片机基本编程方法,实现LED灯的闪烁。
(2)实验步骤:a. 创建Proteus仿真项目,添加AT89C51单片机、LED灯和电源等元件。
b. 编写程序,设置单片机的工作模式,通过P1端口控制LED灯的亮灭。
c. 在Proteus中运行程序,观察LED灯的闪烁效果。
3. 实验项目二:按键输入(1)设计目的:学习按键输入的原理,实现按键控制LED灯的亮灭。
(2)实验步骤:a. 在Proteus中添加按键元件,并将其与单片机的P1端口连接。
b. 编写程序,检测按键状态,通过P1端口控制LED灯的亮灭。
c. 在Proteus中运行程序,观察按键控制LED灯的效果。
4. 实验项目三:温度传感器(1)设计目的:学习温度传感器的应用,实现温度显示和报警功能。
(2)实验步骤:a. 在Proteus中添加DS18B20温度传感器,并将其与单片机的P1端口连接。
b. 编写程序,读取温度传感器的数据,通过LCD显示屏显示温度值。
c. 设置温度报警阈值,当温度超过阈值时,LED灯闪烁报警。
5. 实验项目四:数码管显示(1)设计目的:学习数码管的应用,实现数字显示功能。
(2)实验步骤:a. 在Proteus中添加数码管元件,并将其与单片机的P1端口连接。
b. 编写程序,将数字数据显示在数码管上。
c. 在Proteus中运行程序,观察数码管显示效果。
三、实习总结1. 通过本次仿真实习,我对单片机的原理和应用有了更深入的理解,掌握了单片机的基本编程方法和调试技巧。
单片机系统设计与仿真-基于Proteus课程设计概述单片机系统设计与仿真是电子信息、计算机科学与技术等专业的一门必修课程。
本课程旨在培养学生对单片机系统的整体设计与仿真的能力,以及培养学生的团队协作和实践能力。
本文将介绍单片机系统设计与仿真的基本原理、设计流程和Proteus软件的使用,并结合一个实际的课程设计案例,详细讲解如何进行单片机系统的设计与仿真。
基本原理单片机系统单片机系统是指由单片机芯片、外围电路和软件系统构成的一个整体。
其中,单片机芯片是整个系统的核心,其通过内部的计算单元、存储单元和通信单元来实现各种功能。
而外围电路则负责提供单片机芯片所需的输入、输出信号和供电等。
设计流程单片机系统的设计流程一般包括以下几个步骤:1.确定系统需求和功能:根据具体的应用需求和设计要求,确定单片机系统的功能和性能指标,例如:输入输出方式、通信协议、时序控制等。
2.选择单片机芯片和外围器件:根据系统设计要求,选择适合的单片机芯片和外围器件,例如:传感器、驱动器、电源等。
3.电路设计:根据系统需求和芯片手册的要求,设计整个系统的电路原理图和PCB电路板图。
4.编写程序:根据系统功能和需求,编写单片机程序,完成各种功能的实现。
5.系统测试和调试:在硬件和软件都构建完成后,进行系统测试和调试,确保系统的功能和性能满足要求。
Proteus软件Proteus是一款由英国Labcenter Electronics公司开发的EDA软件,可用于电子电路、嵌入式系统的设计和仿真。
其功能强大,使用方便,广泛应用于电子、通信、计算机和控制等领域。
Proteus软件的使用Proteus软件安装Proteus软件的安装较为简单,在其官网上免费下载安装包后,按照提供的安装向导即可完成安装。
Proteus软件界面Proteus软件的主界面包括菜单栏、工具栏、构建区和输出窗口。
其中,菜单栏和工具栏提供了各种工具和命令,构建区用于构建和编辑原理图和PCB电路板图,输出窗口则用于显示仿真结果和调试信息。
Proteus仿真软件在单片机课程设计过程中的应用Proteus仿真软件是一款主要用于电子电路设计和仿真的软件,广泛应用于电子工程、自动化、工业控制、通信等领域。
在单片机课程设计中,Proteus仿真软件具有重要的应用价值。
单片机课程设计通常要求学生将电路设计和程序设计相结合,实现特定功能的自动控制系统。
Proteus仿真软件提供了完善的开发环境,包括电路设计、仿真、调试、编程等功能,为学生提供了一个高效、安全、经济的实验平台。
首先,Proteus仿真软件的电路设计功能可以让学生轻松地设计各种电路。
学生可以自己画电路图,选择器件,完成网络连接等操作。
通过实验仿真,学生可以验证电路的工作正常性,避免了实验过程中误操作导致的元器件损坏和电路走线错误。
其次,Proteus仿真软件的模拟仿真功能可以模拟各种信号,检测电路的反应。
学生可以通过在仿真平台上模拟输入和输出信号,测试电路的各个部分之间的交互,验证设计的合理性。
通过这种方式,学生可以更深入地理解电路的工作原理和信号传输过程,提高学习效果。
此外,Proteus仿真软件还具有调试和编程功能,在单片机程序开发的过程中起到了巨大的作用。
学生可以通过仿真软件编写单片机程序,调试程序代码,验证程序的正确性。
通过仿真,学生可以方便地发现程序中的错误,解决问题,提高开发效率。
总之,Proteus仿真软件在单片机课程设计过程中的应用十分重要。
它提供了电路设计、仿真、调试、编程等一系列功能,为学生提供了一个完整、高效、安全的实验平台。
学生可以在仿真平台上进行设计、调试和测试,避免了实验过程中的损坏和浪费,提高了实验的成功率和学习效果。
实验一:单片机仿真初步(二)-Proteus的使用用来仿真的单片机电路,如下图所示:电路的核心是单片机A T89C52,晶振X1和电容C1、C2构成单片机时钟电路,单片机的P1口接8个发光二极管,二极管的阳极通过限流电阻接到电源的正极。
特别注意:下面文中所有值为1K的电阻都修正成100 可以考虑把红色发光二极管换成黄色发光二极管一、新建一个设计。
单击“File”中“New Design……”,在Proteus中打开了一个空白的新电路图纸。
二、将需要用到的元器件加载到对象选择器窗口。
单击对象选择器按钮如图所示:弹出“Pick Devices”对话框,在“Category”下面找到“Mircoprocessor ICs”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机。
找到AT89C52,双击“AT89C52”。
这样在左侧的对象选择器就有了A T89C52这个元件了。
如果知道元件的名称或者型号我们可以在“Keywords”输入AT89C52,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如下图所示:在“Results”的列表中,双击“A T89C52”即可将AT89C52加载到对象选择器窗口内。
晶振CRY:无极性电容CAP:有极性电容CAP POL:红色发光二极管LED-RED:电阻RES经过前面的操作我们已经将A T98C52、晶振等元件加载到了对象选择器窗口内。
在对象选择器窗口内鼠标左键点击“AT89C52”会发现在预览窗口看到AT89C52的实物图,且绘图工具栏中的元器件按钮处于选中状态。
我们在点击“CRYSTAL”、“LED-RED”也能看到对应的实物图,按钮也处于选中状态,如图所示:三、将元器件放置到图形编辑窗口。
在对象选择器窗口内,选中A T89C52,如果元器件的方向不符合要求可使用预览对象方向控制按钮进行操作。
如用按钮对元器件进行顺时针旋转,用按钮对元器件进行逆时针旋转,用按钮对元器件进行左右反转,用按钮对元器件进行上下反转。
目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声. (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。
1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。
1.1Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
以下是一个基于8051单片机和Proteus仿真环境的C语言程序设计实例:实例1:点亮LED灯
在这个例子中,我们将使用C语言编写一个简单的程序来控制8051单片机的一个I/O引脚,使其驱动一个LED灯。
c代码:
要使用Proteus进行仿真,你需要按照以下步骤操作:
1. 打开Proteus软件,创建一个新的设计工程。
2. 在元件库中搜索并添加相应的8051单片机型号(如AT89C51)和LED 元件到工作区。
3. 根据实际硬件连接,正确配置单片机的引脚和LED的连接。
4. 右键单击单片机元件,选择“Edit Component”打开编辑窗口。
5. 在“Program File(s)”区域,点击右侧的浏览按钮,选择你的C语言源文件(如上述的main.c)。
6. 点击“OK”关闭编辑窗口,然后点击工具栏上的“Play”按钮开始仿真。
在仿真过程中,你应该能看到LED灯被点亮,这表明你的C语言程序已经在Proteus环境中成功运行。
以上只是一个基础的例子,实际的"单片机C语言程序设计实例100例--基于8051+Proteus仿真"会包含更复杂和多样化的应用场景,包括定时器/计数器
应用、中断处理、串口通信、ADC/DAC转换、液晶显示等等。
每个实例都会详细介绍程序设计思路、代码实现以及如何在Proteus中进行仿真调试。
通过这些实例的学习和实践,你可以逐步掌握8051单片机的C语言编程技巧和Proteus仿真环境的使用方法。
单片机定时器的应用proteus仿真实验报告总结一、实验目的
本次实验旨在通过使用Proteus仿真软件,掌握单片机定时器的应用,了解定时器的工作原理和使用方法。
二、实验原理
单片机定时器是一种常用的计时和延时控制器,它可以在特定时间内
产生一个周期性的信号。
单片机定时器通常由一个计数器和一个比较
器组成。
计数器会不断计数,当计数值达到设定值后,比较器会发出
一个触发信号。
通过对比较器输出信号进行处理,可以实现各种延时
和周期性控制。
三、实验材料
1. Proteus仿真软件
2. 单片机模块
3. LED灯
4. 电阻
5. 电容
四、实验步骤
1. 打开Proteus软件,并新建一个电路图。
2. 在电路图中添加单片机模块、LED灯、电阻和电容等元件。
3. 连接电路图中各元件之间的线路。
4. 设置单片机定时器参数,并编写程序代码。
5. 进行仿真测试,并记录测试结果。
五、实验结果分析
在本次实验中,我们成功地使用了Proteus仿真软件进行了单片机定
时器的应用测试。
通过设置单片机定时器参数和编写程序代码,我们
成功地实现了对LED灯的周期性控制,达到了预期的效果。
六、实验总结
通过本次实验,我们深入了解了单片机定时器的工作原理和应用方法,并掌握了使用Proteus仿真软件进行单片机定时器测试的技能。
这对
于我们今后的学习和工作都具有很大的帮助。
实验1 PROTUES环境及LED闪烁实验1.实验任务做一个闪烁灯:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒,重复循环。
2.电路原理图3.程序设计内容(1)延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大多是微秒级。
实验要求的闪烁时间间隔为0.2秒,所以在执行某一指令时,需要插入延时程序,来达到实验的要求。
延时子程序如下:DELAY: MOV R5, #20D1: MOV R6, #20D2: MOV R7, #248DJNZ R7, $DJNZ R6, D2DJNZ R5, D1RET(2)输出控制如上图所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。
实验2 外部中断实验1.实验任务设计一个交通灯正常工作程序,并在有意外情况发生的情况下,能自动中断进入到中断服务程序运行,进行紧急事故处理,处理完成后能回到正常工作程序继续运行。
如原理图所示,P1接一位数码管用于显示时间,P2端口接东西方向和南北方向红绿灯,P3.2接一个按钮用于模拟一个外部中断源,当正常工作时,东西方向绿灯亮8秒,然后南北方向绿灯亮9秒;当模拟中断源发出中断信号时,东西和南北红灯亮5秒后返回正常工作程序。
(注:这里数码管选用了共阳极的数码管)数码管的段选码如下表所示:2.电路原理图3.程序设计内容(1)从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、电解电容CAP-ELEC,晶振CRYSTAL、电阻RES、数码管7SEG-COM-CAT-GRN,按钮BUTTON,发光二极管等。
(2)设计延时程序。
实验3 T0波形发生器实验1.实验任务(1)首先用AT89C51单片机定时器/计数器0的定时功能构成一方波发生器,实现周期为400us的方波输出,如图所示,P3.5,p3.7是两个波形输出端,分别输出反相波形,两路波形输入虚拟示波器的A通道和B通道,用示波器观察方波的周期是否是400us。
单片机c语言程序设计实训100例——基于arduino+proteus仿真单片机C语言程序设计是电子信息类专业中的一门重要课程,通过学习这门课程可以掌握基本的嵌入式系统开发技术。
为了提高学生对于单片机编程能力和实践操作能力的培养,通常会进行相关实训。
在这篇文章中,我将介绍一个基于Arduino+Proteus仿真环境下的100个例题来帮助大家更好地理解和掌握单片机C语言程序设计。
每个例题都包含详细说明、代码示例以及相应功能模块在Proteus上面运行效果图等内容。
1. 闪烁LED灯:使用延时函数使得连接到Arduino引脚13上面的LED灯周期性地闪烁。
2. 控制舵机角度:根据输入信号改变舵机转动角度,并且利用串口监视器显示当前角度值。
3. 温湿度传感器读取数据并显示:通过DHT11温湿度传感器获取周围环境温湿度数值,并将其显示出来。
4. 数码管计数器: 使用74HC595芯片驱动四位共阳极数字管,在7段数码管上循环从0-9递增或者递减展示数字5. 蜂鸣器播放音调: 通过PWM信号控制蜂鸣器发出不同频率的声音。
6. 红外遥控LED灯: 使用红外接收模块读取来自红外遥控器发送的指令,并根据指令点亮或者熄灭连接到Arduino引脚上面的LED灯。
这些例题涵盖了单片机C语言程序设计中常见且基础性较强的内容,可以帮助学生逐步提高编程能力和实践操作技巧。
在Proteus仿真环境下进行实验也有以下几个优点:1. 安全可靠:在环境下进行实验,不存在电路元件损坏、线路错误等问题,保证了安全性和稳定性。
2. 节约成本:无需购买昂贵而易损耗品(如传感器、舵机等),只需要使用软件即可完成相关功能测试。
3. 方便快速:Proteus具备图形化界面以及大量现成组建库文件, 只要简单地将所需元素放入画布并连好线就可以开始调试代码4.多样化场景设置: Proteus支持各种设备与芯片之间相互联动关系搭配总结起来说,“100例——基于arduino+proteus仿真”这个实训项目是一个非常有价值的单片机C语言程序设计学习资源。
湖州师院Proteus硬件仿真(单片机控制流水灯)实验报告姓名汪健雷班级092833学号07083438一、实验目的1、了解proteus软件,掌握Proteus在单片机仿真中的应用,为开发、调试单片机应用系统做准备。
2、熟练掌握isis环境电路图的建立(流水灯电路图)二、实验仪器1、PC机2、proteus仿真软件三、实验内容1、选择元器件,画出电路图,学会硬件的设计2、在仿真软件上实现相应的功能四、实验步骤1、软件打开2、双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图所示界面,随后就进入了Proteus ISIS集成环境。
2、Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
3、添加元器件将所需元器件加入到对象选择器窗口。
Picking Components into the Schematic单击对象选择器按钮,根据元件预览区域的显示,双击你所需要的元件,则所选元件出现在原理图编辑环境的元件列表区中,如图所示。
用同样的方法找出原理图中需要的所有元件。
4、放置元器件放置元器件至图形编辑窗口Placing Components onto the Schematic 在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。
其他元器件放置方法相同。
目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。
1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。
1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
支持图形化的分析功能等。
Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。
Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY, Keil, MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。
1.2 Proteus PCBProteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。
2. 一个基于Protesus的单片机实例2.1 软件的编写本例题采用8个LED,编写程序使之闪烁起来。
软件的编写是采用汇编语言,芯片的型号选择A T89C51, 编写LED.ASM文件,利用Proteus本身的51汇编功能进行编译,编译成功后生成LED.hex文件。
2.2 绘制电路图运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。
主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。
图1 ISIS启动界面通过左侧的工具栏区的P(从库中选择元件)命令,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。
本例所需主要元器件有:A T89C51芯片,电阻、电容、石英晶振和发光二极管,详见表1。
表1 元器件清单选择元器件后连接图2所示电路。
图2 电路原理图Microproccessor ICs类的芯片的引脚与实际的芯片基本相同,唯一的差别是隐去了GND 和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。
故在电路连线时可以不考虑电源和地的连接。
电路连接完成后,选中A T89C51单击鼠标左键,打开“Edit Component”对话窗口如图3所示,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。
在“Add/remove source file”栏中选择已经编好的LED.asm文件,然后单击“OK”按钮保存设计。
至此,就可以进行单片机的仿真。
图 3 单片机属性的设定2.3 Proteus仿真结果单片机的仿真结果图如图4,模拟信号经A/D转换后,结果送入单片机,再在数码管上显示;通过调节可调电阻的阻值,可以得到不同的显示结果。
仿真结果表明,系统达到了预先的设计要求。
在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。
通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图4 仿真结果3.总结本文结合一个LED闪烁的单片机电路详细说明了Proteus在单片机开发中的应用。
可以看出,Proteus功能十分强大,能仿真各种数字模拟电路,且操作简单,使用方便。
能快速地进行单片机仿真,加快系统开发的过程,降低开发成本。
实验1 PROTUES环境及LED闪烁综合实验1.实验任务做单一灯的左移右移,硬件电路如图所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
2.电路原理图图13.程序设计内容我们可以运用输出端口指令MOV P1,A或MOV P1,#DA TA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示:4.程序框图图2 5.汇编源程序ORG 0START: MOV R2,#8MOV A,#0FEHSETB CLOOP: MOV P1,ALCALL DELAYRLC ADJNZ R2,LOOPMOV R2,#8LOOP1: MOV P1,ALCALL DELAYRRC ADJNZ R2,LOOP1LJMP STARTDELAY: MOV R5,#20 ;D1: MOV R6,#20D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RETEND实验2 多路开关状态指示1.实验任务如图1所示,A T89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。
(开关闭合,对应的灯亮,开关断开,对应的灯灭)。
2.电路原理图图13.程序设计内容3.1 开关状态检测对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JB P1.X,REL或JNB P1.X,REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV A,P1指令一次把P1端口的状态全部读入,然后取高4位的状态来指示。
3.2 输出控制根据开关的状态,由发光二极管L1-L4来指示,我们可以用SETB P1.X和CLR P1.X指令来完成,也可以采用MOV P1,#1111XXXXB方法一次指示。
4.程序框图读P1口数据到A CC中A CC内容右移4次A CC内容与F0H相或A CC内容送入P1口图25.解决方案方法一(汇编源程序)ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP STARTEND方法二(汇编源程序)ORG 00HSTART: JB P1.4,NEXT1CLR P1.0SJMP NEX1NEXT1: SETB P1.0NEX1: JB P1.5,NEXT2CLR P1.1SJMP NEX2NEXT2: S ETB P1.1NEX2: JB P1.6,NEXT3CLR P1.2SJMP NEX3NEXT3: S ETB P1.2NEX3: JB P1.7,NEXT4CLR P1.3SJMP NEX4NEXT4: S ETB P1.3NEX4: SJMP STARTEND实验3 报警产生器1.实验任务用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
2.电路原理图图13.程序设计内容3.1 信号产生的方法500Hz信号周期为2ms,信号电平为每1ms变反1次,1KHz的信号周期为1ms,信号电平每500us变反1次;4.程序框图图2 5.汇编源程序FLAG BIT 00HORG 00HSTART: JB P1.7,STARTJNB FLAG,NEXTMOV R2,#200DV: CPL P1.0LCALL DELY500LCALL DELY500DJNZ R2,DVCPL FLAGNEXT: MOV R2,#200DV1: CPL P1.0LCALL DELY500DJNZ R2,DV1CPL FLAGSJMP START DELY500: MOV R7,#250 LOOP: NOPDJNZ R7,LOOPRETEND实验4 I/O并行口直接驱动LED显示1. 实验任务如图1所示,利用A T89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,时间间隔0.2秒。
2. 电路原理图图13 程序设计内容(1) LED数码显示原理七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表2(2)的要求了。
这样我们按着数字0-9的顺序,把每个数字的笔段代码按顺序排好!建立的表格如下所示:TABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH。
4.程序框图图25.汇编源程序ORG 0START: MOV R1,#00HNEXT: MOV A,R1MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ALCALL DELAYINC R1CJNE R1,#10,NEXTLJMP STARTDELAY: MOV R5,#20D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE: D B 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END实验5 按键识别方法之一1.实验任务每按下一次开关SP1,计数值加1,通过A T89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。