⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.ls1

📁 motor_control.zip
💻 LS1
📖 第 1 页 / 共 3 页
字号:

0007 00       F      389             DB      avge0
0008 00000000        390             DB      000H,000H,000H,000H     ; long
                     391     
000C 01              392             DB      001H
000D 00       F      393             DB      time1
000E 00              394             DB      000H
                     395     
000F 01              396             DB      001H
0010 00       F      397             DB      time2
0011 00              398             DB      000H
                     399     
0012 01              400             DB      001H
0013 00       F      401             DB      counter1
0014 00              402             DB      000H
                     403     
0015 01              404             DB      001H
0016 00       F      405             DB      counter2
0017 00              406             DB      000H
                     407     
0018 01              408             DB      001H
0019 00       F      409             DB      forward
001A 00              410             DB      000H
                     411     
001B 01              412             DB      001H
001C 00       F      413             DB      black
001D 00              414             DB      000H
                     415     
001E 01              416             DB      001H
001F 00       F      417             DB      keykey
0020 00              418             DB      000H
                     419     
0021 01              420             DB      001H
0022 00       F      421             DB      backward
0023 00              422             DB      000H
                     423     
0024 01              424             DB      001H
0025 00       F      425             DB      xianshi
0026 01              426             DB      001H
                     427     
0027 01              428             DB      001H
0028 00       F      429             DB      T0_OF
0029 00              430             DB      000H
                     431     
002A 01              432             DB      001H
002B 00       F      433             DB      min
002C 00              434             DB      000H
                     435     
002D 01              436             DB      001H
002E 00       F      437             DB      sec
002F 00              438             DB      000H
                     439     
0030 01              440             DB      001H
0031 00       F      441             DB      stage_sec
0032 00              442             DB      000H
                     443     
0033 01              444             DB      001H
0034 00       F      445             DB      stage_clk_flag
0035 00              446             DB      000H
                     447     
                     448     ; /////////////////////////////////////
                     449     ; //  COPYRIGHT RERVERED BY BUANDXIA //
                     450     ; /////////////////////////////////////
                     451     ; 
                     452     ; #include "c8051F020.h"
                     453     ; #include "intrins.h"
                     454     ; #include "CH452CMD.H" // 定义常用命令码及外部子程序
A51 MACRO ASSEMBLER  BASE                                                                 09/05/2007 14:31:50 PAGE     8

                     455     ; #include "pin.h"
                     456     ; #include "math.h"
                     457     ; #include "key_display.h"                
                     458     ; 
                     459     ; 
                     460     ; //定义端口
                     461     ; sbit LEDG     =       P3^4;
                     462     ; sbit BACK     =       P0^4;
                     463     ; sbit START    =       P0^5;
                     464     ; sbit SPOKER =   P0^6;
                     465     ; sbit IN0      =       P1^1;//左
                     466     ; sbit IN1      =       P1^3;//中
                     467     ; sbit IN2      =       P1^0;//右
                     468     ; //sbit IN3    =       P1^5;//斜右
                     469     ; //sbit IN4    =       P1^2;//斜左
                     470     ; sbit IN5      =       P1^2;//正面左
                     471     ; sbit IN6      =       P1^6;//正面右
                     472     ; sbit LASTS    =       P1^4;
                     473     ; sbit LASTB    =       P1^5;
                     474     ; 
                     475     ; //定义全局变量
                     476     ; ulong xdata data0[15];
                     477     ; ulong avge=0,avge0=0;
                     478     ; uchar time1=0,time2=0,counter1=0,counter2=0;
                     479     ; uchar a,bb,c,d,e,f,g,right,left;
                     480     ; uchar forward=0,black=0,keykey=0,backward=0,xianshi=1;
                     481     ; uchar T0_OF=0,min=0,sec=0;    //T0_OF时T0溢出次数     ,t_n=0
                     482     ; uchar stage_sec=0,stage_clk_flag=0;           //stage_clk_flag为1是阶段计时标志位.不用sta
                             ge_min
                     483     ; // Peripheral specific initialization functions,
                     484     ; // Called from the Init_Device() function 
                     485     ; 
                     486     ;  
                     487     ; void Port_IO_Init()
                     488     
----                 489             RSEG  ?PR?Port_IO_Init?BASE
0000                 490     Port_IO_Init:
                     491                             ; SOURCE LINE # 40
                     492     ; {
                     493                             ; SOURCE LINE # 41
                     494     ;     // P0.0  -  CEX0 (PCA),  Open-Drain, Digital
                     495     ;    // P0.1  -  CEX1 (PCA),  Open-Drain, Digital
                     496     ;        XBR0      = 0x10;      /*CEX0-->P0.0,CEX1-->P0.1*/
                     497                             ; SOURCE LINE # 44
0000 75E110          498             MOV     XBR0,#010H
                     499     ;        XBR2      = 0x40;      
                     500                             ; SOURCE LINE # 45
0003 75E340          501             MOV     XBR2,#040H
                     502     ; }
                     503                             ; SOURCE LINE # 46
0006 22              504             RET     
                     505     ; END OF Port_IO_Init
                     506     
                     507     ; 
                     508     ; void Interrupts_Init()
                     509     
----                 510             RSEG  ?PR?Interrupts_Init?BASE
0000                 511     Interrupts_Init:
                     512                             ; SOURCE LINE # 48
                     513     ; {   
                     514                             ; SOURCE LINE # 49
                     515     ; 
                     516     ;       IE        = 0x0A; //使能定时器1中断//使能定时器0中断
                     517                             ; SOURCE LINE # 51
0000 75A80A          518             MOV     IE,#0AH
                     519     ;     IP        = 0x02;  //使定时器1,0优先级高
A51 MACRO ASSEMBLER  BASE                                                                 09/05/2007 14:31:50 PAGE     9

                     520                             ; SOURCE LINE # 52
0003 75B802          521             MOV     IP,#02H
                     522     ;     EIE1      = 0x08; //使能PCA0中断
                     523                             ; SOURCE LINE # 53
0006 75E608          524             MOV     EIE1,#08H
                     525     ;     EIE2      = 0x20;  //使能外部键盘中断
                     526                             ; SOURCE LINE # 54
0009 75E720          527             MOV     EIE2,#020H
                     528     ;     EIP2      = 0x20;  //使外部键盘优先级高
                     529                             ; SOURCE LINE # 55
000C 75F720          530             MOV     EIP2,#020H
                     531     ; 
                     532     ; }
                     533                             ; SOURCE LINE # 57
000F 22              534             RET     
                     535     ; END OF Interrupts_Init
                     536     
                     537     ; 
                     538     ; // Initialization function for device,
                     539     ; // Call Init_Device() from your main program
                     540     ; void Init_Device(void)
                     541     
----                 542             RSEG  ?PR?Init_Device?BASE
0000                 543     Init_Device:
                     544             USING   0
                     545                             ; SOURCE LINE # 61
                     546     ; {
                     547                             ; SOURCE LINE # 62
                     548     ;     Reset_Sources_Init();
                     549                             ; SOURCE LINE # 63
0000 120000   F      550             LCALL   Reset_Sources_Init
                     551     ;     ADC_Init();
                     552                             ; SOURCE LINE # 64
0003 120000   F      553             LCALL   ADC_Init
                     554     ;       PCA_Init();
                     555                             ; SOURCE LINE # 65
0006 120000   F      556             LCALL   PCA_Init
                     557     ;       Timer_Init();
                     558                             ; SOURCE LINE # 66
0009 120000   F      559             LCALL   Timer_Init
                     560     ;       Oscillator_Init();
                     561                             ; SOURCE LINE # 67
000C 120000   F      562             LCALL   Oscillator_Init
                     563     ;     Voltage_Reference_Init();
                     564                             ; SOURCE LINE # 68
000F 120000   F      565             LCALL   Voltage_Reference_Init
                     566     ;     Port_IO_Init();
                     567                             ; SOURCE LINE # 69
0012 120000   F      568             LCALL   Port_IO_Init
                     569     ;     Interrupts_Init();
                     570                             ; SOURCE LINE # 70
0015 020000   F      571             LJMP    Interrupts_Init
                     572     ; END OF Init_Device
                     573     
                     574     ; }
                     575     ; void speedchange(uchar duty,uchar i)
                     576     
----                 577             RSEG  ?PR?_speedchange?BASE
0000                 578     _speedchange:
                     579             USING   0
                     580                             ; SOURCE LINE # 72
0000 8F00     F      581             MOV     duty?340,R7
0002 8D00     F      582             MOV     i?341,R5
                     583     ; {
                     584                             ; SOURCE LINE # 73
                     585     ;      if(i==0) PCA0CPH0 =(uchar)((100-duty)*2.56);             //把duty值转换,赋值给控制

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -