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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機直流電機pwm調速匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-27 13:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1.      ;以下是直流電機調速的程序,芯片選用2051
  2.               ;晶振用12M
  3.               ;選用2051單片機
  4.               ;2006.05.18
  5.              ; _____________
  6.              ;|RST      VDD |
  7.        ;LED1  |P3.0     P1.7|G
  8.       ;LED2;  |P3.1     P1.6|D
  9.              ;|XTAL2    P1.5|H
  10.              ;|XTAL1    P1.4|E
  11. ;             |P3.2     P1.3|C
  12.   ;過零檢測   |P3.3     P1.2|F
  13.   ;設定按鍵盤 |P3.4     P1.1|A
  14.   ;加一按鍵盤  |P3.5     P1.0|B
  15.              ;|VSS      P3.7|電機輸出
  16.               ;-------------
  17. LED1      BIT      P3.0
  18. LED2      BIT      P3.1
  19. KEY1      BIT      P3.4
  20. KEY2      BIT      P3.5
  21. OUT       BIT      P3.7
  22. KG        BIT      P3.2
  23. OFF       BIT       02H
  24. ON        BIT       03H
  25. NC        BIT       04H
  26. NO        BIT       05H
  27. POWER     DATA     7FH
  28. YAS       DATA     7EH
  29. DATA1     DATA     40H
  30. ;*********************************************
  31. ;*********************************************
  32. ;*********************************************                                                                                                                   ;晶振為12M
  33.                ORG 0000H
  34.                AJMP MAIN                                     ;轉入主程序
  35.                ORG 0003H                                     ;外部中斷DATA_IN腳INT0入口地址
  36.                NOP
  37.                NOP
  38.                NOP                                       ;轉入外部中斷服務子程序(解碼程序)
  39.                LJMP ERR    ;軟件陷阱
  40.                NOP
  41.                NOP
  42.                LJMP ERR        ;軟件陷阱   
  43.                ORG   000BH            
  44.                LJMP  ERR
  45.                NOP
  46.                NOP
  47.                LJMP ERR          ;軟件陷阱
  48.                ORG 0013H
  49.                LJMP TS
  50.                NOP
  51.                NOP
  52.                LJMP ERR               ;軟件陷阱
  53.                ORG   001BH           
  54.                LJMP  YAS_1MS
  55.                NOP
  56.                NOP
  57.                LJMP ERR           ;軟件陷阱
  58.                ORG 0023H
  59.                LJMP ERR               ;軟件陷阱
  60.                NOP
  61.                NOP
  62.                LJMP ERR                 ;軟件陷阱
  63.                ;************************************************
  64.                ;以下為主程序進行CPU中斷方式設置
  65.                ;******************************************************
  66.                ;******************************************************************
  67.                ;以下對單片機的所有引腳進行初始化,全部設置成高電平
  68.                ;**********************************************************************
  69. MAIN:          MOV PSW,#00H                ;設為0號寄存器
  70.                MOV P1,#0FFH
  71.                MOV P3,#0FFH
  72.                MOV 20H,#00H                 ;清除所有標志位
  73.                MOV 30H,#0BH
  74.                MOV 31H,#03H
  75.                MOV 32H,#00H
  76.                MOV 33H,#00H
  77.                MOV 34H,#00H
  78.                MOV 35H,#00H
  79.                MOV 36H,#00H
  80.                MOV 37H,#00H
  81.                SETB IT1                    ;設定INT1的觸發(fā)方式為脈沖負邊沿觸發(fā)
  82.                SETB EX1                    ;打開INT1中斷請求
  83.               ; MOV TH0,#0B1H
  84.                ;MOV TL0,#0E0H
  85.                MOV TH1,#0FCH
  86.                MOV TL1,#18H
  87.                ;SETB ET0
  88.                SETB ET1
  89.              ;  SETB TR0
  90.              ;  SETB PT0
  91.                SETB PT1                  ;啟動T0計數(shù)
  92.                MOV TMOD,#11H              ;設置T0為方式1工作狀態(tài)
  93.                SETB EA                    ;打開CPU總中斷請求
  94.                MOV SP,#60H                ;設置堆棧地址為60H開始
  95.                NOP
  96.      XS_1:     LCALL XS
  97.                NOP
  98.                NOP
  99.                AJMP XS_1
  100.               ;*************************************************
  101.               ;************顯示子程序***************************
  102.               ;*************************************************
  103.             
  104.             
  105.          XS:     MOV R0,#30H
  106.                  MOV R1,#32H
  107.                  MOV B,#0AH
  108.                  MOV A,@R0
  109.                  DIV AB
  110.                  MOV @R1,B
  111.                  INC R1
  112.                  MOV @R1,A
  113.                  MOV A,@R1
  114.                  MOV DPTR,#TAB
  115.                  MOVC A,@A+DPTR
  116.                  DEC R1
  117.                  MOV P1,A
  118.                  CLR LED1
  119.                  LCALL YAS_300
  120.                  SETB LED1
  121.                  MOV A,@R1
  122.                  MOV DPTR,#TAB
  123.                  MOVC A,@A+DPTR
  124.                  MOV P1,A
  125.                  CLR LED2
  126.                  LCALL YAS_300
  127.                  SETB LED2
  128.                  MOV P1,#0FFH
  129.        XS4:      RET                                   

  130.             
  131. ;*********************************************
  132. ;*************過零觸發(fā)加鍵盤掃描************
  133. ;********************************************

  134. TS:           INC 37H
  135.                MOV A,37H
  136.                SUBB A,#0EH
  137.                JC   EE2
  138.                MOV 37H,#00H
  139.                JB KEY1,EE
  140.                MOV A,30H
  141.                SUBB A,#19H
  142.                JNC EE
  143.                INC 30H
  144.                ;********************************************
  145.        EE:     JB KEY2,EE1
  146.                CLR C
  147.                MOV A,30H
  148.                SUBB A,#0CH
  149.                JC EE1
  150.                DEC 30H
  151.        EE1:    JB KG,EE2
  152.                NOP
  153.                NOP
  154.                CPL ON
  155.                JNB ON,EE3
  156.                MOV 38H,#03H
  157.                MOV 39H,#255
  158.                AJMP EE2
  159.        EE3:    MOV 38H,#00H
  160.                MOV 39H,#0
  161.                CLR ON
  162.                CLR OFF
  163.                ;********************************************
  164.        EE2:    JNB ON,EXIT2
  165.                CLR EX1
  166.                PUSH ACC
  167.                PUSH PSW
  168.                MOV PSW,#10H
  169.                ;MOV A,34H
  170.                ;JNZ EXIT
  171.                MOV A,#1EH
  172.                SUBB A,30H
  173.                MOV 40H,A
  174.                JNB OFF,TS1
  175.                MOV 40H,#05H
  176.        TS1:    LCALL XS
  177.                NOP
  178.                DJNZ 40H,TS1
  179.                CLR OUT
  180.                LCALL YS3
  181.                SETB OUT
  182.                MOV 40H,#09H
  183.                SETB TR1
  184.        TS3:    LCALL XS
  185.                NOP
  186.                NOP
  187.                MOV A,40H
  188.                JNZ TS3
  189.                CLR OUT
  190.                LCALL YS3
  191.                SETB OUT
  192.                NOP
  193.                NOP
  194.               
  195.            
  196.                ;**********************************************
  197.                
  198.         EXIT: DJNZ 39H,EXIT2
  199.               SETB OFF
  200.               DJNZ 38H,EXIT3
  201.               CLR ON
  202.               CLR OFF
  203.               AJMP EXIT2
  204.        EXIT3: MOV 39H,#256
  205.        EXIT2: POP PSW
  206.               POP ACC
  207.               CLR TR1
  208.               SETB EX1
  209.               MOV 40H,#00H
  210.               NOP
  211.               NOP
  212.               RETI
  213.               
  214.               
  215.               
  216.               ;*************************************************
  217.      YAS_1MS:  
  218.                MOV TH1,#0FCH
  219.                MOV TL1,#18H   
  220.                PUSH ACC
  221.                PUSH PSW
  222.                MOV A,40H
  223.                JZ EXIT_1
  224.                DEC 40H
  225.      EXIT_1:   POP PSW
  226.                POP ACC
  227.                NOP
  228.                NOP
  229.                RETI
  230.                
  231.                
  232.                
  233.                
  234.              ;*****************************************************
  235.              ;精確延時1000微秒************************************
  236.              ;***************************************************
  237. YS3:          MOV R4,#02H                                        ;延時程序3,精確延時1000微秒
  238. D3:           MOV R5,#0F7H
  239.               DJNZ R5,$
  240.               DJNZ R4,D3
  241.               RET
  242.              ;*****************************************************
  243.              ;*************精確延時100微秒***********************
  244.              ;***************************************************
  245.                                        
  246.                   
  247. YAS_300:      MOV R5,#31H
  248.               DJNZ R5,$
  249.               RET
  250.       
  251. ;*************************************************
  252. ;***********顯示碼******************************
  253. ;*************************************************
  254. TAB:       DB 0A0H,0F6H,2CH,34H
  255.             DB 72H,31H,21H,0F4H
  256.             DB 20H,30H,60H,23H
  257.             DB 0A9H,26H,29H,69H
  258. ;*************************************************
  259. ;********軟件復位***************
  260. ;************************************************
  261. WTD:         PUSH ACC
  262.              PUSH PSW
  263.              MOV TH1,#3CH
  264.              MOV TL1,#0B0H
  265.              POP PSW
  266.              POP ACC
  267.              RETI
  268. ERR:         CLR EA
  269.              MOV DPTR,#ERR1
  270.              PUSH DPL
  271.              PUSH DPH
  272.              RETI
  273. ERR1:        MOV POWER,#0AAH
  274.              CLR A
  275.              PUSH ACC
  276.              PUSH ACC
  277.              RETI
  278.              END
復制代碼


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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜躁2014 | 日本天天操 | 国产一区二区三区在线免费观看 | 国产成人精品999在线观看 | 国产成人精品午夜 | 国产在线激情视频 | 亚洲a一区 | 超碰精品在线观看 | 国产成人精品综合 | 国产美女在线观看 | 涩涩视频在线观看 | 中文字幕日韩欧美 | 午夜精品一区二区三区在线视频 | 日韩在线免费观看视频 | 91精品国产综合久久香蕉922 | 国产精品九九九 | 国产精品视频中文字幕 | 日韩精品在线看 | av中文网 | 国产精品久久久久久久久久久久久 | 欧美国产精品一区二区三区 | wwwww在线观看 | 日韩免费一区 | 特黄色一级毛片 | 亚洲视频免费在线看 | 综合色站导航 | 欧美日韩一区二区在线观看 | 国产成人精品午夜视频免费 | 国产成人在线视频 | 欧美激情精品久久久久久免费 | 国产激情自拍视频 | 成人免费小视频 | 欧美在线一区二区三区 | 一区二区在线 | 成人夜晚看av | 国产一区二区三区亚洲 | 欧美视频在线看 | h在线播放 | 日韩视频一区 | a在线观看免费 | 91原创视频在线观看 |