利用AT89C52单片机实现数码管的静态与动态显示

这篇具有很好参考价值的文章主要介绍了利用AT89C52单片机实现数码管的静态与动态显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        资源work1和work2(完整工程文件在笔者本人主页的资源中,免费欢迎下载)分别完成下面两个任务:

        1、单片机接矩阵键盘和2个静态数码管,自行设计硬件电路,利用汇编语言,要求将按键值(0~15)在数码管显示。

        主要代码:

……

        MAIN:    
        
KEYSCAN:
        MOV  P1, #0F0H ; 读行(高4位)引脚前先送高电平
        MOV  A, P1          ;读入高4位行状态,判断是否有键按下
        CJNE  A, #0F0H, KEYC ; 行不全为1,说明有键按下,转按下键的处理
        LJMP KEYSCAN; 没有键按下,退出键盘识别
KEYC:    
        LCALL  DELAY10ms         ; 延时消除抖动
        MOV  A, P1    
        CJNE  A, #0F0H, KEYID   ; 确实有键按下,则转入键识别处理
        LJMP  KEYSCAN                 ; 是干扰引起的抖动,不予处理
DELAY10ms:
        MOV  R7, #25     // ;延时10ms子程序
L1:
        MOV  R6, #200
L2:        
        DJNZ  R6, L2
        DJNZ  R7,L1
        RET
KEYID:
        MOV  SCANCODE, A  ; 低四位代表列,为0000;高四位代表行
        //行列反转,置列全扫描输出,行为输入
        MOV  P1, #0FH          ;读列(低4位)引脚前先送高电平
        NOP
        NOP                            ; 适当短延时,待端口电平稳定
        MOV  A, P1                ; 闭合键的对应行被拉低,将行状态存入A中
        ADD  A, SCANCODE
        MOV  SCANCODE, A ; 将行列相加,得到键扫描码SCANCODE
        //下面等待键释放
KEYUP:    
        MOV  A, P1       
        CJNE  A, #0FH, KEYUP  ; 按键没有松开,则继续等待
        LCALL  DELAY10ms      ; 延时消除抖动
        MOV  A, P1     
        CJNE  A, #0FH, KEYUP  
        MOV  DPTR,  #KEYCODE ; 按键编码处理
        MOV  KEY_index, #0
KEYLOOP:
        MOV  A, KEY_index
        MOVC  A, @A+DPTR
        CJNE  A, SCANCODE, NEXTKEY
        MOV B,#10
        MOV A,KEY_index
        DIV AB
        MOV  DPTR,  #TABLE     //  ;查8段码表
        MOVC  A,  @A+DPTR
        MOV  P2, A               // ;段码,输出显示十位
        MOV A,B
        MOV  DPTR,  #TABLE     //  ;查8段码表
        MOVC  A,  @A+DPTR
        MOV  P3, A               // ;段码,输出显示个位
        LJMP KEYSCAN
NEXTKEY:
        INC KEY_index
        AJMP KEYLOOP

……

        效果如图1:

利用AT89C52单片机实现数码管的静态与动态显示,单片机,硬件工程,proteus,单片机,51单片机

图1

        2、单片机接独立按键和2个动态数码管,自行设计硬件电路,利用汇编语言,要求将按键次数(0~255)在数码管显示。

        主要代码:

……

START:    
        MOV R1,#0
        MOV P1,#0
CHK_KEY:
        MOV  P3, #0FFH   //;读引脚前先写1
        MOV  A, P3            // ;读按键值
        CPL  A                    // ;取反,按下的键相应为1
        JZ  CHK_KEY     //   ;无键按下,重新查询
        LCALL  D10ms     // ;延时去抖动
        MOV  A, P3
        CPL  A
        JZ  CHK_KEY
        JB  ACC.2, KEY    //;是键按下,转KEY处理
        LJMP  CHK_KEY
KEY:    
        JNB P3.2,KEY//若键未松开原地等待
        INC R1//松开加一
        
SHOW:
        MOV A,R1
        CLR P1.6
        SETB P1.4
        CLR P1.5//百位位选,先将个位位选清零
        MOV B,#100
        DIV AB
        MOV  DPTR,  #TAB     //  ;查8段码表
        MOVC  A,  @A+DPTR
        MOV  P2, A               // ;段码,输出显示百位
         LCALL  D1ms
        CLR P1.4
        CLR P1.6
        SETB P1.5//十位位选,先将百位位选清零
        MOV A,B
        MOV B,#10
        DIV AB
        MOV  DPTR,  #TAB     //  ;查8段码表
        MOVC  A,  @A+DPTR
        MOV  P2, A               // ;段码,输出显示十位
         LCALL  D1ms
        CLR P1.5
        CLR P1.4//个位位选,先将十位位选清零
        SETB P1.6
        MOV A,B
        MOV  DPTR,  #TAB      // ;查8段码表
        MOVC  A,  @A+DPTR
        MOV  P2, A              //  ;段码,输出显示个位
         LCALL  D1ms
        JB P3.2,SHOW
        LJMP CHK_KEY
D10ms:  
        MOV  R7, #25     // ;延时10ms子程序
L1:
        MOV  R6, #200
L2:        
        DJNZ  R6, L2
        DJNZ  R7,L1
        RET
        D1ms:
        MOV  R7, #25     // ;延时1ms子程序
LL1:
        MOV  R6, #20
LL2:        
        DJNZ  R6, L2
        DJNZ  R7,L1
        RET

……

        效果如图2:

利用AT89C52单片机实现数码管的静态与动态显示,单片机,硬件工程,proteus,单片机,51单片机

图2文章来源地址https://www.toymoban.com/news/detail-785017.html

到了这里,关于利用AT89C52单片机实现数码管的静态与动态显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于AT89C52单片机的温湿度检测设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87704704 源码获取 主要内容: 设计一套基于51单片机的温湿度Protus仿真监控系统,采用SHT11、DHT11或DS189B20等传感器模块,用LCD液晶实时显示当前环境温湿度值。 基本要求: 1、设计报警单元,实现

    2024年02月08日
    浏览(53)
  • 【AT89C52单片机项目】音乐播放器的设计

    实验目的 用51系列单片机设计一个可以切歌的音乐播放器。 实验仪器 AT89C52单片机。 音乐播放模块。 设计要求 采用重装定时器计数方式1的初值来实现发出不同频率的声音,通过控制延时长度来实现不同的节拍,之后将音乐数据表填入,即可实现音乐播放。 可通过功能按键

    2024年02月16日
    浏览(87)
  • 基于AT89C52单片机的计算器设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/88637995?spm=1001.2014.3001.5503 源码获取 B 源码+仿真图+课程设计+51 摘 要 计算器一般是指“电子计算器”,能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操

    2024年01月16日
    浏览(67)
  • 基于AT89C52单片机的简易电子琴设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87853299?spm=1001.2014.3001.5503 源码获取 主要内容: 本设计是基于51系列的单片机进行的设计,利用所给键盘的八个键,能够发出8个不同的音调,并且要求按下按键发声,松开延时一段时间停止,中间

    2024年02月04日
    浏览(50)
  • 基于AT89C52单片机的多功能万年历设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87853675 源码获取 目 录 摘 要 1 1 方案论证 2 1.1 单片机芯片的选择方案和论证 2 1.2 显示模块选择方案和论证 2 1.3 时钟芯片的选择方案和论证 3 1.4 电路设计最终方案决定 3 2 系统的硬件设计与实现

    2024年02月07日
    浏览(47)
  • STC89C52单片机利用DHT11温湿度模块以及HC-08蓝牙模块实现测量温湿度

    下面将介绍如何利用STC89C52单片机和DHT11温湿度模块以及HC-08蓝牙模块实现测量温湿度。以及各模块的使用方法。 利用DHT11温湿度模块测量温湿度,利用HC-08蓝牙模块将数据传到手机上。 1.1DHT11温湿度模块外观 1.2DHT11温湿度模块使用方法简介 1.2.1DHT11温湿度模块工作的过程 用户

    2024年02月02日
    浏览(67)
  • 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风扇(Proteus仿真设计-含设计原理图、程序源码)

    1、本设计是基于AT89C51/52单片机为核心的温控风扇系统,使用Proteus进行仿真分析。 2、由于上传后图片压缩,可以私信联系获取清晰图片。 3、本次为本人结课设计,整体比较简单,如有疑问欢迎大家交流讨论!   目录 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风

    2024年02月07日
    浏览(60)
  • 什么是STC89C52单片机

    STC89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写10000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构[1],芯片内集成了通用8位中央处理器和ISP Flash存储单元,功

    2024年02月13日
    浏览(46)
  • 89C52RC普中单片机

    资料下载 普中科技--各型号产品资料下载链接 - STM8单片机 - 普中开源电子分享网 - Powered by Discuz! (prechin.net) 2023-06-28  1.开发板    2.软件 keil,stc-isp。 1.点亮led 89C52RC芯片LED模块是P2口。       2.led1一秒闪烁  3.LED流水灯  4.独立按键控制led亮灭(按下key1亮,松手灭) 5.独立按键

    2024年02月11日
    浏览(56)
  • 基于STC89C52单片机的温度控制系统设计方案与软硬件实现

    目录 摘要 I Abstract II 第一章 前言 1 1.1 温度控制系统设计发展历史及意义 1.2 温度控制系统的目的 1.3 温度控制系统完成的功能 第二章 总体设计方案 2.1 方案一 2.2 方案二 3.1 DS18B20简介 3.1.1DS18B20封装与引脚 3.1.2 DS18B20的简单性能 3.2 DS18B20的工作原理 3.3 DS18B20的测温原理 3.3.1 测

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包