51单片机用单片机汇编程序100例怎么做到,用独立按键按一下延时增加某段时间,用另一个独立按键按一下延时减少某段

51单片机独立按键检测的学习笔记 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
51单片机独立按键检测的学习笔记
助理工程师
11:35:56  
51单片机独立按键的结构图:
未命名文件.png (21.08 KB, 下载次数: 0)
11:34 上传
当按下开关后,由于开关的两端是线与关系,因此导线上的电平时0,也就是说如果我们初始化与开关连接的IO口电平为1,当我们按下去以后,我们只要检测这个IO口的电平是否为0,即可检测到是否按了键。
按键按下去的电压变化曲线:
未命名.jpg (17.73 KB, 下载次数: 1)
11:34 上传
程序如下 :
#include&reg52.h&
#define uint unsigned int
#define uchar unsigned char
sbit d1=P1^0;& &&&//声明第一个发光二极管的位
sbit dula=P2^6;& &//声明锁存器的锁存端的位
sbit wela=P2^7;& &//声明锁存器的锁存端的位
sbit key1=P3^4;& &//声明第一个按键的位
& && &&&//定义一个unsigned char型变量num,用来计数(记下按键的次数,不过最多到9)
uchar code table[]={& &
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z);& &&&//延时函数声明
void main()
{
& && & wela=1;& && & //打开位选锁存端
& && & P0=0& &&&//选定第一个数码管工作
& && & wela=0;& &//关闭位选锁存端
& && & P3=0& &&&//初始化P3的8个口的电平为高电平
& && & while(1)& &&&//进入死循环,扫描按键
& && &{
& && && && && &if(key1==0)& & //检测第一个按键是否按下去了,这里是如果按下去了
& && && && && &{
& && && && && && && &&&delay(5);& &//延时5ms,来消除按下去的抖动,也就是让这5ms啥都不做,一直到稳定电平
& && && && && && && &&&if(key1==0) //再次检测是否按下去了,这里是如果确实是人给按下去了的话,不是其他的干扰信号
& && && && && && && &&&{
& && && && && && && && && && && &d1=0;& & //点亮第一个发光二极管
& && && && && && && && && && && &num++;& &//同时num自加1
& && && && && && && && && && && &if(num==10)&&//判断是否加到了10,因为一个数码管最多只能显示0-9
& && && && && && && && && && && && && &&&num=0;& &//重新赋值num=0
& && && && && && && && &}
& && && && && && && && &while(!key1);& &&&//松手
& && && && && && && && &delay(5);& &//消除松手的抖动
& && && && && && && && &while(!key1);&&//稳定时候的松手检测,跳出执行else后面的语句
& && && && && &}
& && && && &&&else
& && && && && && && &&&d1=1;
& && && && & dula=1;& && && && & //数码管显示num
& && && && & P0=table[num];
& && && && & dula=0;
& &&&}
}
void delay(uint z)& & //延时程序
{
& && &uint x,y;
& && &for(x=z;x&0;x--)
& && && &&&for(y=110;y&0;y--);
}复制代码
上面的这个程序实现的是:刚开始的时候第一个发光二极管没有点亮且第一个数码管显示的是0,然后是独立键盘按键的检测,当我们按下第一个键后num的值变为1,且发光二极管点亮,松开手后数码管显示的就是1,然后发光二极管熄灭。第二次按下去的时候num的值变为2,且发光二极管点亮,松开手后数码管显示的就是2.。。。。。
资深工程师
14:03:02  
助理工程师
15:53:03  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
20:47:30  
发个资料文件
这样看的不舒服
16:06:55  
说的还不错吗,
16:43:26  
22:57:57  
&&顶一个,这个问题困扰我很久了,如梦初醒,谢谢分享
21:17:49  
谢谢楼主分享
等待验证会员
11:41:23  
我用的是来科5单片机,是独立按键,可是将上面的程序写进去为什么没有反应,数码管也不亮
等待验证会员
12:17:14  
应该是缺少使能端吧
18:49:20  
如梦初醒,谢谢分享
16:29:45  
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司单片机汇编视频教程_最好的51单片机汇编语言教程pdf下载_爱问共享资料
最好的51单片机汇编语言教程.pdf
最好的51单片机汇编语言教程.pdf
最好的51单片机汇编语言教程.pdf
简介:本文档为《最好的51单片机汇编语言教程pdf》,可适用于IT/计算机领域,主题内容包含芯源电子大屏幕LED显示屏设计制造单片机和嵌入式系统开发上海芯源电子电器设计中心:Email:jiguocitiznetQQE话通致广大新老朋友应广符等。
侵权或盗版
*若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台要求书面通知爱问!
赌博犯罪类
添加成功至
资料评价:
所需积分:051单片机独立按键程序查询法和外部中断两种_中华文本库
第1页/共5页
//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。
//单片机是STC89C52RC, 但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。
//程序在关键的位置添加了注释。
//用//11111代表第一个程序。//2代表第二个程序,以此类推
/*******************************************************************************
* 实 验 名
: 左右流水灯实验
* 使用的IO
: LED使用P2, 键盘使用P3.1
* 实验效果
: 按下K1键,
*******************************************************************************/
#include&reg51.h&
#include&intrins.h&
#define GPIO_LED P2
sbit K1=P3^1;
void Delay10ms( );
//延时10ms
/*******************************************************************************
* 函 数 名
* 函数功能
*******************************************************************************/
void main(void)
unsigned int i,j;
GPIO_LED=j;
//检测按键K1是否按下
Delay10ms(); //消除抖动
第1页/共5页
寻找更多 ""网站已改版,请使用新地址访问:
LED 采用汇编语言编写 通过独立按键控制led灯的亮灭。 SCM 单片机开发 238万源代码下载-
&文件名称: LED
& & & & &&]
&&所属分类:
&&开发工具: DOS
&&文件大小: 7 KB
&&上传时间:
&&下载次数: 18
&&提 供 者:
&详细说明:采用汇编语言编写 通过独立按键控制led灯的亮灭。-采用汇编语言编写
通过独立按键控制led灯的亮灭。
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&007-独立按键+LED显示\12&&....................\12.ASM&&....................\12.hex&&....................\12.lnp&&....................\12.LST&&....................\12.M51&&....................\12.OBJ&&....................\12.Opt&&....................\12.plg&&....................\12.Uv2&&....................\12_Opt.Bak&&....................\12_Uv2.Bak&&007-独立按键+LED显示
&[]:纯粹是垃圾
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 一款玩具产品,通过中断来检测按键,控制灯,产生方波驱动无源蜂鸣器。作用:按一个键灯闪,按另一个键蜂鸣器鸣叫。
&[] - C51单片机开发板与汇编语言的独立按键的简单调试程序
&[] - 独立按键 通过汇编语言编程实现独立按键的功能
&[] - 基于mc-51单片机的智能台灯的设计,汇编语言的编程,单片机编程
&[] - 汇编语言写的推箱子小游戏,文件包括bitmap与源码,已经游戏说明。
&[] - 独立按键控制LED,用于单片机初学者,c语言编写
&[] - 独立按键控制LED状态,当按键按下,LED状态改变
&[] - 基于单片机的红外应用,根据按键控制LED灯的亮暗
&[] - 51单片机的按键控制led程序,已测,可行,并对代码进行了优化

我要回帖

更多关于 单片机跑马灯汇编程序 的文章

 

随机推荐