久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2449|回復: 3
打印 上一主題 下一主題
收起左側

單片機匯編語言的直流電機三極管放大調速數碼管不亮

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:

  1. ;AD轉換的數據在20H-25H,讀出的數據在24H
  2. ACK BIT 20H.0     ;應答標志位ACK=0表示無應答
  3. SCL BIT P2.0      ;時鐘線
  4. SDA BIT P2.1          ;數據線
  5. WADD EQU 21H      ;器件地址(從地址)
  6. SUBD EQU 22H      ;器件內部地址(子地址)
  7. NUMBR EQU 23H     ;需讀取的字節數
  8. RDATA EQU 25H     ;讀出數據的存放首地址
  9.        
  10.        
  11. QJCSH:        MOV 20H,#00H
  12.                 MOV 21H,#00H
  13.                 MOV 22H,#00H
  14.                 MOV 23H,#00H
  15.                 MOV 24H,#00H
  16.                 MOV 25H,#00H
  17.                 MOV 30H,#00H
  18.                 MOV 31H,#00H
  19.                 MOV 32H,#00H
  20.                 MOV 33H,#00H
  21.                 MOV TMOD,#51H
  22.                 MOV TL0,#00H
  23.                 MOV TH0,#4CH
  24.                 MOV TL1,#00H
  25.                 MOV TH1,#00H
  26.                 SETB EA
  27.                 SETB ET0
  28.                 SETB ET1
  29.                 RET
  30.                 LJMP START
  31.                 ORG 000BH
  32.                 LJMP IT0P
  33.                 ORG 001BH
  34.                 LJMP IT1P
  35.                 ORG 0100H
  36. START:        MOV SP,#60H
  37.                 MOV SCON,#00H
  38.                 LCALL QJCSH;???
  39.                   
  40. ;ad轉換子程序
  41. DQAD:        MOV WADD,#90H     ;寫入PCF8591的地址
  42.                 MOV SUBD,#40H      ;寫入PCF8591的控制字
  43.                 MOV NUMBR,#1       ;寫入需讀取的字節數
  44.                 MOV RDATA,#24H     ;送入首地址
  45.                 LCALL READI2C     ;讀PCF8591子程序
  46.                 MOV A,24H
  47. ;從I2C總線讀取N個字節數據子程序
  48. READI2C:LCALL STARTI2C     ;啟動I2C總線
  49.                 MOV A,WADD         ;送入器件地址
  50.                 LCALL WI2C         ;向I2C總線發送一個字節數據子程序
  51.                 LCALL RACK         ;讀取從機應答子程序
  52.                 JNB ACK,ROUT       ;判斷從機有無應答ACK=0則無應答
  53.                 MOV A,SUBD         ;?送入器件內部地址
  54.                 LCALL WI2C
  55.                 LCALL RACK
  56.                 LCALL STARTI2C
  57.                 MOV A,WADD  
  58.                 INC A         
  59.                 LCALL WI2C
  60.                 LCALL RACK  
  61.                 JNB ACK,READI2C  
  62.                 MOV R0,RDATA      
  63. RI2C2:        LCALL RI2C
  64.                 MOV @R0,A  
  65.                 DJNZ NUMBR,RI2C1   
  66.                 LCALL NMACK         
  67. ROUT:        LCALL STOPI2C   
  68.                 MOV RDATA,#24H
  69.                 RET  
  70. RI2C1:        LCALL MACK     
  71.                 INC R0  
  72.                 SJMP RI2C2

  73. ;I2C?總線啟動子程序
  74. STARTI2C:SETB SDA
  75.                 SETB SCL
  76.                 NOP
  77.                 NOP
  78.                 NOP
  79.                 NOP
  80.                 NOP  
  81.                 CLR SDA
  82.                 NOP
  83.                 NOP
  84.                 NOP
  85.                 NOP
  86.                 NOP  
  87.                 CLR SCL
  88.                 RET   

  89. ;I2C總線停止子程序
  90. STOPI2C:CLR SDA
  91.                 SETB SCL
  92.                 NOP
  93.                 NOP
  94.                 NOP
  95.                 NOP
  96.                 NOP  
  97.                 SETB SDA
  98.                 RET   

  99. ;主機應答子程序
  100. MACK:        CLR SDA
  101.                 SETB SCL
  102.                 NOP
  103.                 NOP
  104.                 NOP
  105.                 NOP
  106.                 NOP  
  107.                 CLR SCL
  108.                 RET   

  109. ;主機非應答子程序
  110. NMACK:  SETB SDA
  111.                 SETB SCL
  112.                 NOP
  113.                 NOP
  114.                 NOP
  115.                 NOP
  116.                 NOP  
  117.                 CLR SCL
  118.                 RET   

  119. ;向I2C總線發送一個字節數據子程序
  120. WI2C:        MOV R7,#8
  121. WLP:         RLC A
  122.                 MOV SDA,C
  123.                 NOP  
  124.                 SETB SCL
  125.                 NOP
  126.                 NOP
  127.                 NOP
  128.                 NOP
  129.                 NOP  
  130.                 CLR SCL  
  131.                 DJNZ R7,WLP
  132.                 RET   

  133. ;從I2C總線讀取一個字節數據子程序
  134. RI2C:        MOV R7,#8
  135.                 CLR A
  136.                 SETB SDA
  137.                 NOP
  138. RLP:        SETB SCL
  139.                 NOP
  140.                 NOP  
  141.                 MOV C,SDA
  142.                 NOP  
  143.                 CLR SCL
  144.                 RLC A
  145.                 NOP
  146.                 NOP
  147.                 NOP
  148.                 NOP  
  149.                 DJNZ R7,RLP
  150.                 NOP
  151.                 RET
  152.                
  153. ;讀取從機應答子程序
  154. RACK:        SETB SDA
  155.                 NOP
  156.                 NOP  
  157.                 SETB SCL
  158.                 CLR ACK
  159.                 NOP
  160.                 NOP  
  161.                 MOV C,SDA
  162.                 JC ACKEND
  163.                 SETB ACK
  164. ACKEND: NOP
  165.                 CLR SCL
  166.                 NOP
  167.                 RET
  168.                
  169. ;DA轉換程序
  170.                 ORG 1000H            ;000000000000000000000
  171. DAZH:        CLR P2.4
  172.                 SETB P2.5
  173.                 CLR P2.6
  174.                 MOV R0,#0FEH
  175.                 MOVX @R0,A
  176.                 RET               

  177.                
  178. ;測速程序
  179.             ORG 0000H
  180. RESET:  LJMP CESU               
  181. CESU:        MOV SP,#60H
  182.                 MOV B,#14H
  183.                 MOV R0,#00H
  184.                 MOV R1,#70H
  185.                 MOV TMOD,#51H
  186.                 MOV TL0,#00H
  187.                 MOV TH0,#4CH
  188.                 MOV TL1,#00H
  189.                 MOV TH1,#00H
  190.                 SETB ET0
  191.                 SETB ET1
  192.                 SETB EA
  193.                 SETB TR0
  194.                 SETB TR1
  195. HERE:   SJMP HERE
  196. IT0P:   MOV TL0,#00H
  197.                 MOV TH0,#4CH
  198.                 DJNZ B,RTURN
  199.                 CLR TR0
  200.                 SETB F0
  201. IT1P:        MOV        R1,TH1
  202.                 MOV        R0,TL1
  203.                 MOV B,3CH    ;60的16進制
  204.                 MOV A,R0
  205.                 MUL AB        ;1s轉速轉換成1min轉速
  206.                 MOV R1,B
  207.                 MOV R0,A
  208.                 MOV A,R0      
  209.                 ANL A,#0FH
  210.                 MOV 30H,A
  211.                 MOV A,R0      
  212.                 SWAP A
  213.                 ANL A,#0FH
  214.                 MOV 31H,A
  215.                 MOV A,R1      
  216.                 ANL A,#0FH
  217.                 MOV 32H,A
  218.                 MOV A,R1      
  219.                 SWAP A
  220.                 ANL A,#0FH
  221.                 MOV 33H,A
  222.                 CLR TR1
  223.                 SETB F0       
  224. RTURN:  RETI


  225. ;顯示程序
  226. XS:                 CLR TI
  227.                  MOV R0,#30
  228.                  MOV R1,#4
  229. SEND:         MOV A,@R0
  230.                  MOV DPTR,#TAB
  231.                  MOVC A,@A+DPTR
  232.                  CPL A
  233.                  MOV SBUF,A
  234.                  JNB TI,$
  235.                  CLR TI
  236.                  INC R0
  237.                  DJNZ R1,SEND
  238.                  RET
  239. TAB:         DB 0C0H,0F9H,0A4H,0B0H,99H
  240.              DB 92H,82H,0F8H,80H,90H       
  241. END
復制代碼

全部資料51hei下載地址:
1.rar (141.45 KB, 下載次數: 13)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:461851 發表于 2019-1-10 09:24 | 只看該作者
請大家幫幫忙,壓縮包里是圖和程序,麻煩大家了
回復

使用道具 舉報

板凳
ID:7485 發表于 2019-1-10 14:34 | 只看該作者
本帖最后由 ahshmj 于 2019-1-10 17:24 編輯

你的程序寫的問題較多。最嚴重的是,"QJCSH"怎么放到了最前面?又沒有指定程序在程序存儲器的位置,自然就從0000H開始寫入。

以下的程序就沒地方寫了:

     LJMP START
        ORG 000BH
        LJMP IT0P
        ORG 001BH
        LJMP IT1P
        ORG 0100H

另外:       LJMP START  這一句的前面應該有: ORG  0000H  (意思是第一個字節就是跳轉到 START)單片機上電或啟動以后是從這里開始執行程序。

你好像還需要繼續打牢基本功。
回復

使用道具 舉報

地板
ID:401564 發表于 2019-1-10 18:53 | 只看該作者
看樣子應該是從C過來學匯編的
匯編代碼的位置和硬件是有很大關系的
首先:
ORG 00H
JMP  START
ORG  003H   ;聲明INT0中斷向量,也就是中斷地址
JMP   XXXX   ;去中斷處理程序
ORG  00BH  ;聲明INT1中斷向量
JMP   XXXX _1  ;去中斷處理程序
ORG 100H
START:           STARTD在這里相當于一個地址,在JMP  START到ORG 100H之間不能有其它代碼
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧洲一级黄 | av黄色在线 | 国产精品视频一二三区 | 欧美日韩专区 | 久久久人成影片一区二区三区 | 中文字幕 国产精品 | 特黄毛片 | 精品久久久久久一区二区 | 国内精品久久久久 | 久久久久久国产免费视网址 | 91精品国产91久久久久久吃药 | 97免费在线视频 | 黄视频免费在线 | 一区二区三区四区在线 | 一区二区三区在线播放 | 亚洲精品视频免费 | 国产乱码精品一区二区三区五月婷 | 精品视频久久久 | 日本不卡一区 | 日韩视频观看 | 小h片免费观看久久久久 | 99久久久国产精品免费消防器 | 秋霞电影一区二区 | 国产精品久久久久久久午夜 | 黄色大片免费网站 | 国产伦精品一区二区 | 精品久久久久久久久久 | 午夜影院中文字幕 | 色综合一区二区 | 国产精品美女久久久久aⅴ国产馆 | 激情网站| 日韩无 | 黄免费在线 | 国产激情视频在线 | 欧美lesbianxxxxhd视频社区 | 国产精品视频在线播放 | 91免费看片| 天天草天天 | 欧洲妇女成人淫片aaa视频 | 国产精品视频网 | 国产精品久久久久久高潮 |