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

標題: 51單片機直流電機pwm調速匯編程序 [打印本頁]

作者: daniu    時間: 2014-12-27 13:27
標題: 51單片機直流電機pwm調速匯編程序
  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的觸發方式為脈沖負邊沿觸發
  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計數
  92.                MOV TMOD,#11H              ;設置T0為方式1工作狀態
  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. ;*************過零觸發加鍵盤掃描************
  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
復制代碼







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91视频专区 | 福利视频午夜 | 韩日一级片 | www.黄色网| 黄色一区二区三区 | 免费一级黄色片 | 国产综合一区二区 | 久久久久女人精品毛片九一 | 成人精品一区二区三区 | 精品久久久久久久久久久 | 蜜桃成人在线 | 青青草久久 | 综合网av | 中文字幕有码在线 | 青青草av | 成人毛片在线播放 | 日韩特级毛片 | 久久精品国产视频 | 深夜免费福利 | 国产精品不卡视频 | 中文字幕免费观看 | 国产精品欧美一区二区 | 国产黄色在线 | 黄色一级大片 | 韩国精品一区二区 | 久久精品视频一区二区 | 日本视频一区二区三区 | 亚洲一级免费视频 | 久久精品国产亚洲 | 一区二区国产精品 | 老司机免费福利视频 | 免费成人毛片 | 国产精品大全 | 欧美性视频在线 | 国产成人精品一区 | 国产又粗又猛又黄又爽无遮挡 | 欧美一级黄色录像 | 九色在线观看 | 国产精品国产精品国产专区不片 | 国产精品免费一区二区三区 | 一级特黄妇女高潮 |