4键六位数显示程序

发布者:温暖拥抱最新更新时间:2018-01-11 来源: eefocus关键字:4键六位数  显示程序 手机看文章 扫描二维码
随时随地手机看文章

4键六位数显示程序

        org  00h
start:  MOV   r4,#06h
        MOV   r0,#30h
clear:  MOV   @r0,#00h

        inc  r0
        djnz r4,clear
l1:     MOV   r3,#0f7h           ;扫描初值(P13=0)
        MOV   r1,#00h            ;取码指针
l2:     MOV   a,r3               ;开始扫描
        MOV   p1,a               ;将扫描值输入至P1
        MOV   a,p1               ;读入P1值,判断是否有键按下?
        MOV   r4,a               ;存入R4,以判断是否开放
        setb c                  ;C=1
        rrc  a                  ;扫描下一行(P13~P10)
        MOV   r3,a               ;存回扫描寄存器
        jc   l2                 ;C=1?是则P10尚未扫描到
        jmp  l1                 ;C=0则4行已扫描完毕
keyin:  MOV   r7,#60             ;消除抖动
d2:     MOV   r6,#248
        djnz r6,$
        djnz r7,d2
d3:     MOV   a,p1              ;读入P1值
        xrl  a,r4              ;与上次读入值作比较
        jz   d3                ;ACC=0则相等,表示按钮未放
        MOV   a,r1              ;按钮已放开,取码指针载入累加器
        MOV   dptr,#table       ;数据指针指到TABLE
        MOV c a,@a+dptr         ;至TABLE取码
        xch  a,30h             ;旧(30H)值存入(31H)
        xch  a,31h             ;旧(31H)值存入(32H)
        xch  a,32h             ;旧(32H)值存入(33H)
        xch  a,33h             ;旧(33H)值存入(34H)
        xch  a,34h             ;旧(34H)值存入(35H)
        call disp              ;调用显示子程序
        jmp  l1
disp:   MOV   a,35h
add     a,#50h                 ;D6数据值加上74138扫描值
        MOV   p0,a              ;显示D6
        call delay             ;扫描延时
        MOV   a,34h     
        add  a,#40h            ;显示数据值加上74138扫描值
        MOV   p0,a              ;显示D5
        call delay             ;扫描延时
        MOV   a,33h         
        add  a,#30h            ;D4数据值加上74138扫描值
        MOV   p0,a              ;显示D4
        call delay             ;扫描延时
        MOV   a,32h             
        add  a,#20h            ;D3数据值上加上74138
        MOV   p0,a              ;显示D3
        call delay             ;扫描延时
        MOV   a,30h       
        add  a,#00h            ;D1数据值加上74138扫描值
        MOV   p0,a              ;显示D1
        call delay             ;扫描延时
delay:  MOV   r7,#06            ;显示器扫描时间
d1:     MOV   r6,#248           ;
        djnz r6,$              ;
        djnz r7,d1             ;
        ret
        org  300h
table:  db     0ch,08h,04h,00h   ;
        db     0dh,09h,05h,01h   ;
        db     0eh,0ah,06h,02h   ;
        db     0fh,0bh,07h,03h   ;
        end


关键字:4键六位数  显示程序 引用地址:4键六位数显示程序

上一篇:ADC0832转换C程序
下一篇:78e51_HT1621_LCD显示程序

推荐阅读最新更新时间:2024-03-16 15:52

数码管滚动显示数字程序
/************************************************ 跳线设置:默认 显示效果:012345 这几个数字在51hei单片机板子的后6个数码管中滚动显示 ************************************************/ #include reg52.h //头文件 #include intrins.h #define uchar unsigned char uchar code table ={0x3f,0x06,0x5b,//数码管显示的数值 0x4f,0x66,0x6d,0x00,0x00,0x00,0x00, 0x00,0x00,0x3f,0x0
[单片机]
单片机MQ-2烟雾检测+ADC0809 AD转换+lcd1602显示程序
单片机源程序如下: /*============================================================ // //程序编写:刘先生 接线:D0--D7接P0.0-P0.7 ST---P2.3 EOC--P2.2 OE---P2.1 CLK--P2.0 本程序源码只供学习参考,不得应用于商业用途,如有需要请联系作者。 =============================================================*/ #include reg52.H //器件配置文件 #include intr
[单片机]
单片机MQ-2烟雾检测+ADC0809 AD转换+lcd1602<font color='red'>显示</font><font color='red'>程序</font>
AD1549的LCD12864液晶显示程序
AD1549的 LCD 12864液晶显示程序 #include reg52.h #include intrins.h sbit AD_CS = P3^7; sbit AD_DAT = P3^5; sbit AD_CLK = P3^4; sbit RS=P3^6; //RS= H ,表示DB7--DB0为显示数据, //RS= L ,表示DB7--DB0为显示指令数据 sbit WRD = P2^5; //R/W= H ,E= H ,数据被读到DB7--DB0 //R/W= L ,E= H→L , DB7--DB0的数据被写到IR或DR sbit E = P2^6; //使能
[单片机]
msp430单片机控制lcd1602显示C程序
//MSP430写的1602液晶显示程序2011/8/26//硬件连接 //P4 数据口 P3.7---E P3.6---RW P3.5----RS #include msp430x14x.h #define uint unsigned int #define rw(x) P3OUT=(P3OUT&(~BIT6))|(x?BIT6:0); unsigned char table0 = hankouxueyuan ; unsigned char table1 = dianzisheji ; //**************延时**
[单片机]
Akamai 研究显示,亚太地区及日本成为金融服务业的 Web 应用程序和 API 网络攻击的主要目标
Akamai 研究显示,亚太地区及日本已超越北美,成为金融服务业的 Web 应用程序和 API 网络攻击的主要目标 《互联网现状》报告显示,亚太地区及日本的 Web 应用程序和 API 网络攻击年同比增长 449%,从 2021 年的 5 千万增长到 2022 年的 2.4 亿起 2022 年 12月 19日 – 负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai Technologies, Inc.,以下简称:Akamai),于近日发布全新《互联网现状》报告 。报告显示随着攻击者加强攻击并改用更复杂的技术,亚太地区及日本 (以下简称APJ) 金融服务业面临重大风险。特别是 Web 应用程序和 API 攻击,
[物联网]
oled显示温度报警的51单片机程序
温度报警限制上下值 由oled显示 制作出来的实物图如下: 单片机源程序如下: #include #include oled.h #define uchar unsigned char #define uint unsigned int unsigned char set=0; unsigned char code table = 0123456789 ; uchar shi,bai,ge,xiaoshu; sbit DSPORT=P3^7; sbit k1=P2^7; sbit k2=P2^6; sbit k3=P3^2; bit N_flag; int shangxian=22; int xiaxian=10;
[单片机]
oled<font color='red'>显示</font>温度报警的51单片机<font color='red'>程序</font>
ARM嵌入式之lcd驱动程序显示图片
内核版本:linux-3.4.2 lcd:4.3 上代码之前我得讲解一些基本的知识点,LCD驱动我们只需要写硬件这一块的代码就可以了,下面有三个函数内核已经帮我们写好了,我们只需要调用就可以了,这几个函数实现了内核层和应用成数据的传递,有兴趣的朋友去分析一下源码,我里驱动写好了我们可以选择动态加载驱动或者直接静态编译进内核,这个的区别在前文中我讲解的非常清楚了,希望朋友一定要去看一下,Linux驱动静态编译和动态编译方法详解 这个代码相对有点复杂,朋友们一定要仔细分析。驱动程序如下: lcd.c文件如下: #include #include #include #include #include #inc
[单片机]
矩阵键盘按键键值显示程序C语言程序设计
//矩阵式键盘按键值的数码管显示实验 #include reg52.h //包含51单片机寄存器定义的头文件 sbit P14=P1^4; //将P14位定义为P1.4引脚 sbit P15=P1^5; //将P15位定义为P1.5引脚 sbit P16=P1^6; //将P16位定义为P1.6引脚 sbit P17=P1^7; //将P17位定义为P1.7引脚 unsigned char code Tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数字0~9的段码 unsigned char keyval; //定义变量储存按键值 /***
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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