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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4032|回復: 0
收起左側

基于pic單片機的循跡小車設計(匯編語言)

[復制鏈接]
ID:467304 發表于 2019-1-13 11:46 | 顯示全部樓層 |閱讀模式
電路原理圖如下:

這是小車的protus仿真原理圖

這是小車的protus仿真原理圖


;----------------------------------------------------
                         INCLUDE"F:\MPASM Suite\P16F877A.INC"
                         TMR0B EQU 029H                ;10MS
;-------------------------------------------------
;主程序
;--------------------------------------------------
                                          ORG 0000H  
                       NOP
                        BSF STATUS,RP0
                                                 MOVLW 00H
                                                 MOVWF TRISC           
                                                MOVLW B'11110000'   ;定義RD口的高4位為前置四個紅外光反信號的輸入,低四位作為輸出控制電機IN1/IN2/IN3/IN4
                                                MOVWF TRISD
                       MOVLW 07H     ;TMR0定時器分頻比為1:256
                        MOVWF OPTION_REG
                                                 GOTO ST
                                                                                                                                       
;--------------------------------------------  
;初始化PWM1、2
;--------------------------------------------
ST                      BSF STATUS,RP0
                        MOVLW 0FFH
                                                 MOVWF PR2
                                                 BCF STATUS,RP0
                                             MOVLW 4DH
                                                 MOVWF CCPR1L
                       MOVWF CCPR2L
                       CALL WIDTH3030
                                                 MOVLW 0CH
                                                 MOVWF CCP1CON             ;CCPxX、CCPxY置零
                        MOVWF CCP2CON
                                                 ;CLRF T2CON                         ;定義定時器TMR2工作方式為1:1分頻
                        MOVLW B'00000011'                ;定義定時器TMR2工作方式        1:16分頻
                                           MOVWF T2CON
                                                 BSF T2CON,TMR2ON        ;啟動TMR2定時
                        CALL TEST1
                        GOTO $-1

                       ; MOVLW 0FFH
                      ;  MOVWF PR2
                       ; MOVLW 0CH
                      ;  MOVWF CCP1CON
                       ; MOVWF CCP2CON
                           ; MOVLW B'00000011'                ;定義定時器TMR2工作方式        1:16分頻
                                   ;        MOVWF T2CON
                                        ;CALL WIDTH3030           ;設置脈寬為30 30         
                        ;BSF T2CON,TMR2ON  
                      ;  CALL TEST1
                      ;  GOTO $-1
;----------------------------------------------
;脈寬控制調制
;---------------------------------------------
WIDTH3030                            MOVLW 30H                ;CCP1設置為30%占空比
                        MOVWF CCPR1L  
                                            MOVLW 28H                 ;CCP2設置為30%占空比
                        MOVWF CCPR2L  
                        RETURN
WIDTH2040               MOVLW 7H                ;CCP1設置為20%占空比
                        MOVWF CCPR1L  
                                            MOVLW 48H                 ;CCP2設置為40%占空比
                        MOVWF CCPR2L  
                        RETURN
WIDTH4020               MOVLW 51H                ;CCP1設置為40%占空比
                        MOVWF CCPR1L  
                                            MOVLW 7H                 ;CCP2設置為20%占空比
                        MOVWF CCPR2L  
                        RETURN

;---------------------------------------------
;  光反數據放入26H  
;--------------------------------------------
TEST1                    BCF STATUS,RP0      ;返回體0
                                         MOVF PORTD,W                 
                         MOVWF 25H         ;將檢測信息放入25H
                         MOVF 25H,W
                                             MOVWF 26H                   ;將檢測信息轉至中間變量
                                             SWAPF 26H,F
;----------------------------------------------------------
;檢驗光反,控制轉向
;--------------------------------------------------------
                         BTFSC 26H,2
                                                 GOTO DET2          ;左側廣反輸出為1時,未檢測到黑線,轉而檢測右側輸出
                                             GOTO DET1                        ;左側廣反輸出為0時,檢測到黑線,轉而檢測右側輸出
DET1                                     BTFSC 26H,1
                                                 GOTO RIGHT111                 ;0X1: 右拐               
                             GOTO RUN111                ;0X0:停止                                          
DET2                             BTFSC 26H,1                 
                                             GOTO RUN111                  ;1X1時,直行
                         GOTO LEFT111                        ;1X0時,左拐
                              
;----------------
;直行子程序
;---------------
                 RUN111 BCF STATUS,RP0
                        BCF PORTC,6            ;直行,兩燈都不亮
                        BCF PORTC,7      
                        CALL WIDTH3030
                                                  MOVF PORTD                        
                                                MOVWF 27H
                                                MOVLW 0F0H
                                                ANDWF 27H,F
                                                MOVLW B'00001010'         ;IN1:1  IN2:0  IN4:1  IN3:0  :          直行
                                                ADDWF 27H,W
                                                MOVWF PORTD
                                            GOTO LEGEND1
;---------------------------
;停止子程序
;---------------------------
                STOP111 BCF STATUS,RP0
                        BSF PORTC,6            ;直行停止,兩燈都滅
                        BSF PORTC,7   
                                                  MOVF PORTD                        
                                                MOVWF 27H
                                                MOVLW 0F0H
                                                ANDWF 27H,F
                                                MOVLW B'00000000'         ;IN1:0  IN2:0  IN4:0  IN3:0  :          停止
                                                ADDWF 27H,W
                                                MOVWF PORTD
                                                   GOTO LEGEND1                        
;--------------------------------
;左拐子程序
;--------------------------------
LEFT111                               BCF STATUS,RP0
                        BSF PORTC,7                ; 右拐,亮右轉向燈
                        BCF PORTD,6
                        CALL WIDTH2040
                                                  MOVF PORTD                        
                                                MOVWF 27H
                                                MOVLW 0F0H
                                                ANDWF 27H,F
                                                MOVLW B'00001010'               ;IN1:0  IN2:0  IN4:1  IN3:0  :          左拐
                                                ADDWF 27H,W
                                                MOVWF PORTD
                                           GOTO LEGEND1               
;---------------------------------
;右拐子程序
;---------------------------------
RIGHT111                BCF STATUS,RP0
                        BSF PORTC,6                       ; 右拐,亮右轉向燈
                        BCF PORTD,7
                        CALL WIDTH4020
                                                  MOVF PORTD                        
                                                MOVWF 27H
                                                MOVLW 0F0H
                                                ANDWF 27H,F
                                                MOVLW B'00001010'         ;IN1:1  IN2:0  IN3:0  IN4:0  :          右拐
                                                ADDWF 27H,W
                                                MOVWF PORTD
                LEGEND1                       RETURN
;---------------------------------------
;延時子程序
;---------------------------------------
DELAY10MS             BCF INTCON,T0IF
                    MOVLW TMR0B
                    MOVWF TMR0
                LP1 BTFSS INTCON,T0IF
                    GOTO LP1
                   RETURN
;------------------------------------------------------
                      END   
;---------------------------------------------------   

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区视频在线播放 | 99av成人精品国语自产拍 | 国产一区二区三区四区在线观看 | 日韩成年人视频在线 | 久久精品国产久精国产 | 人人干超碰 | 日本天天操 | 午夜精品久久久久久久星辰影院 | 日韩在线免费视频 | 免费成人av网站 | 人人人人人爽 | 欧美激情精品久久久久久变态 | 久久久久久国模大尺度人体 | 欧美 日韩 国产 成人 在线 | 欧美日韩久久 | 成人在线观看亚洲 | 日韩在线不卡视频 | 精品国产18久久久久久二百 | 欧美精品一区二区在线观看 | 欧美1区2区| 久久精品免费一区二区三 | 国产乱码精品一区二区三区五月婷 | 日韩毛片免费看 | 日韩欧美一区二区三区免费观看 | 色先锋影音 | 国产精品久久久久久久久污网站 | 99re99| 精品在线视频播放 | 中文字幕一区二区三区不卡在线 | 久在线视频播放免费视频 | 一级毛片在线播放 | 一区二区三区免费在线观看 | 欧美精品久久久 | 欧美中文字幕在线观看 | 久久久久久久97 | 亚洲一区视频在线 | 国产成人jvid在线播放 | 成人在线激情 | 亚洲高清视频在线 | 亚洲免费人成在线视频观看 | 国产91久久精品一区二区 |