2015-7-15 17:02| 发布者: waveshare-admin| 查看: 8158| 评论: 0
STM8 I/O 口引脚配置表
LED控制电路原理图
独立按键电路原理图
#include <STM8S207S8.h>
#define LED_DDR PB_DDR#define LED_ODR PB_ODR#define LED_CR1 PB_CR1#define LED_CR2 PB_CR2#define KEY_DDR PB_DDR#define KEY_IDR PB_ODR#define KEY_CR1 PB_CR1#define KEY_CR2 PB_CR2
void scanKey(){ KEY_PORT=0xFF; //设置按键输出“1”,之后语句检测按键,若端口变为“0”,则表示被按 if(KEY_PIN==0xFE) //1111 1110 --> 说明最低位的按键可能被按 { delay50us(1); //去抖 if(KEY_PIN==0xFE) //1111 1110 --> 确认最低位的按键被按 LED_P0RT=0xFE; //进行LED指示 } if(KEY_PIN==0xFD) //1111 1101 --> 说明最低位的按键可能被按 { delay50us(1); //去抖 if(KEY_PIN==0xFD) //1111 1101 --> 确认最低位的按键被按 LED_P0RT=0xFD; //进行LED指示 } if(KEY_PIN==0xFB) { delay50us(1); if(KEY_PIN==0xFB) LED_P0RT=0xFB; } if(KEY_PIN==0xF7) { delay50us(1); if(KEY_PIN==0xF7) LED_P0RT=0xF7; } if(KEY_PIN==0xEF) { delay50us(1); if(KEY_PIN==0xEF) LED_P0RT=0xEF; } if(KEY_PIN==0xDF) { delay50us(1); if(KEY_PIN==0xDF) LED_P0RT=0xDF; } if(KEY_PIN==0xBF) { delay50us(1); if(KEY_PIN==0xBF) LED_P0RT=0xBF; } if(KEY_PIN==0x7F) { delay50us(1); if(KEY_PIN==0x7F) LED_P0RT=0x7F; } }
按第一个键,第一个LED亮;按第二个键,第二个LED亮。。。
以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
评论
微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )
GMT+8, 2024-12-22 14:31 , Processed in 0.019402 second(s), 20 queries .