资源简介
这是一个51单片机五向摇杆程序,分享给大家参考,有详细注释

代码片段和文件信息
/*******************************************************
程序功能:摇杆控制LED灯的亮灭
开发环境:Keil3
硬件环境:CEPARK多功能开发学习板/实验箱(2013版),STC12C5A60S2,11.092M晶振
接线说明:使用杜邦线连接P3口与底板单色流水灯模块的JP15 ,具体接法:P30-I1,P31-I2,P32-I3P33-I4P34-I5P35-I6P36-I7P37-I8.
使用杜邦线连接P1口与底板五向摇杆模块的JP39 ,具体接法:P10-F1,P11-F2,P12-F3P13-F4P14-F5
跳线说明:无
实验现象:五向摇杆朝上按下,L1点亮
摇杆朝左按下,L2点亮
摇杆朝下按下,L3点亮
摇杆朝右按下,L4点亮
摇杆中间按下,L5点亮
论坛支持:http://bbs.cepark.com
淘宝店铺:http://cepark.taobao.com
作者:cepark
时间:2013-01-23
*******************************************************/
#include “REG52.h“
/******************************************************
查表表格
*******************************************************/
unsigned char code table[]={0xfe0xfd0xfb0xf7
0xef0xdf0xbf0x7f
0xff// 关闭所有LED
}; //rom允许情况可以无限添加
void Delay(unsigned int); //延时函数
unsigned char KEY_Detect(void);
void main(void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
P1=0xff;
P3=0xff;
while(1)
{
i=KEY_Detect();
if(i!=0)
{
P3=table[i-1];
}
}
}
/******************************************************************************
函数名称:Delay
函数功能:延时函数
入口参数:uiCount-延时参数,每加1增加0.5ms
返回值:无
备注:无
*******************************************************************************/
void Delay(unsigned int uiCount)
{
unsigned char j = 244;
for(;uiCount > 0;uiCount--) while(--j);
}
/*******************************************************
函数功能:独立按键扫描
参数说明:无
返回值:返回当前按键值key
*******************************************************/
unsigned char KEY_Detect(void)
{
unsigned char ucTemp;
unsigned char key;
ucTemp = P1 ;
if(ucTemp != 0xFF) //判断是否有按键按键,如果有按键按下,进去下面的程序
{
Delay(200); //消抖
ucTemp = P1;
if(ucTemp != 0xFF)//再次判断是否有按键按下,如果ucTemp仍然不是0XFF,则说明确实有按键按下
{
switch(ucTemp)
{
case 0xFE:
key=1;
//第一个按键
break;
case 0xFD:
key=2;
//第二个按键
break;
case 0xFb:
key=3;
//第三个按键
break;
case 0xF7:
key=4;
//第四个按键
break;
case 0xef:
key=5;
//第五个按键
break;
case 0xdf:
key=6;
//第六个按键
break;
case 0xbf:
key=7;
//第七个按键
break;
case 0x7f:
key=8;
//第八个按键
break;
default:key=0;
break;
}
}
}
return key;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2565 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\CEPARK
文件 212 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\CEPARK-.plg
文件 532 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\CEPARK.hex
文件 78 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\CEPARK.lnp
文件 1050 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\CEPARK.plg
文件 2845 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\main.obj
文件 212 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Out\main.plg
文件 5573 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Project\CEPARK.m51
文件 7745 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Project\main.lst
文件 887 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Project\五向摇杆-点亮LED.Opt
文件 2165 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Project\五向摇杆-点亮LED.Uv2
文件 2919 2017-10-25 14:14 11-1 五向摇杆-点亮LED\Source\main.c
目录 0 2018-12-25 13:26 11-1 五向摇杆-点亮LED\Out
目录 0 2018-12-25 13:26 11-1 五向摇杆-点亮LED\Project
目录 0 2018-12-25 13:26 11-1 五向摇杆-点亮LED\Source
目录 0 2018-12-25 13:26 11-1 五向摇杆-点亮LED
----------- --------- ---------- ----- ----
26783 16
- 上一篇:基于labview的噪声采集和分析软件
- 下一篇:地震波场数值模拟
相关资源
- 海思HISI3516DV300开发板QT应用显示界面
- hi3515 PC端SDK
- 单片机音乐倒数定时器的设计
- STC15F
- 解读AT89C2051遥控接收器电路设计原理
- 电路图天天读19:局域网中红外遥控发
- 语音识别LD3320开发资料包含51代码
- 51单片机通信采样proteus仿真方波转化
- 基于89C51的智能台灯
- 51智能排课系统大课表版v5.1.3中文免费
- Beginning STM32: Developing with FreeRTOS libo
- MODERN ROBOTICS MECHANICS PLANNING AND CONTROL
- 51 单片机 红外避障小车 大集合136
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- proteus仿真 AT89C51输出各种波形
- 音乐代码转换软件 单片机编程时用
评论
共有 条评论