精华内容
下载资源
问答
  • 单个数码管显示

    2017-05-11 15:03:00
    转载于:https://www.cnblogs.com/2277098974-qqcom/p/6840967.html

     

    转载于:https://www.cnblogs.com/2277098974-qqcom/p/6840967.html

    展开全文
  • 矩阵键盘输入 单个数码管显示 汇编程序 由矩阵键盘输入
  • 基于Proteus的矩阵键盘按键检测单个数码管显示,三个文件,两种循环方式实现矩阵按键检测,一种非循环方式显示按键。 有动画原理显示和三个c语言文件。
  • 单个数码管显示4x4矩阵按键 代码: #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit BEEP = P3^7; uchar code DSY_CODE[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x...

    单个数码管显示4x4矩阵按键

    代码:

    #include <reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    sbit BEEP = P3^7;
    
    uchar code DSY_CODE[]=
    {
     	0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00
    };
    uchar Pre_KeyNO = 16,KeyNO = 16;
    
    void DelayMS(uint ms)
    {
     	uchar t;
    	while(ms--)
    	{
    	 	for(t=0;t<120;t++);
    	}
    }
    
    void Keys_Scan()
    {
     	uchar Tmp;
    	P1 = 0x0f;
    	DelayMS(1);
    	Tmp = P1 ^ 0x0f;
    	switch(Tmp)
    	{
    	 	case 1: KeyNO = 0; break;
    		case 2: KeyNO = 1; break;
    		case 4: KeyNO = 2; break;
    		case 8: KeyNO = 3; break;
    		default: KeyNO = 16;
    	}
    	P1 = 0xf0;
    	DelayMS(1);
    	Tmp = P1 >> 4 ^ 0x0f;
    	switch(Tmp)
    	{
    	 	case 1: KeyNO += 0; break;
    		case 2: KeyNO += 4; break;
    		case 4: KeyNO += 8; break;
    		case 8: KeyNO += 12;
    	}
    }
    
    void Beep()
    {
     	uchar i;
    	for(i=0;i<100;i++)
    	{
    	 	DelayMS(1);
    		BEEP = ~BEEP;
    	}
    	BEEP = 1;
    }
    
    void main()
    {
     	P0 = 0x00;
    	while(1)
    	{
    	 	P1 = 0xf0;
    		if(P1 != 0xf0)
    			Keys_Scan();
    		if(Pre_KeyNO != KeyNO)
    		{
    		 	P0 = ~DSY_CODE[KeyNO];
    			Beep();
    			Pre_KeyNO = KeyNO;
    		}
    		DelayMS(100);
    	}
    }
    
    

    硬件连接:
    在这里插入图片描述

    展开全文
  • //*****************************//按键控制单个数码管显示程序//*****************************ORG 0LJMP MAINORG 0100HMAIN:CLR A ;清零MOV DPTR,#TABLE ;存放表地址MOVC A,@A+DPTR ;读表MOV P0,A ;...

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

    //按键控制单个数码管显示程序

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

    ORG 0

    LJMP MAIN

    ORG 0100H

    MAIN:

    CLR A        ;清零

    MOV DPTR,#TABLE        ;存放表地址

    MOVC A,@A+DPTR        ;读表

    MOV P0,A                ;A中数送到LED口

    LOOP1:

    MOV A,P1        ;接收P1口的按键信号

    CPL A                ;取反

    JZ LOOP1        ;若无按键,返回LOOP1,否则继续

    MOV R4,#0        ;

    LOOP2:

    RRC A                ;有按键,循环右移判断是哪一位

    INC R4                ;每执行一次R4中加一

    JNC LOOP2        ;Cy为0,返回LOOP2,否则说明A按下的键

    ;已经右移到进位位,R4计数结束,继续下面步骤

    MOV A,R4                ;

    MOVC A,@A+DPTR        ;

    MOV P0,A                ;送数到p0口显示

    SJMP LOOP1                ;返回LOOP1判断按键情况

    TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

    END

    95c609d0bc5c1f100e5e0e3eed4ccacf.gif

    2018-5-15 20:08 上传

    点击文件名下载附件

    下载积分: 黑币 -5

    15.45 KB, 下载次数: 14, 下载积分: 黑币 -5

    电路图

    展开全文
  • 51单片机基础例程
  • #include <reg52.h> #define uchar unsigned char uchar keyvalue;... //数码管位选 uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共...

    #include <reg52.h>
    #define uchar unsigned char
    uchar keyvalue;
    sbit P2_0=P2^0; //数码管位选
    uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
    0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阳极数码管
    void delay(uchar z) //延时函数
    {uchar x,y;
    for(x=z;x>0;x–)
    for(y=114;y>0;y–);
    }
    void keyscan() //独立按键扫描函数
    { P3=0xff;
    if(P3!=0xff)
    { delay(5);
    if( P3!=0xff)
    {
    switch(P3)//判断哪一行被按下
    { case 0xdf:keyvalue=2;break;//S1按下
    case 0xef:keyvalue=3;break;//S2按下
    case 0xf7:keyvalue=4;break;//S3按下
    case 0xfb:keyvalue=5;break;}//S4按下
    }
    while(P3!=0xff);//松手检测
    }
    }
    void display(uchar i) //数码管显示函数
    {
    P2_0=0; //打开位选锁存器
    P0=table[i]; //显示按键值
    delay(5);
    P2_0=1; //锁定位选数据
    }
    void main()
    {
    while(1)
    {
    keyscan(); //独立按键扫描
    display(keyvalue);//按键值显示
    }

    }

    展开全文
  • 汇编版本 ;* ;************************************************************************** ;...实验板上的7段数码管0~9数字的共阴显示代码 tab: DB 3FH,06H,5bH,4fH,66H,6dH,7dH,07H,07FH,06fH END
  • 数码管,其实就是8个发光二极管按顺序排列而成的,所以让数码管显示特定的数字,只需要将该亮的二极管点亮,不该亮的灭了就好了。为了达到这个目的,就得参考电路图了,51HEI开发板的电路图在我的相册里有,但是整张...
  • 51单片机中单个数码管显示实验.pdf51单片机中单个数码管显示实验.pdf
  • 单个数码管循环显示1-9

    千次阅读 2020-09-12 20:16:23
    使用51单片机控制单个数码管,使其循环显示0-9. 二、实验原理 数码管(Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上...
  • 单个数码管 动态显示

    2019-04-02 09:49:19
    //显示0~F的值 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; //138译码器 void main() { LSA=0; LSB=0; LSC=0; //控制138译码器的Y0输出低电平 while(1) { uchar m; for(m=0;m;m++) { P0=smgduan...
  • 单个数码管

    2017-01-19 20:09:36
    /////////////////动态显示0-F///////////// ////////////////////////////////////// void display_number() { unsigned char i; while(1) { for(i = 0;i ;i++) { P1 = LED[i];   ...
  • 51单片机单个数码管循环显示0~9

    万次阅读 多人点赞 2018-02-07 09:17:34
    #include"reg52.h" typedef unsigned char u8; typedef unsigned int u16; sbit a=P2^2; sbit b=P2^3;...u8 code sumagd[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, ...0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,
  • 数码管显示

    千次阅读 2015-05-24 19:25:55
    一、区分数码管的类别 共阴数码管:即所有数码管的...二、单个数码管显示 a~h:表示单个数码管上面的8个LED。 根据共阴共阳的特性,点亮相应的LED,组成想要的数字(一般由取模软件得到) 如:共阴数码管显示数字'0,
  • c语言编程一 单个数码管显示技术#include "at89x51.h"#include "intrins.h"unsigned char code Led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char x=3;void delay(long t){while(t--);}...
  • 搞定了单片74HC595驱动单个LED数码管之后冒出了一个想法,之前不是已经搞定了温控了嘛,那能不能把温控得到的数据让数码管显示出来,虽然目前手头只有一个可以用。那只能想粗糙点的办法了,比如说只显示整数部分,...
  • arduino单个数码管调试

    千次阅读 2018-03-20 16:11:08
    //定义数字接口 7 连接 a 段数码管 int b=6;// 定义数字接口 6 连接 b 段数码管 int c=5;// 定义数字接口 5 连接 c 段数码管 int d=10;// 定义数字接口 10 连接 d 段数码管 int e=11;// 定义数字接口 11 连接 e 段...
  • 单按键控制单个数码管 此次操作是在完成单按键控制二极管亮灭的基础上改造的,目的是在改编一些功能 操作过程的结果: 用到的器件都有:at89c52,7seg(阴极管),接地,BUTTON(按键) 代码部分解释: ...
  • 段选是单个数码管显示的数字,位选是哪一个数码管亮。利用人眼的视觉效应,只要数码管切换的足够快,人眼就无法分辨出来,就会认为数码管一直保持亮,一般为20ms。 全部代码 #include <reg52.h> #define uint ...
  • 在很多的实际中我们都会使用到数码管,在学习单片机的时候应该对数码管的基本原理有所了解,一个数码管有8个小LED组成,控制每一个LED的亮灭即可实现数码管显示不同的形状,这就是单个数码管显示数字的原理。...
  • 89C51单片机数码管显示

    万次阅读 多人点赞 2018-12-09 20:50:23
    数码管显示分为静态数码管显示和动态数码管显示 ...单个数码管 此处为一个8位的数码管,想要数码管显示出想要的数字,则需要对数码管进行高低电平的设置 1为高电平,0为低电平 分别对 a,b,c,d,e,...
  • 原博文2020-08-08 21:21 −[TOC] # python实现七段数码管显示> 运行原理:如图所示,七段数码管由七个线条组成,可以有固定顺序(1--7),不同数字显示不同的线条 ## 1)绘制单个数字 ```pythondef drawline(draw):#...
  • 8只数码管滚动显示单个数字,源码完整,值得参考
  • function2进入循环,用数码管1和数码管2循环显示,同时显示2个数字并使用延时函数延时一会儿 显示最后两个数字时延时最长 没有退出功能,进入一个功能后想使用另一个必须关闭单片机重新启动 为了不暴露个人隐私,...
  • 数码管显示时间

    2020-04-06 16:36:15
    用“七段数码管”显示当前时间: import turtle, time def drawGap(): turtle.penup() ...def drawLine(draw):#绘制单个数码管# drawGap() turtle.pendown()if draw else turtle.penup() turtle.fd(40) ...
  • 数码管循环显示单个数字

    千次阅读 2020-12-19 00:06:05
    电路图 此图中数码管共阳极(低电平有效,不控制小数点dp) 数码管内部电路 共阴极:a,b,c,d,e,f,g,dp高电平有效 ...//数码管显示数字0~9对应的十六进制 unsigned char code led[]={0xC0,0xF9,0xA4,0xB0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,079
精华内容 431
关键字:

单个数码管显示