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

maingochoc

Học sinh phổ thông
#1
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



Kết nối trên Board Test


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_ON) LED = 1;
   if(!BT_OFF) LED = 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 !



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
     }
  }
}
 

Quảng cáo Google