每次按键蜂鸣器响一声,然后数码管会自动加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
[单片机]
基于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: 三通道输入,八通道输出。 数
[单片机]
单片机中级项目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单片机实现用LED灯和按键来模拟工业自动化设备的运动控制
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200602 ---- @ModifiedTime: 2020060
[单片机]
一种C51单片机并行口扩展设计及应用
1 引言 C51单片机是我们生活中最常用的系列,MCS-51系列单片机有4个并行口(P0,P1,P2,P3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口,只有P1口可用,况且常常因扩展I2C和SPI的器件需占用某些P1口,迫使用户不得不扩展并行口以满足实际的需要。习惯上,常用的并行口接口芯片有8255、8155,这两种芯片功能比较齐全,可以使用在相对比较复杂的系统中,但如是对一般的系统而言,这些功能往往闲置不用。那么就可以选用一些本来闲置不用的口线作为选通信号来进行并行口的扩展,这样就能充分利用单片机有限的I/O资源,在本设计中是将P1口扩展成一个或几个8位并行口,在每一个八位口上接入8个发光二极管做为输出,二
[单片机]