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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4132|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人av一区二区三区在线观看 | 中文字幕日韩视频 | 成人看片网站 | 免费a在线观看 | 国产日韩综合 | 欧美在线视频一区二区 | 欧美黑人性猛交 | 国产精品免费一区二区 | 久久久久久久网站 | 欧美日韩激情 | 亚洲动漫精品 | 日韩天堂在线 | 日韩视频网 | 欧美日韩在线视频观看 | 欧美日本在线 | 人体free性hd| 国产一区二区视频在线 | 黄色国产网站 | 亚洲国产成人精品久久 | www.日本在线观看 | 国产精品第二页 | 国产成人三级在线观看 | 免费看毛片网站 | 美国黄色一级大片 | 黄色三级网 | 成人网在线| av网站免费看 | 日韩高清在线播放 | 在线播放h | 成人动漫在线观看 | 日本在线视频一区 | 日本黄色免费视频 | 成人做爰免费视频免费看 | 日韩福利在线 | 欧美精品一二三区 | 九九超碰 | 亚洲欧美视频在线 | 欧美日皮视频 | 黄色大片在线播放 | 免费黄色小视频 | 久久性色 |