- 51
- 0
- 约4.1千字
- 约 5页
- 2016-09-19 发布于重庆
- 举报
51单片机独立按键程序查询法和外部中断两种
//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。
//单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。
//程序在关键的位置添加了注释。
//用//11111111111111111代表第一个程序。//2222222222222222222222222代表第二个程序,以此类推
//1111111111111111111111111111111111111111111111111111111111111111111
//1111111111111111111111111111111111111111111111111111111111111111111
/*******************************************************************************
* 实 验 名 : 左右流水灯实验
* 使用的IO : LED使用P2,键盘使用P3.1
* 实验效果 : 按下K1键,
* 注 意 :
*******************************************************************************/
#includereg51.h
#includeintrins.h
#define GPIO_LED P2
sbit K1=P3^1;
void Delay10ms( ); //延时10ms
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main(void)
{
unsigned int i,j;
j=0xfe; //1111_1110
while(1)
{
GPIO_LED=j;
if(K1==0) //检测按键K1是否按下
{
Delay10ms(); //消除抖动
if(K1==0)
{
j=_cror_(j,1);
while((i50)(K1==0)) //检测按键是否松开
{
Delay10ms();
i++;
}
i=0;
}
}
}
}
/*******************************************************************************
* 函 数 名 : Delay10ms
* 函数功能 : 延时函数,延时10ms
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Delay10ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=1;c0;c--)
for(b=38;b0;b--)
for(a=130;a0;a--);
}
//222222222222222222222222222222222222222222222222222
//222222222222222222222222222222222222222222222222222
/*********************************************************************************
*实 验 名 :外部中断实验
*注 意 :由于P3.2口跟红外线共用,所以做按键实验时为了不让红外线影响实验效果,最好把红外线先
*取下来。
*实验效果 :K3按下LED左循环,K4按下LED变右循环
*
*********************************************************************************/
#inc
您可能关注的文档
- 500t压力机开题报告.doc
- 500u单线多WAN.doc
- 500伏铜芯线连续负荷允许载流量表.doc
- 500万像素高清网络摄像机.doc
- 32平面直角坐标系.doc
- 32式太级剑动作名称及要点.doc
- 500千瓦上柴小柴油发电机组技术参数表.docx
- 500千瓦上柴柴油发电机组技术参数.doc
- 500千瓦上柴柴油发电机组技术参数表.docx
- 500千瓦沃尔沃柴油发电机组技术参数表.docx
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)