c51单片机 独立按键

发布者:boyatang最新更新时间:2022-03-14 来源: eefocus关键字:c51  单片机  独立按键 手机看文章 扫描二维码
随时随地手机看文章

用独立按键实现按一个按键时,数字从F到0递减的变化程序,即每按一次按键,数码管显示字符减一,减到0后重新显示。


#include


sbit ADDR0= P2^2;

sbit ADDR1=P2^3;

sbit ADDR2=P2^4;


sbit key1=P3^0;


unsigned char code ledchar[] = {0x00,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};


bit keysta = 1;


void main()

{

bit backup = 1;

unsigned char cnt = 16;


EA  = 1;

ADDR2 =0;

ADDR1= 0;

ADDR0 = 0;

TMOD = 0X01;

TH0 = 0XF8;

TL0 = 0XCD;

ET0 = 1;

TR0 = 1;

P0 = ~ledchar[cnt];


while(1)

{

if(keysta != backup)

{

if(backup == 0)

{

cnt--;

if(cnt < 1)

{

cnt = 16;

}

P0 = ~ledchar[cnt];

}

backup  = keysta;

}

}

}


void InterruptTimer0() interrupt 1

{

static unsigned char keybuf = 0xff;

TH0 = 0XF8;

TL0 = 0XCD;

keybuf = (keybuf <<1)|key1;

if(keybuf == 0x00)

{

keysta = 0;

}

else if(keybuf == 0xff)

{

keysta = 1;

}

else

{}

}


c51独立按键


关键字:c51  单片机  独立按键 引用地址:c51单片机 独立按键

上一篇:99分钟倒计时程序,带继电器输出
下一篇:51单片机独立键盘原理

推荐阅读最新更新时间:2024-11-08 10:29

C51的基础 9 《 指针、结构、联合和枚举 》
指针、结构、联合和枚举 本节专门对第二节曾讲述过的指针作一详述。并介绍Turbo C新的数据类型: 结构、联合和枚举, 其中结构和联合是以前讲过的 五种基本数据类型(整型、浮点型、字符型、指针型和无值型)的组合。枚举是一个被命名为整型常数的集合。最后对类型说明 (typedef)和预处理指令作一阐述。 指 针(point) 学习Turbo C语言, 如果你不能用指针编写有效、正确和灵活的程序, 可以认为你没有学好C语言。指针、地址、数组及其相互 关系是C语言中最有特色的部分。规范地使用指针,可以使程序达到简单明了, 因此, 我们不但要学会如何正确地使
[单片机]
单片机电子钟程序完美版(带闹钟温度功能)
本电子钟已经全部测试OK,带闹钟功能,年月日时分秒星期温度,四个按键可设置闹钟调节时间,温度可以显示正125度到负的55度之间,时间走时的话,我测试了一个月,误差不到1分钟。本人已经录制成视频,视频里面有详细的介绍,感兴趣的可以看看 。视频及多图还有源代码的地址: http://www.51hei.com/bbs/dpj-26057-1.html 程序: #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit rs=P1^0;//寄存器选择 sbit rw=P1^1;//读写信号线 sbi
[单片机]
<font color='red'>单片机</font>电子钟程序完美版(带闹钟温度功能)
单片机与组态王软件通讯的解决方案
1、引言 组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。在“农水实验田环境监测”项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。因此,实现单片机与组态王的数据通讯是一个必须解决的问题。 2、 单片机与组态王软件通讯的解决方案 2.1两种通讯解决方案 单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC一样;其二是利用组态王软件和Visual B
[单片机]
<font color='red'>单片机</font>与组态王软件通讯的解决方案
基于单片机的温度监控报警系统设计
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 - 主要参数指标 - - 电路原理图 - - 元器件清单 - - 代码主程序 - #include reg52.h #include stdio.h #include absacc.h code unsigned char seg7code ={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,
[单片机]
基于<font color='red'>单片机</font>的温度监控报警系统设计
基于单片机的智能报警系统设计方案
  本系统设计主要是满足宿舍自动报警的需要,设计的目标是要实现语音报警、时间设定和显示、灯光报警并实现网络报警等功能。   1 设计方案   1.1 主控制器的选择   采用凌阳公司的16位单片机SPCE061A 作为主控制器。由于SPCE061A 内置有2KB的SRAM 和32KB的内存FLASH,能满足本系统存储密码及各类数据的要求,且CPU时钟频率高达49.152MHz,能保证响应的快速性,内置的语音模块更提高了系统人机界面的友好性。   1.2 异地监控方案选择   采用无线通信方式。使用无线收发模块NRF2401进行无线通信。这种通信方式不受线路长短影响,主从站位置可任意设置,布置比较灵活。   1.3 贵重
[单片机]
基于<font color='red'>单片机</font>的智能报警系统设计方案
单片机音乐程序设计
利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。 单片机 的基本发音实验 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的 高 电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制 高 低 电平的持续时间,就能改变输出频率,从而改变音调。 例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为:其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200HZ音频,其周
[单片机]
<font color='red'>单片机</font>音乐程序设计
NEC山梨MR和Renesas MCU智能水表方案
水表的发展已有近二百年的历史,在开始阶段相当长的一段时间里,英法日德等国家的水表一直占据着中国水表行业。随着城市供水事业的发展,中国的水表工业也相应地发展起来,从20世纪90年代开始,各种智能型水表、水表抄表系统等产品也开始兴起。 尽管,目前国内的水表市场仍然以机械表为主,但是从发展角度来看,智能化是一种必然的趋势,可以节省人工,提高抄表的准确度,更可以实现阶梯化收费,有效的利用有限的水资源。 水表的电源一般由水表自行供给,这就对水表的功耗提出了苛刻的要求。国际规定,智能水表的静态电流应该小于30μA,实际中水表厂商都把该指标控制在10μA以内(使用干簧管传感器时),保证工作时间大于6年以上才算合格。NEC带LCD控制功能的8位微
[嵌入式]
意法半导体开始量产STM32 F0系列入门型微控制器
中国,2012年5月15日 ——横跨多重电子应用领域、全球领先的半导体供应商、世界领先的微控制器制造商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)开始量产STM32 F0系列32位微控制器。设计目标是彻底消除8位/16位微控制器在应用上的局限性,性能差距。 意法半导体还推出一套叫做探索套件的STM32F0专用评估板,依托规模庞大的STM32开发生态系统,现在,工程师采用意法半导体的ARM®Cortex™-M0微控制器开发应用万事俱备,能够轻松地将其应用到成本敏感型消费电子和工业产品中。 意法半导体微控制器产品部经理Michel Buffa表示:“现在,STM32 F0系列已进入量产阶
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved