按键控制数码管加1 c程序

发布者:深沉思考最新更新时间:2015-04-29 来源: 51hei关键字:按键控制  数码管  c程序 手机看文章 扫描二维码
随时随地手机看文章
每次按键蜂鸣器响一声,然后数码管会自动加1.数码管用2个573接到p0口,电路详见单片机开发板的原理图:http://www.51hei.com/f/HL-1V6.5.pdf
 
#include //头文件
unsigned int t;     //声明无符号整型变量T
unsigned char i=0; //段码初始值定义
unsigned char s=0;//位码初始值定义
sbit key=P3^0; // 键盘端口定义为P3.0
sbit SB=P2^3;//峰鸣器端口定义
sbit DUAN=P2^0;  //段码位选通定义
sbit WEI=P2^1;//位码位选通定义
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表
unsigned char code TABLE2[]={0x00};//位码表
void main(void)//主函数
{
SB=1;//   峰鸣器关闭
while(1)//主函数
{
SB=1;
P0=TABLE1[i];   //查段码表结果
DUAN=1;   //开段码选通
DUAN=0;//关段码选通
P0=TABLE2[s];  //查位码表结果
WEI=1;  //开位选通
WEI=0;//关位选通
for(t=0;t<6000;t++);//延时防闪烁
if(key==0)//按键识别
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
}
}
}
}
关键字:按键控制  数码管  c程序 引用地址:按键控制数码管加1 c程序

上一篇:一种单片机独立按键检测思路
下一篇:自己写的按键单片机程序

推荐阅读最新更新时间:2024-03-16 14:00

单片机点亮数码管
数码管的示意图如上,通过点亮a-g七个led来拼成对应的数字或字符,数码管有共阳极(底电平亮)和共阴极(高电平亮),以上图的数字2为例: 共阳极(0亮1灭): DP G F E D C B A 1 0 1 0 0 1 0 0 = 0xA4 共阴极(1亮0灭): DP G F E D C B A 0 1 0 1 1 0 1 1 = 0x5B 全部定义: 附件的excel中有所有共阳共阴的代码; 以共阳极为例,将0-9定义在数组(C语言中是叫“表”?有知道的同志可以赐教)中,通过循环来依次显示0-9; #include reg52.h un
[单片机]
单片机点亮<font color='red'>数码管</font>
基于STC12C56系列单片机的AD转换C程序
/**************** STC12c56 AD转换 入口参数:通道数(0,1,2,3,4,5,6,7) 返回值: AD转换结果 *****************/ #include reg51.h sfr ADC_CONTR=0xc5; //AD转换寄存器 sfr ADC_DATA=0xc6; //AD转换结果寄存器,为10位 sfr P1M0=0x91; sfr P1M1=0x92; /*************************** 微秒延时函数 ********************************/ void delay_us(unsigned int i)//延时 如果需要
[单片机]
avr单片机mega32之ADC程序
查手册,写程序,有问题再讨论 ***************************************************************** //CPU:mega32 //编译器:iar #include ioavr.h #include adc.h int main(void) { int m; adc_init(); m = adc_get(0); m=m; while(1); } void adc_init(void) { ADMUX = 1 REFS0 | 0 ADLAR ;//参考电源:AVcc 右对齐 ADCSRA = 1 ADEN | 7;//adc使能 1
[单片机]
小白自学c51笔记之数码管1——D74HC245和D74HC138
小白自学c51之数码管1——D74HC245和D74HC138芯片 问:遇到不知道的芯片该怎么做? 答:查芯片数据手册,重点看芯片作用,宽电压工作范围,管脚说明,真值表。 宽电压:电器对电压的高适应性。在一定范围内不同等级的电压都能适应。 D74HC245: 作用:增加驱动。(电流不够拿它来凑) 特性之一:双向三态输出,即0(低电压),1(高电压),高阻态三态。 高阻态指的是电路的一种输出状态,既不是高电平也不是低电平,分析时可看作开路。 在我的单片机开发板原理图中: DIR为1时如上上张图,即原理图,电流从左向右;DIR为0时,电流从右流向左。详情见下面真值表。 D74HC138: 三通道输入,八通道输出。 数
[单片机]
小白自学c51笔记之<font color='red'>数码管</font>1——D74HC245和D74HC138
单片机中级项目13丨矩阵按键数码管移位显示
单片机中级项目13丨矩阵按键数码管移位显示 /******************************************************************************* * 实 验 名 : 动态显示数码管实验 * 使用的IO : 数码管使用P0,P2.2,P2.3,P2.4键盘使用P1 * 实验效果 : 按矩阵键盘分别显示在数码管上面显示十六进制的0到F。 * 注 意 : *******************************************************************************/ #include reg51.h #def
[单片机]
51单片机实现数码管动态显示60~0
硬件电路原理图 元件清单 C语言程序 #include reg51.h unsigned char table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管字符码 void show(unsigned char n); void delay(unsigned int k); void main() { unsigned char i; int j; while(1) { for(i=60;j=60,i 0;i--) while(j--) show(i); } } void show(unsigned char n) { P0=table ; P1
[单片机]
51单片机实现<font color='red'>数码管</font>动态显示60~0
51单片机实现用LED灯和按键来模拟工业自动化设备的运动控制
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200602 ---- @ModifiedTime: 2020060
[单片机]
51单片机实现用LED灯和<font color='red'>按键</font>来模拟工业自动化设备的运动<font color='red'>控制</font>
一种C51单片机并行口扩展设计及应用
1 引言 C51单片机是我们生活中最常用的系列,MCS-51系列单片机有4个并行口(P0,P1,P2,P3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口,只有P1口可用,况且常常因扩展I2C和SPI的器件需占用某些P1口,迫使用户不得不扩展并行口以满足实际的需要。习惯上,常用的并行口接口芯片有8255、8155,这两种芯片功能比较齐全,可以使用在相对比较复杂的系统中,但如是对一般的系统而言,这些功能往往闲置不用。那么就可以选用一些本来闲置不用的口线作为选通信号来进行并行口的扩展,这样就能充分利用单片机有限的I/O资源,在本设计中是将P1口扩展成一个或几个8位并行口,在每一个八位口上接入8个发光二极管做为输出,二
[单片机]
一种C51单片机并行口扩展设计及应用
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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