历史上的今天

今天是:2024年09月07日(星期六)

2020年09月07日 | PIC单片机控制的的旋转门

发布者:nu23 来源: eefocus关键字:PIC  单片机控制  旋转门 手机看文章 扫描二维码
随时随地手机看文章

;调试注意门方向,电机正转门顺时钟旋转(俯视图看门),电机反转门逆时钟旋转(俯视图看门)

list p=16F876A
    #include        p16f876a.inc

        __CONFIG _CPD_OFF & _CP_ALL & _DEBUG_OFF & _BODEN_OFF & _LVP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC

          PCL          EQU     02H
      STATUS       EQU     3H
      Z            EQU     2H
      INTCOM       EQU     0BH
      PORTC        EQU     7H
      TRISC        EQU     87H
      COU          EQU  0X21     ; 脉冲1检测输入计数器
      COUNTER      EQU  0X22
      COUNT1       EQU  0X23     ;电磁铁抬起计数器
      MC           EQU  0X24     ;开始脉冲计数器
      COUNTER2     EQU  0X25      ;延时计数器2
      COUNT0       EQU  0X26      ;延时计数器2
      COUNT        EQU  0X27      ;EE_DELAY
      ADDR         EQU  0X28      ;EE
      DAT          EQU  0X29     ;EE
      DATA1        EQU  0X2A      ;EE
      TEMP         EQU  0X2B      ;EE
      LOCK_COUNT   EQU  0X2C
      COUNTER3     EQU  0X2D
      COUNTER4     EQU  0X2E
      COUNT3       EQU  0X2F
      COUNTER0     EQU  0X30        ;延时计数器0  DEL_LO        EQU        0X20
      COUNTER1     EQU  0X31        ;延时计数器1
      COUN4        EQU  0X32        ;延时计数器2
      COUNT2       EQU  0X33
      MCJS         EQU   0X34       ;正反转计数器

          ;       EQU   0X78  

;*********************************
;input
     ;PORTA,0     正转_KEY
     ;PORTA,1     反转_KEY
     ;PORTA,2     脉冲1检测输入
     ;PORTA,3     脉冲2检测输入
     ;PORTA,4     NO 输出接上拉电阻方可                  
     ;PORTA,5     脉冲3检测输入

;*********************************

;input/OUTPUT     
     ;PORTB,0     中断处理  
     ;PORTB,1     防夹传感器     或者紧急停止   
     ;PORTB,2     164 SPI
     ;PORTB,3     164 SPI
     ;PORTB,4     24C01 SCLK
     ;PORTB,5     24C01 SDA
     ;PORTB,6     原点检测 光电
     ;PORTB,7     RUN LED FAS OUTPUT
;*****************************************
;OUTPUT
    ;#define    PORTC,0    正转磁铁
   ;#define     PORTC,1    反转磁铁  
   ;#define     PORTC,2    电机正转   AB   10     NE555逻辑
   ;#define     PORTC,3    电机反转   AB   01     NE555逻辑
   ;#define     PORTC,4    BBP OUT                  
   ;#define     PORTC,5    低速度     AB   00     555逻辑
   ;#define     PORTC,6    速度高     AB   11     555逻辑
   ;#define     PORTC,7    刹车
;;********************************************
;LED_OUT
;*****************************************
#define SDA  PORTB,5
#define SCLK PORTB,4   
;*****************************************
;4052 逻辑

;*****************************************

             ORG    000H
             NOP
             GOTO  INTI
             ORG    0004H            ;中断矢量入口
;初始化程序
INTI        BSF       STATUS,RP0     ;选项1块
            MOVLW     87H            ;10000111
            MOVWF     ADCON1         ;设置RA口全部为数字IO口RA,4不变

            MOVLW     B'11111111'     ;;ALL input. B6 B7 OUT
            MOVWF     TRISB           ;PORTB,7为输出

            MOVLW     B'11111111'     ;PORTA ALL input
            MOVWF     TRISA            

            MOVLW     B'00000000'    ;PORTC_ALL_OUT
            MOVWF     TRISC

            BCF       STATUS,RP0     ;BLOCK0块
            MOVLW     B'00000000'
            MOVWF     PORTA
            MOVWF     PORTB

            CLRF      PORTC
            CLRF      PORTB
            CLRF      MC             ;自动计数器清另

;*****************************************************
;旋转门在停止时自动复位程序如果有风推动必须保证复位
; KEY SCAN
;8888888888888888888888888888888888888888888888888888888键盘扫描
MIN        
            BCF       PORTB,3     ;电机反转停
            CLRF      MC         ;开始脉冲计数器清另

            CLRF      COUNTER0   ;延时计数器0清另
            CLRF      COUNTER1   ;延时计数器1清另
            CLRF      PORTB      ;正转磁铁
            CLRF      PORTB      ;反转磁铁
            CLRF      COU         ;脉冲计数器清另  ;
SCAN_KEY    BCF      STATUS,Z    ;用过后要清零后才能检测LOCK_COUNT,
            BCF      PORTB,0     ;↑ 正转电磁铁不吸合
            BCF      PORTB,1     ;↑ 反转电磁铁不吸合
            CLRF      COU        ;脉冲计数器清另
            CLRF     MCJS        ;正反转计数器
            BSF      PORTB,7     ;LED_FAS
            CALL     DELAY05S
            BTFSS    PORTA,0     ;正转_KEY
            GOTO     ZZHUAN      ;正转
            GOTO     LOOP
LOOP        BTFSS    PORTA,1     ;反转_KEY
            GOTO     FZZHUAN     ;反转
            BTFSC    PORTB,6     ;原点 测试一下是否在原点
            GOTO     STARTA_ZF      ;转防风功能
            BCF      PORTB,7     ;LED_FAS
            CALL     DELAY05S
            GOTO     SCAN_KEY
;********88888888888888888888888888888888888888888888888键盘扫描
;防风吹功能.子程序 脉冲pulse SCAN   改进说明RA2脉冲    RA3方向判断
;88888888888888888888888888888888888888888888888888888888
;旋转门在停止时自动复位程序如果有风推动必须保证复位
;00000000000000000000000000000000000000000               正反转判断程序

STARTA_ZF  CALL     DELAY  
            CALL     DELAY  
            CALL     DELAY  
            CALL     DELAY  
            NOP
;*******************************************************************
STARTA_ZFA  BTFSS    PORTA,3     ;RA3方向判断H为门逆时钟旋转
            GOTO     ZF_NEXTA       ;MOTOR_ZZ     ;再判断一下
ZF_PD       BTFSS    PORTA,2      ;测试A相有↑脉冲
            GOTO     ZF_NEXT
            GOTO     STARTA_ZFA
;******************************
ZF_NEXT     BTFSS    PORTA,3        ;都如果高
            GOTO     STARTA_ZFA
            GOTO     ZC_PD

ZF_NEXTA    BTFSS    PORTA,2
            GOTO     STARTA_ZFA
            GOTO     ZC_PD         ;还是为高
;*******************************************************************

ZC_PD       BTFSS    PORTA,2
            GOTO     ZF_NEXTZC
            BTFSS    PORTA,3   
            GOTO     ZF_NEXTAZC
            GOTO     ZC_PD
;******************************
ZF_NEXTZC   BTFSS    PORTA,3  
            GOTO     ZC_PD
            GOTO      S_PD           ;ZZ_CL

ZF_NEXTAZC  BTFSS    PORTA,2
            GOTO     ZC_PD
            GOTO     S_PD           ;FZ_CL
;*******************************************************************

S_PD       BTFSS    PORTA,3
           GOTO     S_PDB
S_PDA      BTFSS    PORTA,2
           GOTO     S_PDC
           GOTO     S_PD
;******************************
S_PDB      BTFSS    PORTA,2
           GOTO     S_PD
           GOTO     FZ_CL

S_PDC      BTFSS    PORTA,3
           GOTO     S_PD
           GOTO     ZZ_CL  ;正转判断

;888888888888888888888888888888888888888 8888888888888888888888正反转判断程序
;A相有脉冲有多少脉冲处理.当门不旋转时延时后电机旋转.  防风吹功能
;电机正转 门逆时钟旋转(俯视图看门)
;........................................................电机反转处理
ZZ_CL       ;正转判断
            BTFSS    PORTA,2       ;脉冲检测输入
            GOTO     TEXT_ZZ
LOOP_ZZ     BTFSS    PORTA,2       ;脉冲检测输入
            GOTO     MOTOR_ZZ
            GOTO     TEXT_ZZ       ;如果没有脉冲再测试N次
TEXT_ZZ     ;CALL     DELAY1S       ;如果没有脉冲再测试N次
            INCF     COU
            MOVLW    .8            ;.8
            SUBWF    COU           ;
            BTFSS    STATUS,Z     ;W=0 Z=1
            GOTO     ZZ_CL        ;NO不到20
            CLRF     COU          ;到了8脉冲
            CALL     DELAY
            CALL     DELAY   
MOTOR_ZZ    BCF      PORTC,2      ;电反机转
            BSF      PORTC,3      ;电机反转 AB = 0.1

            BCF      PORTC,2      
            BSF      PORTC,3      ;电机反转 AB = 0 1

            BSF      PORTC,1      ;反转磁铁吸合

            BCF      PORTC,5      ;低速度 AB = 00
            BCF      PORTC,6      ;低速度 AB = 00


            NOP
            NOP
            NOP
            BTFSS     PORTB,6      ;原点检测 光电
            GOTO      ZMOR_TIN1    ;H回到原点
            GOTO      MOTOR_ZZ
         ;PORTC,2     电机正转
         ;PORTC,3     电机反转
         ;PORTC,0     正转磁铁
         ;PORTC,1     反转磁铁
;888888888888888888888888888888888888888888888电机反转处理
;B相有脉冲有,多少脉冲处理 当门不旋转时延时后电机旋转. 防风吹功能
;电机反转 门顺时钟旋转(俯视图看门)
;当门顺时钟旋转 电机应该使门逆转;PORTB,2  电机正转 门逆时钟旋转
;.......................................................电机正转处理
FZ_CL      
            BTFSS    PORTA,2   ;脉冲检测输入,电机反转  门顺时钟旋转 (俯视图看门)
            GOTO     TEXT_FZ   ;↓测试A相有脉冲再测试   
LOOP_FZ     BTFSS    PORTA,2
            GOTO     MOTOR_FZ
            GOTO     TEXT_FZ       ;如果没有脉冲再测试N次

TEXT_FZ     ;
            ;CALL    DELAY1S      ;如果没有脉冲再测试N次
            INCF     COU
            MOVLW    .8            ;.8
            SUBWF    COU,           ;??????
            BTFSS    STATUS,Z     ;W=0 Z=1
            GOTO     FZ_CL        ;NO不到20
            CLRF     COU          ;到了8脉冲

MOTOR_FZ    BSF      PORTC,2      
            BCF      PORTC,3      ;电机正转 AB = 1 0

            BSF      PORTC,0      ;正转磁铁吸合

            BCF      PORTC,5      ;低速度 AB = 00
            BCF      PORTC,6      ;低速度 AB = 00

            NOP
            NOP
            NOP
            BTFSS     PORTA,6      ;原点检测 光电
            GOTO      FMOR_TIN1    ;回到原点
            GOTO      MOTOR_FZ
;防风吹功能.子程序 END    ;PORTC,2     电机正转
                          ;PORTC,3     电机反转
                          ;PORTC,0     正转磁铁
                          ;PORTC,1     反转磁铁         电机正转处理
;8888888888888888888888888888888888888888888888888888888888888防风吹复位功能.子程序 END
;到了10秒 没有脉冲电磁铁抬起,返回.SCAN_KEY  有脉冲开始记数. 电机正转等待
;0000000000000000000000000000000000000000000000000000000000000到了10秒 没有脉冲电磁铁抬起
ZZHUAN      BSF      PORTC,0    ;↑ 正转电磁铁吸合抬起
            CALL     DELAY05S
            NOP
            NOP
            BTFSC    PORTB,6     ;判断门推动? 原点检测
            GOTO     START1      ;YEI有人推
            GOTO     NO_MC       ;NO 没有人推,在原点
;***************************
NO_MC       INCF      COUNT1,1    ;延时10秒
            MOVLW    .60            ;.60
            SUBWF    COUNT1,0
            BTFSS    STATUS,Z     ;W=0 Z=1
            GOTO     ZZHUAN       ;NO不到6
            CLRF     COUNT1
            GOTO     SCAN_KEY     ;到了10秒NO 没有脉冲电磁铁抬起
;**************************
CT_DELAY   CALL     DELAY3S
           BCF      PORTC,0       ;正转电磁铁
           GOTO     SCAN_KEY
;00000000000000000000000000000000000000000000000000000000000到了10秒 没有脉冲电磁铁抬起
;**A相有脉有开始记数冲 电机开始正转 有8个脉冲?        低速度段 电机正转
;PORTC,2    电机正转   AB   00     NE555逻辑
;PORTC,3    电机反转   AB   11     NE555逻辑
;********************************************************低速度段 电机正转
START1          ;有脉冲
           BSF     PORTC,2    ;电机正转     AB   10      NE555逻辑
           BCF     PORTC,3    ;电机反转     AB   10      NE555逻辑

           BCF     PORTC,5     ;低速度      AB   00      555逻辑
           BCF     PORTC,6     ;速度        AB   00      555逻辑

            NOP
            NOP
            NOP  
            NOP
            NOP
            BTFSS    PORTA,2   ;测试A相有脉冲开开始计数
            GOTO     LOOP0       ;STRT_JS
            GOTO     START1
LOOP0       BTFSS    PORTA,2
            GOTO     LOOP0
            GOTO     STRT_JS  ; START1
NEXT       BTFSS    PORTA,2   ;测试A相有脉冲开开始计数
            GOTO     STRT_JS
            GOTO     START1

NEXT_A      BTFSS    PORTA,2
            GOTO     START1
            GOTO     STRT_JS
STRT_JS     INCF     COU
            MOVLW    .8           ;.8
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     START1        ;NO不到20
            CLRF      COU
            GOTO     ZGAO_SDU      ;到了20脉冲后转高速度
;****************************************************低速度段 电机正转
;**************A相有脉冲 有9个脉冲高速度运转********高速度段 电机开始正转
         ;
;*************************************************           电机正转高速度
;高速度电机开始正转
ZGAO_SDU    BSF     PORTC,5    ;速度高      AB   1.1     555逻辑
            BSF     PORTC,6    ;速度高      AB   1.1     555逻辑

            NOP
            NOP
            NOP  
            NOP
            NOP
            ;CLRF      COU
            BTFSS    PORTA,2   ;测试A相有脉冲开开始计数
            GOTO     LOOP1     ;STRT_J
            GOTO     ZGAO_SDU
LOOP1       BTFSS    PORTA,2   ;测试A相有脉冲开开始计数
            GOTO     LOOP1
            GOTO     STRT_J
STRT_J      BTFSS     PORTB,1     ;急停00000000
            GOTO      ZMOR_TIN1
            INCF     COU
            MOVLW    .9      ;.9
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     ZGAO_SDU      ;NO不到9
            CLRF      COU
            GOTO     ZDI_SDU      ;到了20脉冲后转高速度
;********************************************************************* 电机正转高速度
;开始低速度 *A相有脉冲 有 9个脉冲     低速度段 电机开始正转

;*********************************************************************电机正转低速度
ZDI_SDU    BCF       PORTC,5      ; A     A B  0.0电机速度低
            BCF       PORTC,6      ; B     A B  0.0电机速度低
            NOP

            NOP
            NOP
            NOP  
            NOP
            NOP
            BSF      PORTA,7     ;速度低速度
            BTFSS    PORTA,2      ;测试A相有脉冲开开始计数
            GOTO     LOOP2
            GOTO     ZDI_SDU
LOOP2       BTFSS    PORTA,2
            GOTO     LOOP2
STRT        BTFSS     PORTB,1      ;急停00000000
            GOTO      ZMOR_TIN1
            INCF     COU
            MOVLW    .8           ;.8
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     ZDI_SDU        ;NO不到.8
            GOTO     ZMOR_TIN      ;到了20脉冲后转高速度

;****************************************************************电机正转低速度
;电机正转低速度    ;是否到了原点电机电磁铁停止
;****************************************************************电机正转结束
ZMOR_TIN   
             BTFSS     PORTB,6     ;原点检测 光电
             GOTO      ZMOR_TIN1    ;H回到原点
             GOTO      ZMOR_TIN
ZMOR_TIN1
            BCF       PORTC,2      ;电机正转停 A     A B  0.0电机停
            BCF       PORTC,3      ;电机反转停 B     A B  0.0电机停

            BCF       PORTC,0      ;正转磁铁释放
            BCF       PORTC,1      ;反转磁铁释放

            BSF       PORTC,5      ;低速度  OUT A
            BCF       PORTC,6      ;高速度  OUT B     A B  1.0速度停

            NOP
            NOP
            NOP
            NOP
            BSF       PORTC,7     ;刹车
            CALL      DELAY05S
            BCF       PORTC,7     ;刹车
            GOTO      SCAN_KEY

;;**********************************************************电机正转结束
;电机反转开始计数                 电机反转等待
;*FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  ;到了10秒 没有脉冲电磁铁抬起,返回.SCAN_KEY 开始记数值.
;***********************************************到了10秒 没有脉冲电磁铁抬起
FZZHUAN      BSF      PORTC,1   ;↑ 反转电磁铁吸合抬起
             CALL     DELAY05S
             NOP
             NOP
             BTFSC    PORTB,6     ;判断门推动? 原点检测
             GOTO     FSTART1      ;YEI
             GOTO     FNO_MC       ;NO
;***************************
FNO_MC       INCF      COUNT1,1    ;延时10秒
            MOVLW    .60            ;.60
            SUBWF    COUNT1,0
            BTFSS    STATUS,Z     ;W=0 Z=1
            GOTO     FZZHUAN       ;NO不到6
            CLRF     COUNT1
            GOTO     SCAN_KEY     ;到了10秒NO 没有脉冲电磁铁抬起
;************************************
FCT_DELAY  CALL     DELAY3S
            BCF      PORTB,1       ;反转电磁铁
            GOTO     SCAN_KEY
;******************************************************到了10秒 没有脉冲电磁铁抬起
;          ;PORTC,2  A  电机正转   A B   00     NE555逻辑
           ;PORTC,3  B  电机反转   A B   11     NE555逻辑
;***B相有脉冲 电机开始反转 有20个脉冲?********速度低 电机反转
;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF电机开始反转低速度段
FSTART1     BCF       PORTC,2      ;电机反转停 A     A B  0.1电机反转
            BSF       PORTC,3      ;电机反转停 B     A B  0.1电机反转

            BCF       PORTC,5      ;低速度  OUT A
            BCF       PORTC,6      ;高速度  OUT B     A B  0.0电机速度低

            NOP
            NOP
            BTFSS    PORTA,3   ;测试B相有脉冲开开始计数
            GOTO     FLOOP0      
            GOTO     FSTART1
FLOOP0      BTFSS    PORTA,3    ;测试B相有脉冲开开始计数
            GOTO     FLOOP0
            GOTO     FSTRT_JS  ;START1
FNEXT      BTFSS    PORTA,3   ;测试B相有脉冲开开始计数
            GOTO     FSTRT_JS
            GOTO     FSTART1

FNEXT_A     BTFSS    PORTA,3
            GOTO     FSTART1
            GOTO     FSTRT_JS
FSTRT_JS     INCF     COU
            MOVLW    .8         ;.20
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     FSTART1       ;NO不到20
            CLRF     COU
            GOTO     FGAO_SDU      ;到了20脉冲后转高速度
;**************************************************            电机反转低速度段
;***B相有脉冲 有9个脉冲高速度运转*****速度高电机反转门顺时钟旋转(俯视图看门) 电机反转/
;*************************************************             电机反转高速度段
;高速度
FGAO_SDU    BSF       PORTC,5      ;低速度  OUT A
            BSF       PORTC,6      ;高速度  OUT B     A B  1.1电机速度高
            NOP
            NOP

            NOP
            NOP
            ;CLRF      COU
            BTFSS    PORTA,3   ;测试B相有脉冲开开始计数
            GOTO     FLOOP1     ;FSTRT_J
            GOTO     FGAO_SDU
FLOOP1       BTFSS    PORTA,3   ;测试B相有脉冲开开始计数
            GOTO     FLOOP1
            GOTO     FSTRT_J

FSTRT_J     BTFSS     PORTB,1     ;急停000
            GOTO      FMOR_TIN1  
            INCF     COU
            MOVLW    .9         ;.9
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     FGAO_SDU       ;NO不到20
             CLRF      COU
            GOTO     FDI_SDU      ;到了20脉冲后转高速度

;*********************************************            电机反转高速度段
;开始低速度 B相有脉冲 有 8个脉冲**********速度低 电机反转
;*********************************************            电机反转低速度段
FDI_SDU     
            BCF       PORTC,5      ;低速度  OUT A
            BCF       PORTC,6      ;高速度  OUT B     A B  0.0电机低速度段
            NOP  
            NOP
            NOP
            BTFSS    PORTA,3      ;测试B相有脉冲开开始计数
            GOTO     FLOOP2
            GOTO     FDI_SDU
FLOOP2      BTFSS    PORTA,3      ;测试B相有脉冲开开始计数
            GOTO     FLOOP2
            GOTO     FSTRT

FSTRT       BTFSS     PORTB,1     ;急停000
            GOTO      FMOR_TIN1  
            INCF     COU
            MOVLW    .8             ;.8
            SUBWF    COU,0
            BTFSS    STATUS,Z      ;W=0 Z=1
            GOTO     FDI_SDU       ;NO不到8
            GOTO     FMOR_TIN      ;到了20脉冲后转高速度
;***************************************************电机反转低速度段
;电机反转低速度;是否到了原点电机电磁铁停止
;****************************************************电机反转停止
FMOR_TIN       ;速度变换低速度 减 SPI99  OUT
             BTFSS     PORTB,6      ;原点检测 光电
             GOTO      FMOR_TIN1
             GOTO      FMOR_TIN

FMOR_TIN1   BCF       PORTC,2      ;电机正转停 A     A B  0.0电机停
            BCF       PORTC,3      ;电机反转停 B     A B  0.0电机停

            BCF       PORTC,0      ;正转磁铁释放
            BCF       PORTC,1      ;反转磁铁释放

            BSF       PORTC,5      ;低速度  OUT A
            BCF       PORTC,6      ;高速度  OUT B     A B  1.0电机停

            NOP
            NOP
            NOP
            NOP
            BSF       PORTC,7     ;刹车
            CALL      DELAY05S
            BCF       PORTC,7     ;刹车
            GOTO      SCAN_KEY

;*FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF电机反转停止
DELAY3S    MOVLW     D'10'          ;D'10=3S  D'20=5S  D'30=7S
           MOVWF     COUNT2         ;D'40=8S  D'60=12S  D'80=17
LOPB01     DECFSZ    COUNT1,1       ;D'100=20S   D'150=30S D'200=40S
           GOTO      LOPB01
           DECFSZ    COUNT0,1
           GOTO      LOPB01
           DECFSZ    COUNT2,1
           GOTO       LOPB01
           RETURN
;****************************************************
DELAY   MOVLW     D'9'
        MOVWF     COUNTER0
LOPB    DECFSZ    COUNTER1,1
        GOTO      LOPB
        DECFSZ    COUNTER0,1
        GOTO      LOPB
        RETURN
;*****************************************************
DELAY1S    MOVLW     D'5'            ;DELAY 1S
           MOVWF     COUNTER3
LOPB1      DECFSZ    COUNTER4,1
           GOTO      LOPB1
           DECFSZ    COUNTER3,1
           GOTO      LOPB1
           RETURN
;******************************************************
DELAY05S  MOVLW     D'0'       ;0.5S
          MOVWF     COUNT3
LOPB0     DECFSZ    COUN4,1
          GOTO      LOPB0
          DECFSZ    COUNT3,1
          GOTO      LOPB0
          RETURN
          END
;*********************************************************************

[1] [1]
关键字:PIC  单片机控制  旋转门 引用地址:PIC单片机控制的的旋转门

上一篇:基于PIC16F877单片机的多功能电子时钟
下一篇:MPLAB设置路径

推荐阅读

草莓和奶油是典型的英国夏季美食,草莓酱、奶油茶都深受英国人喜爱。然而最近有报道称,英国正面临着草莓劳动力的问题。而这样的境况可能会随着英国明年脱欧而有所加剧。 英国过去每年种植的软果量会增加超过1.15亿吨,价值11亿英镑(14亿美元),在过去十年中增长了132%,产量惊人。为了种植和收获作物,英国每年都会雇用大约18000名季节性工人。在上...
  据外媒报道,科技公司Rikatec推出了第四款与公司同名的工业设备Rikatec,可帮助打造汽车故障探测信息系统。该公司会利用大量的数据和机器学习机制探测车辆故障、提供有关车辆磨损的信息,并为保险公司和金融公司创建驾驶员档案和评分。  Rikatec设备适用于所有品牌的汽车,可以探测车辆故障,而且一旦探测到故障,就会发送有关车辆哪个部位发生故障...
美国政府考虑将中芯国际列入贸易制裁名单,打乱中国大陆半导体产业自主化脚步,并恐进一步冲击硅晶圆、硅智材等周边材料设备供应链。由于层面涵盖来自美国的设备和材料,台湾相关协力厂,以及提供大陆IC设计服务的业者,也难逃波及。根据市调机构统计,中芯国际是全球第五大晶圆代工厂,居台积电、三星、格芯、联电之后。中芯国际晶圆代工月产能约当48万片...
不得不说,现在的科技企业们,似乎越来越“不务正业”了,造车的特斯拉在AI Day上,发布了一个人形机器人,名字叫做Tesla Bot,高1.72米,重56.6KG,接近正常人类身高体重,同时拥有灵活的手脚,更像一个人了。而造手机的小米,在发布手机MIX4时,也发布了一个机器狗,叫做“CyberDog”,小名叫“铁蛋”的,这是小米第一代仿生四足机器人,只要9999元...

史海拾趣

问答坊 | AI 解惑

驱动ST7565显示汉字以及画点

最近需要用ST7565来显示汉字以及画点,发现网上关于ST7565驱动显示文字的例子也不少,不过画图方面的例子就很少了。ST7565是比较常见的128*64的LCD,我这里使用模拟SPI来写ST7565,ST7565是“纵向8点下高位”类型的LCD,难点在于页(Y轴)。 如下图 ...…

查看全部问答∨

基于CPLD的数据采集与显示接口电路仿真设计2

系统工作过程如下:ALE为地址锁存使能信号,当下降沿来时,将P0口将低8位地址送入可编程芯片CPLD/FPGA中的地址锁存器,然后在P2口和P0口形成的16位地址及WR信号共同作用下,将P0口的数据送入可编程芯片。单片机通过两条指令MOVXDPTR@ ADDR和MOVX @ ...…

查看全部问答∨

一个非常适合单片机的滤波算法(内附匠人分析)

匠人按:今天在论坛里看到一位网友发了个滤波算法。开始以为是一种新算法,后来仔细分析,发现原来是一阶滤波(低通滤波)的变形。原文及匠人的分析附录如下: -------------------------------------------------以下为原文------------------- ...…

查看全部问答∨

求助:各位大虾帮我看看这个奇怪的问题啊,谢谢!

请教: #define Uchar8 unsigned char Uchar8 MyRead(Uchar8 ReadId) {    Uchar8 Date = 0xff;    if(ReadId == 1)      {        //代码 1        //代 ...…

查看全部问答∨

急问:接收arp回复时,tNetTask发生优先级反转,为什么?

我发送了一个arp请求,目标机可以收到并发送回复,但是我这边在处理这个arp回复时,却发现tNetTask发生优先级反转了,具体打印如下:   NAME        ENTRY       TID    ...…

查看全部问答∨

分享前一段时间买的热风枪

本帖最后由 ddllxxrr 于 2016-1-7 17:13 编辑 总价184+25运费,一共209元   数字显示当前温度和设定温度,热风枪和烙铁直接拿起就能用了,直接看当前工作的温度,不想以前需要用手或者用焊锡丝去试了,真的很方便 …

查看全部问答∨

关于使用STM32F103定时器比较匹配问题

本人想使用STM32F103输出占空比50%的方波用于控制步进电机,共需四路.看STM32资料上说有4路定时器,每路定时器又有四路独立的比较匹配通道.如果我用一个定时器的四路通道输出4路频率不同的占空比50%的方波行不行呢, ...…

查看全部问答∨

关于FPGA中IP核的生成.PDF

跟大家分享篇文档,关于IP核的北理课件,适合初学者参考下。 …

查看全部问答∨

梦之旅同学EZ430系列学习笔记和智能家居系统项目之CC2500和整个项目完成情况

  这个CC2500,TI提供的demo很给力,具体我就不说了,用过的人会知道的,呵呵,参考了下前面各位大牛级人物的程序,用上了我的DHT11,呵呵。大家有不懂的可以看前面大牛们发表的帖子,我只是简单说一下,我弄这个之前,看了Packet Transmissio ...…

查看全部问答∨

对Spartan-6 LX9 MicroBoard的一些了解,便于大家选择设计方案。

       低价位的Spartan-6 LX9 MicroBoard 对于那些专注于Microblaze嵌入式应用和Spartan-6 器件的工程师来说是个很好的解决方案. 这个套件提供了几个预建好的Microblaze嵌入式系统, 客户可以象使用其他标准微处理器 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved