❶ 用51单片机,怎么让数码管显示一串矩阵键盘按下的键代表的数(0~f)
这种显示方式就和手机拨号时,按下号码的显示是一样,第一个数码先在右边显示,再按键,依此向左移动显示。要是6位数码管,就保留6位显示了,按键超过6位时,先按的自然丢掉了。
❷ 51单片机怎么让数码管动态显示1234动态显示后通过按键变成静态显示
数码管动态显示就是按顺序分配给每一个数码管显示一定时间(如10ms等),如此循环;
对于时间间隔的设定,常采用定时器中断方式来得到,可以首先让定时器1ms中断,然后在中断函数里对全局变量m计数,即10次中断就是10ms,同理,计数800次就是8秒了;
要想让显示变成静态显示,那么就只有一位数码管在显示了;
这个可以在想显示的位中,停止定时器计数,或者在 m 未达到设定值前清0 即可;
另外,不要再采用delay()这样的代码延时函数;
❸ 51单片机用4个按键,每个按键被按下都会使数码管显示一个数值
5. [问答题] [技能题画10配线图写出程序]按下按钮S1,数码管显示1;按下按钮S2,数码管显示2;按下按钮S3,数码管显示3;按下按钮S4,数码管显示4;能互相直接切换。按下停止按钮后,数码管熄灭。。
❹ 51单片机的共阴数码管怎么显示数字(c语言)
要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。
以显示数字“0”为例,c语言程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//数码管的段码编码
Uchar table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main(){//主函数
P0 = table[0];//显示0,大家可以修改里面的数据。
while(1);//程序不再执行其他步骤;
}
(4)51单片机按键数字显示扩展阅读:
数字0-9的对应段码:
数字0 0x3f
数字1 0x06
数字2 0x5b
数字3 0x4f
数字4 0x66
数字5 0x6d
数字6 0x7d
数字7 0x07
数字8 0x7f
数字9 0x6f
❺ 51单片机 要求按键显示 按一下显示一个数字
数码管分共阳和共阴 我这里给你举个七段共阳数码管的例子吧。
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 ,0x80,0x90,0x88,0x83 ,0xc6,0xa1,0x86,0x8e
数码管是有8个管子构成的 具体的图编号你可以在网上搜到
我现在写的0xc0 代表数码管的0 ,后面类推 对应从0-F 的编码
程序编码要和硬件设计相结合 这个程序是把七段数码管的a-g 接到P0^0-P0^6口
没有加按键消抖程序 有需要可以去网上搜搜就是加个延时
#include <reg51.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
sbit buzzer = P1^0;//定义蜂鸣器到P1.0口
sbit key1 = P1^1; //按键1
sbit key2 = P1^2; //按键2
sbit key3 = P1^3; //按键3
sbit key4 = P1^4; //按键4
sbit key5 = P1^5; //按键5
sbit key6 = P1^6;//按键6
P0=0x00; //设置P0口输出都是低电平
buzzer = 1;//设置蜂鸣器 输出为高电平 此时不响 (蜂鸣器+接5V -接单片机口,中间串个电阻限流)
/*-------------- 主函数 ----------*/
void main (void)
{
while (1) //主循环
{
if(key == 1)
{
P0= 0xf9; //显示1
buzzer = 0; //蜂鸣器响
}
if(key == 2)
{
P0= 0xa4; //显示2
buzzer =0; //蜂鸣器响
}
if(key == 3)
{
P0= 0xb0; //显示3
buzzer = 0; //蜂鸣器响
}
if(key == 4)
{
P0= 0x99; //显示4
buzzer = 0; //蜂鸣器响
}
if(key == 5)
{
P0= 0x92; //显示5
buzzer = 0; //蜂鸣器响
}
if(key == 6)
{
P0= 0x82; //显示6
buzzer = 0; //蜂鸣器响
}
}
❻ 51单片机8位按键数码管显示
其实修改这个地方就可以实现
switch(keyvalue)
{
case 0x38:key=1;break;
case 0x34:key=2;break;
case 0x2c:key=3;break;
case 0x1c:key=4;break;
//增加按键所对应的代码。。你需要把按键的连接引脚给我,才能计算出来数值
default:key=0;break;
}
❼ 如何在51单片机上用数码管显示按键对应的数字(好像手机上的按键一样)
编程加管教配置。kell5
❽ 51单片机怎样用键盘控制数码管显示
51单片机怎样用键盘控制数码管显示的方法。
如下参考:
1.首先,编写代码并点亮数码管。
❾ 51单片机如何设置同一个按键,按一下显示123456,再按一下显示321456
51单片机用一个按键,定义一个位变量,或一个8位的变量,按一下键变量为1,再按一下变量为0。然后显示时,再根据变量值来决定显示内容,变量为1,显示123456,变量为0显示321456。
❿ 如何用51单片机用一位数码管显示对应数字
首先你要把0到9的数字对应的七段码放在一个数组中,然后用一个变量计按键的次数或序号,把该序号的七段码输出到对应的端口即可。