[Tự Học STM8] Bài 4 - Nút nhấn với GPIO

Thảo luận trong 'STM8'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

  1. maingochoc

    maingochoc Học sinh phổ thông

    Tham gia ngày:
    23/8/16
    Bài viết:
    9
    Đã được thích:
    1
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Trước tiên, các bạn hãy đọc lại Bài 2 để nhớ lại kiến thức về các thanh ghi :
    1. Px_DDR
    2. Px_CR1
    3. Px_CR2
    4. Px_IDR
    Kết nối nút bấm theo sơ đồ sau
    PD7 PD6 PD5
    LED BUTTON ON BUTTON OFF

    [​IMG]

    Kết nối trên Board Test
    [​IMG]

    Code Kiểm Tra Trạng Thái Nút Nhấn
    PHP:
    #include "iostm8s103k3.h"
    #include "intrinsics.h"

    #define         LED             PD_ODR_ODR7
    #define         BT_ON           PD_IDR_IDR6
    #define         BT_OFF          PD_IDR_IDR5

    void main(){
      
    CLK_CKDIVR 0x00;
      
    PD_DDR 0x80;
      
    PD_CR1 0xE0;
      
    PD_CR2 0xE0;
      
    LED 0;
      while(
    1){
       if(!
    BT_ONLED 1;
       if(!
    BT_OFFLED 0
      }
    }
    Tải Full Project & Code tại đây : http://shink.in/YxwWn



    Với một nút có thể điều khiển sáng tắt LED không ? Điều này là có thể, và rất đơn giản !

    [​IMG]

    PHP:
    #include "iostm8s103k3.h"
    #include "intrinsics.h"

    #define         LED             PD_ODR_ODR7
    #define         BUTTON          PD_IDR_IDR6
    void main(){
      
    CLK_CKDIVR 0x00;
      
    PD_DDR 0x80;
      
    PD_CR1 0xE0;
      
    PD_CR2 0xE0;
      
    LED 0;
      while(
    1){
       if(!
    BUTTON)
         {
           while(!
    BUTTON);
           
    LED = ~LED// Khi nut duoc nhan se doi trang thai LED
         
    }
      }
    }
     

Chia sẻ trang này