国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Proteus仿真STM32實現按鍵控制LED燈設計

DS小龍哥-嵌入式技術 ? 2022-09-17 15:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【摘要】 這篇文章介紹Proteus的下載,安裝,建立工程,完成仿真運行。

1. 前言

Proteus是英國著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、KeilMATLAB等多種編譯器。

這篇文章介紹Proteus的下載,安裝,建立工程,完成仿真運行。

2. Proteus的下載安裝

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

這是 Proteus 8.9 SP2 仿真軟件安裝包,軟件已經注冊,安裝即可使用。內部帶了漢化包,軟件安裝后將漢化安裝包拷貝到軟件的安裝目錄下覆蓋即可。

將軟件包下載下來之后,雙擊Proteus 8.9 SP2 Pro.exe然后按照提示點擊下一步安裝即可,中途的選項都可以選擇默認。軟件安裝完畢后,如果想要漢化,將軟件包里漢化補丁的目錄下的文件夾拷貝到Proteus安裝目錄下覆蓋即可。

image-20220524112712988

3. Proteus仿真STM32程序

3.1 運行軟件

軟件安裝后,會在桌面創(chuàng)建快捷方式,Proteus軟件需要使用管理員身份打開運行,否則會導致元器件庫找不到報錯。為了方便每次啟動都是管理員身份,可以選擇軟件圖標點擊鼠標右鍵,設置管理員身份運行。

image-20220524113226320

3.2 新建工程

image-20220524113419854

設置工程名稱和保存路徑點擊下一步。

image-20220524113541663image-20220524113624610image-20220524113645990

我這里是仿真STM32程序,這里就選擇STM32的芯片。

image-20220524113753243image-20220524113808654

創(chuàng)建完成之后工程的樣子。

image-20220524113837340

切換到原理圖繪制頁面,接著就可以進行原理圖設計了。

image-20220524113919700

3.3 keil編寫程序

這里要做的實驗是,按鍵按下控制LED燈的亮滅,并且做一個閃光燈程序,先使用keil編寫一個例子程序。

硬件連線:

按鍵使用PA1,按下為低電平,松開為高電平。

2盞LED燈分別連接在PB6和PB7口上。

(1)按鍵的初始化

#include "key.h"
/*
函數功能:按鍵初始化
硬件連接:PA1
特性: 按下為低電平---沒按下高電平
*/
void KEY_Init(void)
{
    //開時鐘
    RCC->APB2ENR|=1<<2;
    //配置模式
    GPIOA->CRL&=0xFFFFFF0F;
    GPIOA->CRL|=0x00000080;
    //上拉
    GPIOA->ODR|=1<<1;
}
/*
函數功能:函數掃描函數
函數參數: mode=1表示使用連續(xù)模式  mode=0使用單擊模式
返回值:  2 3 4 5 表示具體的按鈕   0表示沒有按下
*/
u8 KEY_Scan(u8 mode)
{
   static u8 flag=1; //記錄上一次按下的狀態(tài) 
   if(mode)flag=1;
   if(flag&&(KEY_S3==0))
   {
       flag=0;
       delay_ms(20);
       if(KEY_S3==0)return 3;
   }
   else if(KEY_S3)
   {
       flag=1; 
   }
   return 0;
}

(2)主函數實現代碼

#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "key.h"

int main()
{
   u8 key_val;
   u32 time=0;
   LED_Init();
   BEEP_Init();
   KEY_Init();
   while(1)
   {
      key_val=KEY_Scan(0); //PA1
      if(key_val)
      {
         BEEP=!BEEP;
         LED1=!LED1;   //PB6
      }
      delay_ms(5);
      
      time++;
      if(time>=10)
      {
          time=0;
          LED2=!LED2; //PB7
      }
   }
}

(3)編譯生成hex文件

image-20220524114428074image-20220524114448165

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

image-20220524114518378

3.4 設計原理圖

(1)原理圖縮放

把鼠標光標放在元器件上,滾動鼠標滾輪可以放大縮小元器件。

image-20220524114732940

(2)添加LED燈

點擊這個P,添加元器件。

image-20220524114817543

(3)選擇LED燈

輸入元器件名稱按下回車搜索,選擇LED。

image-20220524115109870

(4)放置LED燈

點擊空白處,點擊鼠標右鍵,放置元器件。如果需要多盞LED燈,可以放置多個。

image-20220524115256218

如果元器件的位置需要拖動重新擺放,可以點擊左邊的黑色箭頭,然后鼠標放在元器件上按下鼠標就可以拖動位置。或者選中元器件,點擊鼠標右鍵,選擇移動元器件。

image-20220524130415582

(5)LED連線設置屬性

LED燈默認添加進來的位置是豎著的,如果設計不好連線,可以將鼠標光標放在LED元器件上,再點擊鼠標右鍵,彈出對話框,改變屬性方向。

image-20220524130811563

鼠標光標放在接線的口上就可以連線,LED燈接在PB6,PB7,這里將線連接起來。

image-20220524130944381

(6)添加電阻

image-20220524131202424

元器件放置好之后,點擊電阻設置阻值為1K,電阻阻值默認為10K。

image-20220524131238627image-20220524131338521

設置好后的效果。

image-20220524131401791

(7)添加電源

再添加一個電源,完善電路。

鼠標光標放在空白處,點擊鼠標右鍵,選擇終端-POWER。

image-20220524131646071

添加后與電阻的另一邊連接起來。

image-20220524131817531

(8)添加按鍵

因為要實現,按鍵按下控制LED燈,需要添加一個按鍵元器件。

點擊元器件模式,切換到元器件模式下,點擊P,輸入BUTTON搜索。

image-20220524132104396image-20220524132200292

按鍵是接在PA1上的,放置好按鍵再設置一個電源。

image-20220524132525687

3.5 開始仿真

(1)設置hex文件

雙擊單片機,彈出對話框,設置HEX文件,晶振。HEX文件就是前面keil生成的。

image-20220524133941542

(2)配置供電網

在菜單欄里選擇設計—配置供電網。

image-20220524134042616image-20220524134609461

(3)點擊仿真

點擊左下角的箭頭開始仿真。

image-20220524134704301

成功運行后,可以看到LED燈已經在閃爍了。

image-20220524134755453

鼠標可以點擊按鍵,可以控制LED燈的亮滅。

image-20220524134841591

到此,仿真就完成了。

3.6 常見的元器件名稱

51單片機		AT89C52
按鍵			BUTTON
晶振			CRYSTAL
發(fā)光二極管		LED
蜂鳴器(無源)	SOUNDER
蜂鳴器(有源)	BUZZER
數碼管			SEG(xSEG-xxx)
排阻			RESPACK
Analog ICs 模擬IC
CMOS 4000 series CMOS 4000系列
Data Converters 數據轉換器
Diodes 二極管
Electromechanical 機電設備(只有電機模型)
Inductors 電感
Laplace Primitives Laplace變換器
Memory ICs 存儲器IC
Microprocessor ICs 微處理器IC
Miscellaneous 雜類(只有電燈和光敏電阻組成的設備)
Modelling Primitives 模型基元
Operational Amplifiers 運算放大器
Optoelectronics 光電子器件
Resistors 電阻
Simulator Primitives 仿真基元
Switches & Relays 開關和繼電器
Transistors 三極管 

常用的一些外設模塊:
DHT11   溫濕度傳感器
DS18B20 溫度傳感器
SR04    超聲波測距模塊
SSD1306  0.96寸OLED
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    243

    文章

    24594

    瀏覽量

    690788
  • Proteus
    +關注

    關注

    79

    文章

    1692

    瀏覽量

    110505
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373399
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【瑞薩FPB-RA6E2試用】GPIO-按鍵控制LED亮滅及設備樹理解

    GPIO-按鍵控制LED亮滅及設備樹理解 0、視頻教程 https://www.bilibili.com/video/BV1tximBqEg2/?vd_source
    發(fā)表于 01-13 14:44

    【瑞薩RA × Zephyr評測】LED按鍵和UART

    實現在Zephyr操作系統(tǒng)下按鍵控制 LED 的開關狀態(tài),并通過 UART 輸出按鍵事件日志,驗證 GPIO 和串口通信功能。
    的頭像 發(fā)表于 01-10 10:21 ?2437次閱讀
    【瑞薩RA × Zephyr評測】<b class='flag-5'>LED</b>、<b class='flag-5'>按鍵</b>和UART

    PWM經典應用:LED亮度控制及呼吸實戰(zhàn)

    信號生成: 加熱控制: 本文特別分享PWM相關基礎知識,并以Air8000核心板為例,演示LuatOS開發(fā)中如何使用PWM功能實現LED亮度控制及呼吸
    的頭像 發(fā)表于 01-05 20:50 ?243次閱讀
    PWM經典應用:<b class='flag-5'>LED</b>亮度<b class='flag-5'>控制</b>及呼吸<b class='flag-5'>燈</b>實戰(zhàn)

    【瑞薩FPB-RA6E2試用】【瑞薩RA × Zephyr開發(fā)板評測】+以按鍵控制LED

    5所示。 圖4 配置按鍵引腳 圖5 配置LED引腳 隨后,點擊生成項目工程即可。 為簡化其它處理,可采用生成KEIL項目工程的方式,然后進入KEIL中進行設計。 實現按鍵控制
    發(fā)表于 01-05 17:04

    基于PWM的LED調光技術與呼吸實現方法!

    利用PWM技術控制LED亮度,不僅效率高、響應快,還能實現細膩的視覺過渡。系統(tǒng)介紹PWM的工作機制,結合具體硬件平臺,展示如何編程實現
    的頭像 發(fā)表于 12-15 13:03 ?431次閱讀
    基于PWM的<b class='flag-5'>LED</b>調光技術與呼吸<b class='flag-5'>燈</b><b class='flag-5'>實現</b>方法!

    LED觸摸控制PCBA方案開發(fā) | 控觸摸方案開發(fā)

    的技術選擇,適用于多種照明場景。簡潔操作,豐富效果這款單鍵LED觸摸控制板,通過一個按鍵即可實現多種交互方式(單擊、雙擊、長按),輕松控制
    的頭像 發(fā)表于 12-10 17:43 ?370次閱讀
    <b class='flag-5'>LED</b>觸摸<b class='flag-5'>控制</b>PCBA方案開發(fā) | <b class='flag-5'>燈</b>控觸摸方案開發(fā)

    【瑞薩RA6E2】 配置Keil開發(fā)環(huán)境+使用按鍵控制LED+串口/調試器燒錄程序

    一、 概述 本報告旨在記錄基于瑞薩RA6E2 MCU評估板的初步開發(fā)體驗。主要內容包括: 軟件開發(fā)環(huán)境的搭建與配置。 實現一個基礎的GPIO控制功能:通過用戶按鍵控制LED
    發(fā)表于 11-26 20:53

    LuatOS中PWM實現LED亮度調節(jié)與呼吸的實戰(zhàn)教程

    PWM在LED亮度調節(jié)和呼吸效果實現方面有著廣泛應用。在LuatOS環(huán)境中,如何高效運用PWM功能是開發(fā)者需要掌握的關鍵。本實戰(zhàn)教程將通過具體案例,引導開發(fā)者快速上手,輕松實現
    的頭像 發(fā)表于 11-11 19:05 ?8478次閱讀
    LuatOS中PWM<b class='flag-5'>實現</b><b class='flag-5'>LED</b>亮度調節(jié)與呼吸<b class='flag-5'>燈</b>的實戰(zhàn)教程

    【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+LED閃爍效果及按鍵控制

    過程見圖2所示。 圖2 觸摸檢測 將狀態(tài)檢測值保存到變量的方法如圖3所示。 圖3 狀態(tài)存儲 以按鍵控制LED的腳本程序如下: 經腳本程序的運行,其效果如圖4和圖5所示。 圖4 點亮LED 圖5 熄滅
    發(fā)表于 10-30 14:38

    【RA4M2-SENSOR】+按鍵控制LED

    RA4M2-SENSOR開發(fā)板配有LED按鍵利用它可進行GPIO口的輸入輸出測試,其電路見圖1所示。 圖1LED按鍵電路 為
    發(fā)表于 09-02 16:18

    ZX8002D LED觸摸調光集成芯片數據手冊

    ZX8002D臺燈按鍵三檔調光IC芯片,單鍵調光IC輸入電壓2.5-5V,三檔亮度調節(jié),一路串輸出,一個按鍵控制按鍵三檔亮度調節(jié)。多用于LED
    發(fā)表于 07-07 10:16 ?14次下載

    【BPI-CanMV-K230D-Zero開發(fā)板體驗】+控制與Python編程

    (3,Pin.IN, pull=Pin.PULL_UP, drive=7) print(pin.value()) 實現按鍵控制LED的程序如圖6所示,這樣在進行觸摸操作時即可改變LED
    發(fā)表于 06-27 17:33

    第六章 GPIO輸入——按鍵檢測

    本篇文章講述了如何在W55MH32上實現按鍵輸入檢測,以及按鍵輸入檢測的注意事項、實現方式和代碼講解等。掌握了按鍵檢測方式之后,我們就可以用
    的頭像 發(fā)表于 05-22 16:41 ?974次閱讀
    第六章 GPIO輸入——<b class='flag-5'>按鍵</b>檢測

    如何把 電位器旋鈕控制改為面板或按鍵控制

    ),所以希望能找到人幫忙把電位器調速旋鈕改為面板或按鍵控制控制器或調速器,如下圖。 。這款控制器可以在面板上設置/控制電機轉速,但是這款控制
    發(fā)表于 05-18 07:40

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
    發(fā)表于 04-14 15:05 ?7次下載