找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

16X16點(diǎn)陣制作資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:154620 發(fā)表于 2016-12-15 14:13 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
顯示200多個(gè)字的匯編程序  


完整資料下載:
1616點(diǎn)陣制作資料.rar (1.18 MB, 下載次數(shù): 305)


  
;多字移動(dòng)
  ;一個(gè)字占32個(gè)字節(jié),1K可以存放1K=1024字節(jié)/32=32個(gè)字,C51=4K=128個(gè)字,C52=8K=256個(gè)字。
  ;但程序占用160個(gè)字節(jié)(相當(dāng)于5個(gè)字的空間),最終可以顯示的字為C51=123個(gè)字,C52=251個(gè)字。
  ;超過(guò)后單片機(jī)將存儲(chǔ)不下。
  
ORG 000H
  JMP MIAN
  
ORG 030H
  MIAN:MOV P3,#00 ;關(guān)閉端口
  MOV P1,#0FFH
  MOV P0,#00
  MOV P2,#00
  
CALL DELAY ;延時(shí)1ms
  
MOV R5,#2 ;移動(dòng)列的數(shù)量(列數(shù)乘2)
  
MOV A,#151 ;顯示幾個(gè)字
  MOV B,#32 ;一個(gè)字=32個(gè)碼
  MUL AB
  MOV 22H,A ;存放1~8個(gè)字的數(shù)量
  MOV 23H,B ;存放8的倍數(shù)個(gè)字的數(shù)量
  ;如50個(gè)字:50×32=1600=0640H,則DPH處為06H=6,DPL處為40H=64
  ;簡(jiǎn)單算法:50÷8=6余2,6為DPH處數(shù),余的2×32=64為DPL數(shù)
  
MOV DPTR,#TABLE1 ;賦查表初址
  MOV R0,DPL ;保存DPTR初值,R0、R1記錄取碼進(jìn)度
  MOV R1,DPH
  MOV 20H,DPL ;20H、21H保持DPTR初值不變
  MOV 21H,DPH
  
LOOP: MOV R7,#5 ;每屏停留時(shí)間
  
L1: MOV R6,#16 ;每屏16個(gè)碼
  MOV R4,#00 ;掃描指針清零
  MOV DPL,R0 ;取碼指針存入DPL
  MOV DPH,R1
  
L16: MOV A,R4 ;掃描指針存入A
  MOV P1,A ;掃描輸出
  INC R4 ;掃描指針加1
  
CLR A ;A清零
  MOVC A,@A+DPTR ;查表送A
  MOV P0,A ;送P0口顯示
  INC DPTR ;取碼指針加1
  
CLR A ;A清零
  MOVC A,@A+DPTR ;查表送A
  MOV P2,A ;送P2口顯示
  INC DPTR ;取碼指針加1
  
CALL DELAY ;掃描延時(shí)1ms
  
MOV P0,#00 ;清除屏幕
  MOV P2,#00
  
DJNZ R6,L16 ;1屏是否完成?
  DJNZ R7,L1 ;每屏停留時(shí)間是否到了?
  
; MOV R0,DPL ;如字不需移動(dòng),用該指令
  ; MOV R1,DPH
  
MOV A,R0 ;如字需移動(dòng),用該指令
  ADD A,R5 ;如大于256,C=1
  MOV R0,A
  JNC DP
  INC R1
  
  DP: MOV A,20H ;DPL初值
  ADD A,22H ;如大于256,C=1。因DPL初值在90H以上,顯示4個(gè)字后DPH將加1,導(dǎo)致判斷失誤
  MOV A,DPH
  SUBB A,21H ;已顯示字的數(shù)量(乘8)
  CJNE A,23H,LOOP ;DPH中的字是否完成?
  
CLR C
  MOV A,DPL
  SUBB A,20H ;已顯示字的數(shù)量
  CJNE A,22H,LOOP ;DPL中的字是否完成?
  
JMP MIAN
  
DELAY:MOV R2,#2 ;延時(shí)1ms
  D1 :MOV R3,#248
  DJNZ R3,$
  DJNZ R2,D1
  RET
  

  TABLE1:
  ;至拾字時(shí)為100個(gè)字,共150個(gè)字,用于測(cè)試。
  
;(a3b1H)(1)(8001)
  DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  DB 00H, 00H, 10H, 02H, 20H, 02H, 7fH,0feH
  DB 00H, 02H, 00H, 02H, 00H, 00H, 00H, 00H
  DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  
... ...
  
END
  



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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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