找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1936|回复: 0
打印 上一主题 下一主题
收起左侧

1602液晶6位计数器

[复制链接]
跳转到指定楼层
楼主
ID:145292 发表于 2016-10-31 11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是计算机小程序
液晶计数器.rar (9.76 KB, 下载次数: 13)
  1. ;********************************************************************************
  2. ;             1602液晶6位计数器:本程序调试通过                                  *
  3. ;      硬件: 插上1602液晶                                                                                        *

  4. ;********************************************************************************

  5.         RS EQU P2.6           //液晶屏读操作定义
  6.         RW EQU P2.5           //液晶屏写操作定义
  7.         E EQU P2.7
  8.         org 00h
  9.         a_bit equ 30h                 ;个位数存放处
  10.         b_bit equ 31h                 ;十位数存放处
  11.         c_bit equ 32h                 ;百位数存放处
  12.         d_bit equ 33h                 ;千位数存放处
  13.         e_bit equ 34h                 ;万位数存放处
  14.         f_bit equ 35h                 ;十万位数存放处
  15.         mov        a,#30h          ;30H的ASCIC码为0
  16.         mov        a_bit,a
  17.         mov        b_bit,a
  18.         mov        c_bit,a
  19.         mov        d_bit,a
  20.         mov        e_bit,a
  21.         mov        f_bit,a
  22.         org        0030h
  23.         MOV P0,#00000001B        ;清屏
  24.         ACALL ENABLE
  25.         MOV P0,#00111000B        ;显示功能
  26.         ACALL ENABLE
  27.         MOV P0,#00001100B        ;显示开关控制
  28.         ACALL ENABLE
  29.         MOV P0,#06H                ;输入模式
  30.         ACALL ENABLE
  31.         MOV p0,#80H                ;第一行的开始位置
  32.         cALL ENABLE
  33.         MOV P0,#00000001B        ;清屏
  34.         ACALL ENABLE
  35.         MOV DPTR,#TABLE1        ;显示PASS WORD
  36.         CALL WRITE1                ;到TABLE1取码?
  37. stlop:  acall display            ;显示
  38.         inc a_bit                     ;加1
  39.         mov        a,a_bit
  40.         cjne        a,#3AH,stlop        ;如果A的值到3AH那么继续否则重新
  41.         mov        a_bit,#30h      ;显示数送30H(就是显示0)
  42.         inc b_bit
  43.         mov        a,b_bit
  44.         cjne        a,#3AH,stlop
  45.         mov        b_bit,#30h
  46.         inc c_bit
  47.         mov        a,c_bit
  48.         cjne        a,#3AH,stlop
  49.         mov        c_bit,#30h
  50.         inc d_bit
  51.         mov        a,d_bit
  52.         cjne        a,#3AH,stlop
  53.         mov        d_bit,#30h
  54.         inc e_bit
  55.         mov        a,e_bit
  56.         cjne        a,#3AH,stlop
  57.         mov        e_bit,#30h
  58.         inc f_bit
  59.         mov        a,f_bit
  60.         cjne        a,#3AH,stlop
  61.         mov        f_bit,#30h
  62.         ajmp        stlop
  63. display:                        ;显示子程序
  64.         MOV P0,#0C9H
  65.         ACALL ENABLE
  66.         MOV A,A_BIT
  67.         ACALL WRILTE2
  68.         MOV P0,#0C8H                ;显示的位置
  69.         ACALL ENABLE
  70.              MOV A,B_BIT              ;显示10位数
  71.         ACALL WRILTE2            ;显示
  72.         MOV P0,#0C7H                ;数据存贮器地址
  73.         ACALL ENABLE
  74.         MOV A,C_BIT
  75.         ACALL WRILTE2
  76.         MOV P0,#0C6H                ;数据存贮器地址
  77.         ACALL ENABLE
  78.         MOV A,D_BIT
  79.         ACALL WRILTE2
  80.         MOV P0,#0C5H                ;数据存贮器地址
  81.         ACALL ENABLE
  82.         MOV A,E_BIT
  83.         ACALL WRILTE2
  84.         MOV P0,#0C4H                ;数据存贮器地址
  85.         ACALL ENABLE
  86.           MOV A,F_BIT
  87.         ACALL WRILTE2
  88.                                 ;1MS延时(按12MHZ算)
  89. ;====================================================
  90. D1MS:        MOV R7,#2
  91.               DJNZ R7,$
  92.               RET
  93. WRILTE2:MOV p0,A  ;显示
  94.         SETB RS
  95.         CLR RW
  96.         CLR E
  97.         CALL DELAY
  98.         CALL DELAY3
  99.         SETB E
  100.         RET
  101. WRITE1: MOV R1,#00H                   ;显示table中的值
  102.         A1: MOV A,R1                ;到table取码
  103.         MOVC A,@A+DPTR
  104.         call  WRILTE2           ;显示到lcd
  105.         INC R1
  106.         CJNE A,#00H,A1          ;是否到00h
  107.         RET
  108. ENABLE: CLR RS                         ;送命令
  109.         CLR RW
  110.         CLR E
  111.         ACALL DELAY
  112.         SETB E
  113.         RET
  114. DELAY: MOV P0,#0FFH
  115.         CLR RS
  116.         SETB RW
  117.         CLR E
  118.         NOP
  119.         SETB E
  120.         JB P0.7,DELAY                ;判断忙标志
  121.         RET
  122. DELAY3:                         ; 延时程序
  123.         MOV  R7,#255
  124.         D1:MOV R6,#25
  125.         D2: DJNZ R6,D2
  126.         DJNZ R7,D1
  127. RET
  128. table1: db"   Counter      ",00H
  129. end

复制代码


评分

参与人数 2黑币 +51 收起 理由
51单片机小白 + 1 绝世好帖!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表