用独立按键实现按一个按键时,数字从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单片机 独立按键
推荐阅读最新更新时间: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
[单片机]
单片机与组态王软件通讯的解决方案
1、引言 组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。在“农水实验田环境监测”项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。因此,实现单片机与组态王的数据通讯是一个必须解决的问题。 2、 单片机与组态王软件通讯的解决方案 2.1两种通讯解决方案 单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC一样;其二是利用组态王软件和Visual B
[单片机]
基于单片机的温度监控报警系统设计
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 - 主要参数指标 - - 电路原理图 - - 元器件清单 - - 代码主程序 - #include reg52.h #include stdio.h #include absacc.h code unsigned char seg7code ={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,
[单片机]
基于单片机的智能报警系统设计方案
本系统设计主要是满足宿舍自动报警的需要,设计的目标是要实现语音报警、时间设定和显示、灯光报警并实现网络报警等功能。 1 设计方案 1.1 主控制器的选择 采用凌阳公司的16位单片机SPCE061A 作为主控制器。由于SPCE061A 内置有2KB的SRAM 和32KB的内存FLASH,能满足本系统存储密码及各类数据的要求,且CPU时钟频率高达49.152MHz,能保证响应的快速性,内置的语音模块更提高了系统人机界面的友好性。 1.2 异地监控方案选择 采用无线通信方式。使用无线收发模块NRF2401进行无线通信。这种通信方式不受线路长短影响,主从站位置可任意设置,布置比较灵活。 1.3 贵重
[单片机]
单片机音乐程序设计
利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。 单片机 的基本发音实验 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的 高 电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制 高 低 电平的持续时间,就能改变输出频率,从而改变音调。 例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为:其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200HZ音频,其周
[单片机]
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系列已进入量产阶
[单片机]