利用Proteus仿真STM32实现按键控制LED灯设计

发布者:Joyful444Life最新更新时间:2022-10-08 来源: csdn关键字:Proteus仿真  STM32  按键控制  LED灯 手机看文章 扫描二维码
随时随地手机看文章

Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。


这篇文章介绍Proteus的下载,安装,建立工程,完成仿真运行。


下载地址: https://pan.baidu.com/s/1jhveG9w1Hs6nL4IuZHTtlw 提取码: vswi

这是 Proteus 8.9 SP2 仿真软件安装包,软件已经注册,安装即可使用。内部带了汉化包,软件安装后将汉化安装包拷贝到软件的安装目录下覆盖即可。


将软件包下载下来之后,双击Proteus 8.9 SP2 Pro.exe然后按照提示点击下一步安装即可,中途的选项都可以选择默认。软件安装完毕后,如果想要汉化,将软件包里汉化补丁的目录下的文件夹拷贝到Proteus安装目录下覆盖即可。

image-20220524112712988


软件安装后,会在桌面创建快捷方式,Proteus软件需要使用管理员身份打开运行,否则会导致元器件库找不到报错。为了方便每次启动都是管理员身份,可以选择软件图标点击鼠标右键,设置管理员身份运行。

image-20220524113226320


image-20220524113419854


设置工程名称和保存路径点击下一步。

image-20220524113541663


image-20220524113624610


image-20220524113645990


我这里是仿真STM32程序,这里就选择STM32的芯片。

image-20220524113753243


image-20220524113808654


创建完成之后工程的样子。

image-20220524113837340


切换到原理图绘制页面,接着就可以进行原理图设计了。

image-20220524113919700


这里要做的实验是,按键按下控制LED灯的亮灭,并且做一个闪光灯程序,先使用keil编写一个例子程序。


硬件连线:

按键使用PA1,按下为低电平,松开为高电平。

2盏LED灯分别连接在PB6和PB7口上。

image-20220524114428074


image-20220524114448165


HEX文件生成后,可以导入到proteus里仿真运行

image-20220524114518378


把鼠标光标放在元器件上,滚动鼠标滚轮可以放大缩小元器件。

image-20220524114732940

点击这个P,添加元器件。

image-20220524114817543

输入元器件名称按下回车搜索,选择LED。

image-20220524115109870


点击空白处,点击鼠标右键,放置元器件。如果需要多盏LED灯,可以放置多个。

image-20220524115256218


如果元器件的位置需要拖动重新摆放,可以点击左边的黑色箭头,然后鼠标放在元器件上按下鼠标就可以拖动位置。或者选中元器件,点击鼠标右键,选择移动元器件。

image-20220524130415582


LED灯默认添加进来的位置是竖着的,如果设计不好连线,可以将鼠标光标放在LED元器件上,再点击鼠标右键,弹出对话框,改变属性方向。

image-20220524130811563


鼠标光标放在接线的口上就可以连线,LED灯接在PB6,PB7,这里将线连接起来。

image-20220524130944381


image-20220524131202424


元器件放置好之后,点击电阻设置阻值为1K,电阻阻值默认为10K。

image-20220524131238627


image-20220524131338521


设置好后的效果。

image-20220524131401791


再添加一个电源,完善电路。

鼠标光标放在空白处,点击鼠标右键,选择终端-POWER。

image-20220524131646071


添加后与电阻的另一边连接起来。

image-20220524131817531


因为要实现,按键按下控制LED灯,需要添加一个按键元器件。

点击元器件模式,切换到元器件模式下,点击P,输入BUTTON搜索。

image-20220524132104396


image-20220524132200292


按键是接在PA1上的,放置好按键再设置一个电源。

image-20220524132525687


双击单片机,弹出对话框,设置HEX文件,晶振。HEX文件就是前面keil生成的。

image-20220524133941542

在菜单栏里选择设计—配置供电网。

image-20220524134042616


image-20220524134609461

点击左下角的箭头开始仿真。

image-20220524134704301

成功运行后,可以看到LED灯已经在闪烁了。

image-20220524134755453

鼠标可以点击按键,可以控制LED灯的亮灭。

image-20220524134841591

到此,仿真就完成了。


关键字:Proteus仿真  STM32  按键控制  LED灯 引用地址:利用Proteus仿真STM32实现按键控制LED灯设计

上一篇:STM32F7QSPI学习笔记——读写N25Q128
下一篇:STM32+华为云IOT设计的动态密码锁

推荐阅读最新更新时间:2024-11-12 10:23

STM32内置的高速ADC实现简易示波器
做一个数字采样示波器一直是我长久以来的愿望,不过毕竟这个目标难度比较大,涉及的方面实在太多,模拟前端电路、高速ADC、单片机、CPLD/FPGA、通讯、上位机程序、数据处理等等,不是一下子就能成的,慢慢一步步来呗,呵呵,好歹有个目标,一直在学习各方面的知识,也有动力:)由于高速ADC涉及到采样后的数据存储问题,大量的数据涌入使得单片机无法承受,因此通常需要用外部高速RAM加CPLD配合,或者干脆用大容量的 FPGA做数据存储处理等,然后通知单片机将数据发送出去。这部分实在是难度比较大,电路非常复杂,自己是有心无力啊,还得慢慢地技术积累。。。 正好ST新推出市场的以CORTEX-M3为核心的STM32,内部集成了2个1Msps 12
[单片机]
STM32调试过程中常见的问题及解决方法?
STM32调试过程中常见的问题及解决方法 一、 在 Debug选项卡 下设置好仿真器的类型后,下载程序时却提示 No ULINK Device found. 解决办法: Keil MDK默认使用ULINK仿真器下载程序,在 Project --- Option for Target 'xxx' --- Utilities选项卡 下把编程所使用的仿真器改为相应的类型即可。 二、 编译工程时提示如下信息: main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o). main.axf: E
[单片机]
Stm32空指令使用
1.使用 不需要添加任何头文件 写法: __NOP(); __nop(); __asm( nop ); 以上3种任一写法都可以,注意是2个下划线。 2.时间计算 一个nop约等于1/SYSCLK us,SYSCLK指的是系统时钟频率,MHz单位。 例如,使用了8M晶振,9倍频,因此SYSCLK是72MHz,所以一个nop约等于1/72us,
[单片机]
STM32学习笔记之GPIO
GPIO功能描述 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。根据数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置成多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx
[单片机]
STM32单片机PWM输出测试
环境: 主机:XP 开发环境:MDK4.23 MCU:STM32F103CBT6 说明: 使用内部8M晶振,倍频到64M供给TIM3定时器,PA6(通道1)上产生640K,50%方波 源代码: 初始化时钟: //初始化RCC时钟 void init_rcc(void) { //将外设 RCC寄存器重设为缺省值 RCC_DeInit(); //内部晶振使能 RCC_HSICmd(ENABLE); //等待工作稳定 while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); //LSI的启动,提供给看门
[单片机]
使用STM32定时器进行输入脉冲的计数
STM32的定时器具有计数功能,在实际应用中可以用来对引脚上的输入信号进行统计。其输入信号作为计数时钟,输入引脚为ETR引脚。 本例程使用Timer 2,其ETR输入引脚为PA1,初始化是设置该引脚工作模式为输入模式,Timer2的工作模式为从模式。 为了方便测试,另外使用PC6模式输出一个时钟信号。测试时将PC6与PA1短接。(用户也可另外连接一个时钟信号到PA1引脚上。) 代码如下: int main(void) { unsigned char i_Loop; unsigned char n_Counter; #3366ff #ifdef DEBUG debug(); #3366ff #endif RC
[单片机]
基于STM32设计的酒驾报警系统
1. 前言 随着社会的发展和人们生活水平的提高,汽车已经成为人们出行的主要代步工具,与此同时,酒后驾车所引发的事故越来越多,对人们的生命安全带来了威胁。为了控制酒后驾车,本文设计了一款能够安装在车辆驾驶室内的酒后驾车监测系统。 系统主控芯片采用STM32,采用酒精传感器采集数据进行分析,如果发现酒精超标,会通过GPRS模块向指定的手机号码发送提醒短信;系统还带了一块LCD显示屏,可以实时显示检测的酒精含量,酒精超标后,本地蜂鸣器也会发出警报,提醒驾驶员。 测量酒驾的标准是: (1)饮酒驾车是指车辆驾驶人员血液中的酒精含量大于或者等于20mg/100ml,小于80mg/100ml的驾驶行为。(2)醉酒驾车是指车辆驾驶人员
[单片机]
基于<font color='red'>STM32</font>设计的酒驾报警系统
基于STM32和SIM900A的无线通信模块设计
  设计一个可以实现短信收发与数据无线传输的模块的要求,本文采用了ARM Cortex-M3内核的主流产品STM32作为主控芯片,采用SIMCom公司的SIM900A作为通信芯片。在查阅大量相关文献以及相关芯片的数据手册之后,本文设计了一个远程无线通信模块。该模块在实验室试运行一周后,没有出现掉线的情况,数据收发的速度也很快。该模块具有性能稳定,外形小巧,性价比高等优点。厂方投入使用之后,反应良好。   随着网络和现代通信技术的不断发展,远程无线通信技术经过多年的研究与实际应用,现如今在工业控制领域有了非常重要的地位,并且发挥着越来越大的作用。文中根据厂家的要求,设计的无线通信模块,主要实现了短信与数据收发功能,并且做到了模块的
[单片机]
基于<font color='red'>STM32</font>和SIM900A的无线通信模块设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved