LED闪烁——ARM的Proteus实验

合集下载

实验1 KEIL+PROTEUS使用——单灯闪烁

实验1 KEIL+PROTEUS使用——单灯闪烁
(9)使用连线工具,将各元件用导线连接起来,绘制完成的电路如图1-24所示。
注意:使用的是连接导线,不是画线工具,否则无法仿真。
图1-24绘制系统原理图
※系统仿真
(10)选中AT89C51单片机,并单击打开“Edit Component”对话框,在“Program File”栏后单击选择程序按钮,如图1-25所示。
※新建工程
(2)新建工程在“Project”菜单中选择“NewuVisionProject…”命令。如图1-4所示。
图1-4新建工程
(3)弹出新建工程窗口如图1-5所示,在对话窗中创建名为“test1”的工程,单击“保存”按钮。
注意:将新建的工程保存在准备工作中新建的“test1”文件夹中。
图1-5新建工程窗口
图1-22所需元件
※摆放元件
(7)在工作区中加添加完所需元件,并摆放到合适的位置。
※添加电源/地
(8)在工具栏上单击“Terminals Mode”按钮,在窗口中选择电源“POWER”添加到工作空间中,如图1-23所示。
注意:电源为“POWER”,接地为“GROUND”。
图1-23添加电源
※绘制电路
图1-11源文件添加到工程
※工程选项设定
(11)在工程(Project)窗口的“Target 1”上单击鼠标右键,弹出如图1-12所示的右键菜单中选择“Options for Target‘Target 1’…”。
图1-12选项设置
(12)在弹出如图1-13所示的“Options for Target‘Target 1’”窗口中选择“Output”选项卡,并勾选“Creat Hex File”选项,单击“OK”按钮关闭选项窗口。
2
单灯闪烁流程图如图1-2所示。

STM32例程-1Proteus下使LED闪烁(SysTick)

STM32例程-1Proteus下使LED闪烁(SysTick)

STM32例程-1Proteus下使LED闪烁(SysTick)1、Keil5 下新建⼀个STM32F103R6⼯程,⽬录结构2、 stm32f10x_it.h下添加extern __IO uint32_t TimingDelay;3、修改对应.c⽂件void SysTick_Handler(void){if(TimingDelay!=0x00){TimingDelay--;}}4、main.c⽂件#include "stm32f10x.h"__IO uint32_t TimingDelay;void LED_GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_SetBits(GPIOC,GPIO_Pin_8);}void delay_nms(__IO uint32_t nTime){TimingDelay=nTime;while(TimingDelay!=0);}void Init_SysTick(void){if(SysTick_Config(SystemCoreClock/1000))while(1);}int main(void){SystemInit();LED_GPIO_Config();Init_SysTick();while(1){GPIO_SetBits(GPIOC,GPIO_Pin_8);delay_nms(1000);GPIO_ResetBits(GPIOC,GPIO_Pin_8);delay_nms(1000);}}5、Proteus运⾏6、运⾏运⾏时会发现不是⼀秒闪烁⼀次,经过研究,解决⽅法如下默认72M计算机带不动,修改时钟频率为较低频率⽐如4M即可,如果你电脑⽐较差可以设置2M,1M. #ifdef SYSCLK_FREQ_HSEuint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_4MHzuint32_t SystemCoreClock = SYSCLK_FREQ_4MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_24MHzuint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_36MHzuint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_48MHzuint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_56MHzuint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ #elif defined SYSCLK_FREQ_72MHzuint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ #else /*!< HSI Selected as System Clock source */uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */#endif7、观察⽰波器。

proteus单片机实验报告

proteus单片机实验报告

proteus单片机实验报告
Proteus单片机实验报告
一、实验目的
本次实验旨在通过Proteus单片机仿真软件,探索单片机的基本原理和应用,加深对单片机工作原理的理解,提高对单片机编程的熟练程度。

二、实验内容
1. 搭建单片机电路
在Proteus中选择合适的单片机模型,搭建基本的单片机电路,包括单片机、晶振、电源等。

2. 编写程序
利用Proteus提供的编程环境,编写简单的单片机程序,如LED灯闪烁、数码管显示等。

3. 仿真调试
通过Proteus的仿真功能,调试程序,观察单片机在仿真环境下的运行情况,检查程序是否正常运行。

三、实验步骤
1. 打开Proteus软件,选择合适的单片机模型,搭建单片机电路。

2. 编写简单的单片机程序,如让LED灯交替闪烁。

3. 在Proteus中进行仿真调试,观察程序运行情况。

四、实验结果
通过实验,我们成功搭建了单片机电路,并编写了简单的程序。

在Proteus的仿真环境下,LED灯按照设定的程序交替闪烁,证明程序正常运行。

五、实验总结
通过本次实验,我们加深了对单片机的理解,掌握了在Proteus中搭建单片机电路、编写程序并进行仿真调试的基本方法。

同时,也提高了对单片机编程的熟练程度。

总之,Proteus单片机实验为我们提供了一个良好的学习平台,使我们能够更好地理解单片机的工作原理和应用,为以后的学习和实践打下了坚实的基础。

希望通过不断地实践和探索,能够更深入地理解单片机的原理,并在实际应用中发挥其巨大的作用。

P1.0上实现LED灯闪烁

P1.0上实现LED灯闪烁

子项目一:P1.0上实现LED灯闪烁目标:1、通过一个简单实例的仿真,掌握单片机仿真的基本过程2、了解单片机C51程序设计基础。

3、掌握keilC编译器的使用。

4、掌握proteus仿真软件进行仿真的基本过程。

任务:设计一个单片机最小应用系统,并在P1.0上实现LED灯闪烁任务分解:1、设计原理图;2、利用proteus绘制原理图;3、编写程序,并利用KeilC进行编译,生成hex文件;4、利用proteus进行仿真调试。

技能拓展:1、proteus软件使用。

2、KeilC编译器使用3、C51程序设计一、原理由于需要实现的功能比较简单,所以单片机最小系统,时钟采用内部时钟,复位采用上电复位,在P1.0 端口上接一个发光二极管L1,使L1 在不停地一亮一灭,一亮一灭的时间间隔为0.2 秒,电路图如下图所示。

二、原理图绘制安装完Proteus后,运行ISIS 7 Professional,会出现以下窗口界面:1、将所需元器件加入到对象选择器窗口:本例要用到的元件有:AT89C51、电阻(RES)、电容(CAP)、电解电容(HITEMP)、发光二极管(LED)、晶振(CRYSTAL)单击对象选择器按钮,如图所示弹出“Pick Devices”页面,在“Keywords”输入AT89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。

西安思源学院精品课程单片机原理与应用在“Results”栏中的列表项中,双击“AT89C51”,则可将“AT89C51”添加至对象选择器窗口。

然后用同样的步骤添加其他器件,完成后单击“OK”按钮,结束对象选择。

最终结果:经过以上操作,在对象选择器窗口中,就有了需要的元器件对象,单击,在预览窗口中,可见到的实物图,如图所示;此时,在绘图工具栏中的元器件按钮处于选中状态。

2、放置元器件至图形编辑窗口在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。

单片机闪烁实验报告

单片机闪烁实验报告

单片机闪烁实验报告单片机闪烁实验报告引言:单片机是一种集成电路,具有微处理器核心、存储器和输入输出设备等功能。

在现代电子技术中,单片机应用广泛,其灵活性和可编程性使其成为各种电子设备的重要组成部分。

本实验旨在通过使用单片机控制LED灯的闪烁,探索单片机的基本原理和应用。

一、实验目的:通过本实验,我们的目的是熟悉单片机的工作原理和编程方法,理解单片机控制LED灯闪烁的过程。

同时,通过实际操作,培养我们的动手能力和团队合作精神。

二、实验器材:1. 单片机开发板2. LED灯3. 连接线4. 电源三、实验步骤:1. 将单片机开发板与电源连接,确保电源正常工作。

2. 将LED灯连接到开发板上的GPIO引脚。

3. 打开开发板上的编程软件,编写控制LED闪烁的程序。

4. 将编写好的程序下载到单片机开发板上。

5. 打开开发板上的电源,观察LED灯是否按照程序闪烁。

四、实验结果:经过实验,我们成功地控制了LED灯的闪烁。

在程序中,我们通过设置GPIO引脚的高低电平来控制LED灯的亮灭。

通过调整程序中的延时时间,我们还可以控制LED灯的闪烁频率和亮度。

这进一步验证了单片机的可编程性和灵活性。

五、实验总结:通过本次实验,我们深入理解了单片机的工作原理和应用。

单片机作为一种集成电路,不仅具有微处理器的功能,还可以通过编程实现各种功能。

在实验中,我们通过控制LED灯的闪烁,体会到了单片机的实际应用价值。

同时,实验过程中我们也发现了一些问题和挑战,例如程序编写的复杂性和调试的难度。

这些问题提醒我们要不断学习和提升自己的技能,以更好地应对未来的挑战。

六、实验展望:本次实验只是单片机应用的一个简单示例,单片机的应用领域非常广泛,包括家电、汽车、工业自动化等。

未来,我们可以进一步研究单片机的高级应用,例如通过单片机控制温度、湿度等传感器,实现智能家居系统。

这将有助于我们更好地理解和应用单片机技术,为未来的科技发展做出贡献。

结语:通过本次实验,我们不仅学习了单片机的基本原理和应用,还培养了动手能力和团队合作精神。

使用ARM实现虚拟开关控制led灯显示

使用ARM实现虚拟开关控制led灯显示

使用ARM实现虚拟开关控制led灯显示一、实验目的利用ARM 实现流水灯的程序编译与仿真二、实验设备仿真软件proteus7.9、Keil uVision5三、实验原理利用lpc2013的P0.16作为中断脚,开关每按下一次产生一个下降沿信号作为中断信号。

LED 灯以二进制方式显示开关所按次数,按下16次清零;共阳极七段数码管以十六进制显示开关所按次数。

四、电路设计五、程序设计#include <lpc2103.h>#define uint32 unsigned int#define uint8 unsigned charuint32DISPLAY_NUM[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7c,0x39,0x5E,0x7 9,0x71};//led 灯显示次序数组/*延时函数*/void delay_ms(uint32 ms){uint32 x,y;for(x=0;x<ms;x++){for(y=0;y<800;y++);for(y=0;y<700;y++);}}uint32 DEF_Count = 0; /* 定义变量,对非向量中断计数*/ void __irq DEF_Server(void){DEF_Count++; /* 进入中断加1 */IOSET = 0xff0f00ff; /* 清数码管和灭LED */if(DEF_Count==16){DEF_Count = 0;}IOCLR = DISPLAY_NUM[DEF_Count] | (DEF_Count<<24); /*送数到数码管和LED*/ delay_ms(500); //去抖EXTINT = 0x01; /* 清中断标志*/ VICVectAddr = 0x00; /* 中断结束*/}int main (void){PINSEL1 = (PINSEL1 & 0x0000000C) | 0x01; /* 设置P0.16 为外部中断0 管脚*/ EXTMODE = 0x01; /* 跟下条语句一起决定下降沿触发*/ EXTPOLAR = 0x00;PINSEL0 &= 0x00; /* 设置P0.0~P0.16 为GPIO 功能*/ IODIR = 0xff0000ff; /* 设置P0.0~P0.7 P0.24~P0.31 为输出*/ IOSET = 0xff0000ff; /* 设置输出为高电平*/VICIntSelect = 0x00; /* 选择EINT0 为IRQ 中断*/ VICDefVectAddr = (uint32)DEF_Server; /* 给非向量中断分配地址*/VICIntEnable = 1 << 14; /* 使能EINT0 中断*/ EXTINT = 0x01; /* 清除EINT0 中断标志*/while(1);}。

led闪烁实验报告

竭诚为您提供优质文档/双击可除led闪烁实验报告篇一:单片机实验--LeD灯闪烁实验实验报告课程名称实验项目20XX年3月13日【实验目的】1.掌握51单片机开发板的使用步骤;2.掌握51单片机开发板所需软件的安装过程;3.以LeD灯闪烁为例子,掌握软件KeIL3的使用方法。

熟悉51单片机开发板的使用【实验环境】1.实验仪器、设备计算机、51单片机开发板2.软件usb驱动程序、KeLL开发软件3.实验过程51单片机开发板的使用步骤1)安装usb驱动程序;2)安装KeIL开发软件3)在KeIL环境中编写和调试程序4)用程序烧录软件,将单片机程序烧录到单片机51单片机开发板所需软件的安装过程1)安装usb驱动程序2)设置串口LeD灯闪烁的程序的编写、调试和烧录。

【实验内容】1.内容一1.1操作过程(1)将单片机开发板的电源与pc的usb口相连;(2)在pc机上安装usb_Driver驱动程序的安装,具体安装步骤,请参见《文件驱动程序安装说明.pdf》;设置串口,请参见《设置串口.pdf》;(3)在pc机上安装KeILV3软件,具体安装步骤,请参见《安装说明.TxT》;(4)运行KeIL3软件,软件的具体使用方法,请参见请参见《keil入门.pDF》文件;(5)在KeIL软件中,创建内容如下的c程序,文件名为学生自己的学号:(6)编译和调试,修改程序错误;(7)使用软件《pZIsp自动下载软件.exe》将程序烧录到单片机中,观察现象是否与正常;(8)再在原来程序的基础上,修改程序,实现功能较复杂的程序。

(9)编写内容如下的汇编程序,文件名为学生学号.asm:1.2操作结果程序下载成功后,则单片机开发板上的8个LeD灯将闪烁。

下图为LeD灯电路图。

1.3结果分析主程序中有:(1)p2=0x00;(2)delay(600);(3)p2=0xff;(4)delay(600);第一条程序为置p0口为低电平,点亮p2口8个LeD;,第二条程序为调用延时程序,等待一段时间熄灭,第三条程序为置p0口为高电平,熄灭p2口8个LeD灯;最后一条程序为调用延时程序。

led闪烁实验报告

竭诚为您提供优质文档/双击可除led闪烁实验报告篇一:单片机实验--LeD灯闪烁实验实验报告课程名称实验项目20XX年3月13日【实验目的】1.掌握51单片机开发板的使用步骤;2.掌握51单片机开发板所需软件的安装过程;3.以LeD灯闪烁为例子,掌握软件KeIL3的使用方法。

熟悉51单片机开发板的使用【实验环境】1.实验仪器、设备计算机、51单片机开发板2.软件usb驱动程序、KeLL开发软件3.实验过程51单片机开发板的使用步骤1)安装usb驱动程序;2)安装KeIL开发软件3)在KeIL环境中编写和调试程序4)用程序烧录软件,将单片机程序烧录到单片机51单片机开发板所需软件的安装过程1)安装usb驱动程序2)设置串口LeD灯闪烁的程序的编写、调试和烧录。

【实验内容】1.内容一1.1操作过程(1)将单片机开发板的电源与pc的usb口相连;(2)在pc机上安装usb_Driver驱动程序的安装,具体安装步骤,请参见《文件驱动程序安装说明.pdf》;设置串口,请参见《设置串口.pdf》;(3)在pc机上安装KeILV3软件,具体安装步骤,请参见《安装说明.TxT》;(4)运行KeIL3软件,软件的具体使用方法,请参见请参见《keil入门.pDF》文件;(5)在KeIL软件中,创建内容如下的c程序,文件名为学生自己的学号:(6)编译和调试,修改程序错误;(7)使用软件《pZIsp自动下载软件.exe》将程序烧录到单片机中,观察现象是否与正常;(8)再在原来程序的基础上,修改程序,实现功能较复杂的程序。

(9)编写内容如下的汇编程序,文件名为学生学号.asm:1.2操作结果程序下载成功后,则单片机开发板上的8个LeD灯将闪烁。

下图为LeD灯电路图。

1.3结果分析主程序中有:(1)p2=0x00;(2)delay(600);(3)p2=0xff;(4)delay(600);第一条程序为置p0口为低电平,点亮p2口8个LeD;,第二条程序为调用延时程序,等待一段时间熄灭,第三条程序为置p0口为高电平,熄灭p2口8个LeD灯;最后一条程序为调用延时程序。

初学者入门-仿真led闪烁实验

先安装好protues这个软件,找到下图这个isis打开以后添加文件添加后界面做完这一部proteus软件这快就完成了一部分接着安装arduino IDE,即编写控制程序的软件,就是把我发在群里的21节例程中的LED闪灯试验word文档打开,复制里面的程序复制到arduino IDE里面,然后点击左上角的钩进行编译编译完成后,看到IDE下方黑色部分,把它拉到最下面找到我用蓝色标记出的一行字这就是程序编译完成后所在的地址,把它复制,然后回到我们proteus的操作界面。

双击下面的图片弹出一个框,找到下面这一项把你刚刚复制的程序地址粘贴到左边这个框里确定。

然后再看到LED闪灯试验word文档里这个连接原理图我们可以看到,这里除了arduino芯片,还有一个三角形的,这个是发光二极管,下面一个标注R1的折线图形,这是电阻,这里的电阻是200欧姆,文档中的元器件清单应该有详细介绍。

接着打开proteus,发现我们只有arduino这个芯片,这时候我们就要再把其他的元器件添加上去点击图上的P字母,出现在关键字里输入led-red(发光二极管),然后出现上图情况,点击确定添加,再用相同方式添加res(电阻)进去点击上图led-red,再到右侧电路布局界面找到合适位置点击一下,这样一个发光二级管就成功的添加上去了,再用同样方法添加一个电阻,添加电阻成功后需要更改电阻的阻值双击上图长方形出现一个框在此栏输入200,就是把该电阻赋为200欧姆接着添加一个地端点击左侧工具栏的,,点击像上面一样添加到电路图中。

完成后看到led教程word文档中的Led灯一端是接着D10,另一端接着电阻,电阻在接着GND也就是接地端,然后我们按照下图连接,把led一端连着~10(它对应着D10脚)这样就完成了我们的led闪烁试验的仿真,接着点击左下角,左边的三角形,仿真就开始了,试验结果是led一秒闪烁一次这样就成功完成了仿真!。

单片机实验报告一位LED闪烁

单片机应用技术课程报告
实验名称汽车转向灯控制实验实验时间年月日
学生姓名实验地点钉钉群线上
同组人员专业班级汽服1802B
1、实验目的
1.学习uVision4仿真软件的使用方法。

2. 学习PROTEUS电路设计软件的使用方法。

3. 熟练掌握使用PROTEUS与Keil 软件仿真过程。

2、任务设计要求
在PROTEUS ISIS编辑环境中画出单灯控制电路原理图,要求信号灯点亮。

3、总体设计方案
根据实验任务要求,通过功能分析,设计的系统总体方案如图所示。


行接口AT89C51
单片机
电源
单灯闪烁
(2)程序清单
#include "reg51.h"
sbit P1_0=P1^0;
void delay(unsigned char i); void main( )
{
while(1)
{
P1_0=0;
delay(10);
P1_0=1;
(3)性能指标测试及结果分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档