51单片机矩阵按键控制数码管

“51单片机矩阵按键控制数码管”相关的资料有哪些?“51单片机矩阵按键控制数码管”相关的范文有哪些?怎么写?下面是小编为您精心整理的“51单片机矩阵按键控制数码管”相关范文大全或资料大全,欢迎大家分享。

51单片机按键控制花样灯

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

51单片机按键控制花样灯

时间:2012-09-10 13:50:11 来源:51hei 作者:

/****************************************************

* 本程序实现用按键控制花样灯。 *

* 当K1按下时,灯从0xfe向左跑一遍; *

* 当K2按下时,LED灯从0x7f向右跑一遍到了0xfe右跑回到起始位置; *

* 当K3键按下时,LED灯从0xfe开始作流水灯形式运行一次,然后再流回来。 * * 当K4键按下时,LED灯先亮前四个,接着再转向亮后四个。 *

* 当K5键按下时,结束任意正在进行的程序,使LED灯全部熄灭。

51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位)

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

51单片机定时器数码管30秒倒计时(带三个按键控制开始,暂停,复位)

程序:

#include \

unsigned char code led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char code addr[2]={0xef,0xdf}; unsigned char xx[2]; unsigned char time=30; unsigned char flag=0; void delay(void); void sys(void) { TMOD=0x01; TH0=(65536 - 50000) / 256; TL0=(65536 - 50000) % 256; ET0=1; TR0=1; EA=1; EX0=1; IT0=1; }

void ftimer0(void) interrupt 1 { static unsigned char cnt; TH0=(65536-50000)/256; TL0=(65536-50000)%6; cnt++; if(cnt>20) { if(flag==1) {

51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位)

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

51单片机定时器数码管30秒倒计时(带三个按键控制开始,暂停,复位)

程序:

#include \

unsigned char code led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char code addr[2]={0xef,0xdf}; unsigned char xx[2]; unsigned char time=30; unsigned char flag=0; void delay(void); void sys(void) { TMOD=0x01; TH0=(65536 - 50000) / 256; TL0=(65536 - 50000) % 256; ET0=1; TR0=1; EA=1; EX0=1; IT0=1; }

void ftimer0(void) interrupt 1 { static unsigned char cnt; TH0=(65536-50000)/256; TL0=(65536-50000)%6; cnt++; if(cnt>20) { if(flag==1) {

51单片机_矩阵按键检测

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

《51系列单片机_矩阵按键检测》此程序使用 单片机89SC52// 1、 此程序实现矩阵按键的检测功能,按下按键时,数码管显示按键的相应键值

《51系列单片机_矩阵按键检测》

此程序使用 单片机89SC52

// 1、 此程序实现矩阵按键的检测功能,按下按键时,数码管显示按键的相应键值

#include<reg52.h>

void delay_ms(int n) //延时函数,延时n毫秒

{

int i, j;

for(i=0; i<n; i++)

for(j=0; j<110; j++);

}

void display(int num) //控制数码管按位输出显示数值num {

char BitSet[8] =

{

0x7f, 0xbf, 0xdf, 0xef,

0xf7, 0xfb, 0xfd, 0xfe

}; //用于设置(低电平位选)数码管的位选信号,从低到高对应8个数码管

char NumberCode[16] =

{

0x3f, 0x06, 0x5b, 0x4f,

0x66, 0x6d, 0x7d, 0x07,

0x7f, 0x6f, 0x77, 0x7c,

0x39, 0x5e, 0x79, 0x71,

}; //用

单片机按键扫描数码管显示C语言程序

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

单片机按键扫描数码管显示C语言程序

按键扫描数码管显示程序共定义了6个键的功能:K1、K2、K3、K4以及K5、K8组成的一对复合键,其中K2,K3为连击键,K5为上档键。在正常工作模式下按K1则切换至状态,在设定模式下按K1键循环选择4个数码管中的某个,被选中的数码管闪烁,此时单按K2键显示数值加1;常按K2显示数值以一定速度递增,同时数码管停止闪烁,当K2松开,数码管恢复闪烁,显示数值停留在K2松开前的值上。K3完成的功能和K2类似。其完成减操作。这2个键只有在设定状态才有效,可以有效防止误操作。K4为确认键,按下该键回到正常显示状态,所有指示灯熄灭,数码管显示刚刚设定的数值。K5+K8这对复合键执行复位操作,任何情况下同时按下K5和K8或先按下K5再按下K8,所有数码管的显示全为0,指示灯全灭,进入正常显示状态。同时程序还对如下几个异常操作进行了处理: 1. 2个或多个功能键同时按下

2. 一个功能键按下未释放,又按另一个功能键,然后再松开其中一个功能键 3. 先按下功能键再按下上档键

4. 多个上档键和一个功能键同时按下,此时不做处理。等到松开其他上档键,只剩下一个上

5. 档键和一个功能键时才执行这对复合键;或松开所有上档

单片机按键扫描数码管显示C语言程序

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

单片机按键扫描数码管显示C语言程序

按键扫描数码管显示程序共定义了6个键的功能:K1、K2、K3、K4以及K5、K8组成的一对复合键,其中K2,K3为连击键,K5为上档键。在正常工作模式下按K1则切换至状态,在设定模式下按K1键循环选择4个数码管中的某个,被选中的数码管闪烁,此时单按K2键显示数值加1;常按K2显示数值以一定速度递增,同时数码管停止闪烁,当K2松开,数码管恢复闪烁,显示数值停留在K2松开前的值上。K3完成的功能和K2类似。其完成减操作。这2个键只有在设定状态才有效,可以有效防止误操作。K4为确认键,按下该键回到正常显示状态,所有指示灯熄灭,数码管显示刚刚设定的数值。K5+K8这对复合键执行复位操作,任何情况下同时按下K5和K8或先按下K5再按下K8,所有数码管的显示全为0,指示灯全灭,进入正常显示状态。同时程序还对如下几个异常操作进行了处理: 1. 2个或多个功能键同时按下

2. 一个功能键按下未释放,又按另一个功能键,然后再松开其中一个功能键 3. 先按下功能键再按下上档键

4. 多个上档键和一个功能键同时按下,此时不做处理。等到松开其他上档键,只剩下一个上

5. 档键和一个功能键时才执行这对复合键;或松开所有上档

51单片机数码管电子时钟程序

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

这是一个以8位数码管做的电子时钟程序,包括整点报时

#include<reg52.h>

#define uint unsigned int #define uchar unsigned char

uchar miao,fen,shi,m,f,s,num,num2,num1,num4;

uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit beep=P3^7; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

void xiansi( uchar aa,uchar bb,uchar cc) { P2=0xdb; P0=0xbf; delay(1); P0=0xff; // num2++;

if(num1==1&num2==0|num1==1&num2==1) { P2=0xff; P0=table1[aa%10]; delay(1); P0=0xff; P2=0xff;

基于51单片机的DS18B20数码管显示程序

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

///////共阳数码管////////////////

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include \#include \

#define DuanPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 #define WeiPort P2 //定义数据端口 程序中遇到DataPort 则用P2 替换

sbit duan=P3^0;//定义锁存使能端口 段锁存 sbit wei=P3^1;// 位锁存 sbit LED=P3^7;

bit ReadTempFlag;//定义读时间标志 unsigned int num=0,num1=0;

//////************数码管共阳****************///////////

unsigned char code DuanMa[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 显示段码值0~9

unsigned char code WeiMa[]={0x01,0x02,0x04,0x08,0x10,0

数码管动态显示的51单片机时钟设计

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

一看就会,适合初学者参考

T0,T1同时开中断,和别人的有点不一样

源程序如下

//数码管设计的可调电子钟 //K1,K2分别调整小时和分钟 #include #include

#define uchar unsigned char #define uint unsigned int

uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99, //共阳段码 0x92,0x82,0xF8,0x80,0x90,0xFF}; uchar DSY_BUFFER[]={0,0,0xBF,0,0,0xBF,0,0}; //显示缓存 ucharScan_BIT; //扫描位,选择要显示的数码管 uchar DSY_IDX; //显示缓存索引 ucharKey_State; //P1端口按键状态 uchar h,m,s,s100; //十分秒 ,1/100s void DelayMS(uchar x) //延时 {

uchar i;

while(x--) for(i=0;i<120;i++);

}

void Increase_Hour() //小时处理函数 {

if(++h>23)h=0;

DSY_BUF

单片机实验四 I O显示控制实验(数码管显示实验)

标签:文库时间:2024-10-02
【bwwdw.com - 博文网】

电子信息工程学系实验报告

课程名称:单片微型计算机与接口技术

成 绩: 实验项目名称: 实验四 I/O显示控制实验 实验时间: 2013.11.24 指导教师(签名): 班级: **** 姓名:**** 学号:********

一 、实 验 目 的:

1、熟悉keil仿真软件、proteus仿真软件、软件仿真板的使用。

2、了解并熟悉一位数码管与多位LED数码管的电路结构、与单片机的连接方法及其应用原理。

3、学习proteus构建LED数码管显示电路的方法,掌握C51中单片机控制LED数码管动态显示的原理与编程方法。 二、 实 验 环 境:

1、Windows XP系统;

2、Keil uVision2、proteus系列仿真调试软件 三 、实 验 原 理: