找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1888|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

1602液晶6位計數(shù)器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:145292 發(fā)表于 2016-10-31 11:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是計算機小程序
液晶計數(shù)器.rar (9.76 KB, 下載次數(shù): 13)
  1. ;********************************************************************************
  2. ;             1602液晶6位計數(shù)器:本程序調(diào)試通過                                  *
  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                 ;個位數(shù)存放處
  10.         b_bit equ 31h                 ;十位數(shù)存放處
  11.         c_bit equ 32h                 ;百位數(shù)存放處
  12.         d_bit equ 33h                 ;千位數(shù)存放處
  13.         e_bit equ 34h                 ;萬位數(shù)存放處
  14.         f_bit equ 35h                 ;十萬位數(shù)存放處
  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        ;顯示開關(guān)控制
  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那么繼續(xù)否則重新
  41.         mov        a_bit,#30h      ;顯示數(shù)送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位數(shù)
  71.         ACALL WRILTE2            ;顯示
  72.         MOV P0,#0C7H                ;數(shù)據(jù)存貯器地址
  73.         ACALL ENABLE
  74.         MOV A,C_BIT
  75.         ACALL WRILTE2
  76.         MOV P0,#0C6H                ;數(shù)據(jù)存貯器地址
  77.         ACALL ENABLE
  78.         MOV A,D_BIT
  79.         ACALL WRILTE2
  80.         MOV P0,#0C5H                ;數(shù)據(jù)存貯器地址
  81.         ACALL ENABLE
  82.         MOV A,E_BIT
  83.         ACALL WRILTE2
  84.         MOV P0,#0C4H                ;數(shù)據(jù)存貯器地址
  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                ;判斷忙標(biāo)志
  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

復(fù)制代碼


評分

參與人數(shù) 2黑幣 +51 收起 理由
51單片機小白 + 1 絕世好帖!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表