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

QQ登錄

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

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

單片機(jī)16*16點(diǎn)陣Proteus仿真 匯編語(yǔ)言程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
具體內(nèi)容看附件吧,我把寫的程序打包放在一起了。
感興趣的朋友可以做進(jìn)一步擴(kuò)展。


單片機(jī)源程序如下:
  1.                 ORG                0000H
  2.                 AJMP        MAIN
  3.                 ORG                0100H
  4. MAIN:       
  5.                 SETB        P3.6                ;RW,1讀,0寫
  6.                 SETB        P3.5                  ;RS,1數(shù)據(jù)寄存器,0命令/狀態(tài)寄存器
  7.                 MOV                2AH,#16                ;位首地址
  8.                 LCALL        TIM1
  9.                 JMP                MAIN
  10.                        
  11. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////               
  12. TIM1:        MOV                R5,#-1                ;位右移次數(shù)
  13.                 MOV                R7,#10               
  14. LOOP0:        INC                R5
  15.                 MOV                2EH,R5       
  16. LOOP1:        MOV                R3,#0
  17.                 MOV                R4,#16                ;位掃描初始化                                                       
  18. LOOP2:        LCALL        WEI                       
  19.                 LCALL        EXC1H
  20.                 LCALL        HC595
  21.                 LCALL        EXC1L
  22.                 LCALL        HC595
  23.                 CLR                P3.5
  24.                 NOP
  25.                 NOP
  26.                 SETB        P3.5
  27.                
  28.                 INC                R3
  29.                 DJNZ        R4,LOOP2         ;掃描16位
  30.                
  31.                 MOV                R5,2EH       
  32.                 DJNZ        R7,LOOP1        ;延時(shí)顯示
  33.                
  34.                 MOV                R7,#10
  35.                 CJNE        R5,#8,LOOP0        ;右移8位
  36. //////////////////////////////////////////////////////////////
  37. TIM2:        MOV                R5,#-1
  38.                 MOV                R7,#10
  39. LOOP3:        INC                R5
  40.                 MOV                2DH,R5
  41. LOOP4:        MOV                R3,#0
  42.                 MOV                R4,#16                                       
  43. LOOP5:        LCALL        WEI       
  44.                 LCALL        EXC2H
  45.                 LCALL        HC595
  46.                 LCALL        EXC2L
  47.                 LCALL        HC595
  48.                 CLR                P3.5
  49.                 NOP
  50.                 NOP
  51.                 SETB        P3.5
  52.        
  53.                 INC                R3
  54.                 DJNZ        R4,LOOP5                 ;掃描16位
  55.                
  56.                 MOV                R5,2DH       
  57.                 DJNZ        R7,LOOP4                   ;延時(shí)顯示
  58.                
  59.                 MOV                R7,#10
  60.                 CJNE        R5,#8,LOOP3                ;再右移八位,共16位       
  61.        
  62.                 MOV                A,2AH
  63.                 ADD                A,#16
  64.                 MOV                2AH,A       
  65.                 CJNE        A,#80,TIM1
  66.                 RET
  67. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  68. WEI:        MOV                DPTR,#WEI2       
  69.                 CLR                A
  70.                 ADD                A,R3                       
  71.                 MOVC        A,@A+DPTR
  72.                 CPL                A
  73.                 LCALL        HC595               
  74.                 MOV                DPTR,#WEI1       
  75.                 CLR                A
  76.                 ADD                A,R3               
  77.                 MOVC        A,@A+DPTR
  78.                 CPL                A
  79.                 LCALL        HC595
  80.                 RET       

  81. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////       
  82.                 ;得到偏移后段碼高八位
  83. EXC1H:        MOV                22H,R5                ;保存右移次數(shù)       
  84.                
  85.                 MOV                DPTR,#TAB2       
  86.                 MOV                A,2AH
  87.                 CLR                C
  88.                 SUBB        A,#16
  89.                 ADD                A,R3
  90.                 MOVC        A,@A+DPTR
  91.                 MOV                20H,A               
  92.                
  93.                 MOV                DPTR,#TAB1
  94.                 MOV                A,2AH
  95.                 ADD                A,R3
  96.                 MOVC        A,@A+DPTR
  97.                 MOV                21H,A

  98.                 MOV                A,22H
  99.                 JZ                Z1
  100.                 LCALL   ROTATE1
  101.                 JMP                Z2
  102. Z1:                MOV                A,20H
  103. Z2:                RET

  104. EXC2H:        MOV                22H,R5                ;保存右移次數(shù)       
  105.                
  106.                 MOV                DPTR,#TAB1
  107.                 MOV                A,2AH
  108.                 ADD                A,R3
  109.                 MOVC        A,@A+DPTR
  110.                 MOV                20H,A
  111.                
  112.                 MOV                DPTR,#TAB2       
  113.                 MOV                A,2AH
  114.                 ADD                A,R3
  115.                 MOVC        A,@A+DPTR
  116.                 MOV                21H,A       
  117.                
  118.                 MOV                A,22H
  119.                 JZ                Z3
  120.                 LCALL   ROTATE1
  121.                 JMP                Z4
  122. Z3:                MOV                A,20H
  123. Z4:                RET

  124. ROTATE1:CLR                C
  125.                 MOV                A,21H
  126.                 RRC                A
  127.                 MOV                21H,A                 ;保存每次右循環(huán)后的數(shù)據(jù)
  128.                 MOV                A,20H
  129.                 RRC                A
  130.                 MOV                20H,A       
  131.                 DJNZ        R5,ROTATE1
  132.                 MOV                R5,22H                ;還原右移次數(shù)
  133.                 RET
  134. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  135.                 ;得到偏移后段碼低八位
  136. EXC1L:        MOV                22H,R5                ;保存右移次數(shù)       
  137.                
  138.                 MOV                DPTR,#TAB1       
  139.                 MOV                A,2AH
  140.                 CLR                C
  141.                 SUBB        A,#16
  142.                 ADD                A,R3
  143.                 MOVC        A,@A+DPTR
  144.                 MOV                23H,A
  145.                
  146.                 MOV                DPTR,#TAB2       
  147.                 MOV                A,2AH
  148.                 CLR                C
  149.                 SUBB        A,#16
  150.                 ADD                A,R3
  151.                 MOVC        A,@A+DPTR
  152.                 MOV                24H,A               
  153.                
  154.                 MOV                A,22H
  155.                 JZ                Z5
  156.                 LCALL   ROTATE2
  157.                 JMP                Z6
  158. Z5:                MOV                A,23H
  159. Z6:                RET
  160. EXC2L:        MOV                22H,R5                ;保存右移次數(shù)       
  161.                
  162.                 MOV                DPTR,#TAB2       
  163.                 MOV                A,2AH
  164.                 ADD                A,R3
  165.                 CLR                C
  166.                 SUBB        A,#16
  167.                 MOVC        A,@A+DPTR
  168.                 MOV                23H,A
  169.                
  170.                 MOV                DPTR,#TAB1       
  171.                 MOV                A,2AH
  172.                 ADD                A,R3
  173.                 MOVC        A,@A+DPTR
  174.                 MOV                24H,A               
  175.                
  176.                 MOV                A,22H
  177.                 JZ                Z7
  178.                 LCALL   ROTATE2
  179.                 JMP                Z8
  180. Z7:                MOV                A,23H
  181. Z8:                RET
  182. ROTATE2:CLR                C
  183.                 MOV                A,24H
  184.                 RRC                A
  185.                 MOV                24H,A
  186.                 MOV                A,23H
  187.                 RRC                A
  188.                 MOV                23H,A       
  189.                 DJNZ        R5,ROTATE2
  190.                 MOV                R5,22H       
  191.                 RET
  192. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  193.                 ;HC595數(shù)據(jù)傳輸
  194. HC595:        MOV                R2,#8
  195. SHFT:        MOV                C,Acc.7
  196.                 MOV                P3.4,C
  197.                 RL                A
  198.                 CLR                P3.6
  199.                 NOP
  200.                 NOP
  201.                 SETB        P3.6
  202.                 DJNZ        R2,SHFT
  203. DELAY:        MOV                2FH,#0AFH
  204. DELAY1:        DJNZ        2FH,DELAY1       
  205.                 RET

  206. WEI1:        DB        01H,02H,04H,08H,10H,20H,40H,80H,00H,00H,00H,00H,00H,00H,00H,00H
  207. WEI2:        DB        00H,00H,00H,00H,00H,00H,00H,00H,01H,02H,04H,08H,10H,20H,40H,80H
  208. TAB1:        ;低八位       
  209.                 DB        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  210.                 DB         0x00,0x80,0x60,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00
  211.                 DB        0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00
  212.                 DB        0x00,0xFC,0x04,0x04,0xFC,0x00,0xC2,0xBA,0x82,0x82,0x82,0xFE,0x82,0x82,0x80,0x00
  213.                 DB        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  214. TAB2:        ;高八位
  215.                 DB        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  216.                 DB        0x01,0x00,0x00,0xFF,0x00,0x10,0x0C,0x03,0x40,0x80,0x7F,0x00,0x01,0x06,0x18,0x00        ;你
  217.                 DB        0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00        ;好
  218.                 DB        0x00,0x0F,0x04,0x04,0x0F,0x20,0x10,0x08,0x04,0x42,0x81,0x7F,0x00,0x00,0x00,0x00        ;呀
  219.                 DB        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  220.                 END
復(fù)制代碼

所有資料51hei提供下載:
16×16點(diǎn)陣仿真.zip (270.97 KB, 下載次數(shù): 44)


評(píng)分

參與人數(shù) 2黑幣 +55 收起 理由
1592695071 + 5
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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