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

📄 proc_communication.lis

📁 一个直流电机的闭环控制源代码程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module PROC_Communication.c
                        .area text(rom, con, rel)
 0000                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
                        .area data(ram, con, rel)
 0000                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0000           _g_bIfBrake::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0001           _g_cSpeed::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0002           _g_wDistance::
 0002                   .blkb 2
                        .area idata
 0002 0000              .word 0
                        .area data(ram, con, rel)
 0004                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0004           L2:
 0004                   .blkb 1
                        .area idata
 0004 00                .byte 0
                        .area data(ram, con, rel)
 0005                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0005           L3:
 0005                   .blkb 1
                        .area idata
 0005 00                .byte 0
                        .area data(ram, con, rel)
 0006                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0006                   .blkb 4
                        .area idata
 0006 00000000          .byte 0,0,0,0
                        .area data(ram, con, rel)
 000A                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 000A           L4:
 000A                   .blkb 1
                        .area idata
 000A 00                .byte 0
                        .area data(ram, con, rel)
 000B                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
                        .area text(rom, con, rel)
 0000                   .dbfile H:\单片机\源程序\2007全国电子设计大赛\电机闭环模块\PROC_Communication.c
 0000                   .dbfunc e PROC_Command_Check _PROC_Command_Check fc
 0000                   .dbsym s cXORCheck L4 c
 0000                   .dbsym s cBytes L3 A[5:5]c
 0000                   .dbsym s cByteCounter L2 c
 0000           ;          cData -> y+5
                        .even
 0000           _PROC_Command_Check::
 0000 4A93              st -y,R20
 0002 5A93              st -y,R21
 0004 2697              sbiw R28,6
 0006                   .dbline -1
 0006                   .dbline 74
 0006           ; /***********************************************************
 0006           ; *   函数库说明:电机闭环位置控制模块通讯函数库             *
 0006           ; *   版本:      v1.00                                      *
 0006           ; *   作者:      王卓然                                     *
 0006           ; *   创建日期:  2007年9月03日                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [支 持 库]                                              *
 0006           ; *   支持库名称:                                           *
 0006           ; *   需要版本:                                             *
 0006           ; *   支持库说明:                                           *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本更新]                                              *
 0006           ; *   修改:                                                 *
 0006           ; *   修改日期:                                             *
 0006           ; *   版本:                                                 *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本历史]                                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [使用说明]                                              *
 0006           ; ***********************************************************/
 0006           ; 
 0006           ; /********************
 0006           ; * 头 文 件 配 置 区 *
 0006           ; ********************/
 0006           ; # include "LIB_Config.h"
 0006           ; # include "PF_Config.h"
 0006           ; # include "PROC_Communication.h"
 0006           ; 
 0006           ; /********************
 0006           ; *   系 统 宏 定 义  *
 0006           ; ********************/
 0006           ; 
 0006           ; /*------------------*
 0006           ; *   常 数 宏 定 义  *
 0006           ; *------------------*/
 0006           ; 
 0006           ; /*------------------*
 0006           ; *   动 作 宏 定 义  *
 0006           ; *------------------*/
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *    结构体定义区   *
 0006           ; ********************/
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *   模块函数声明区  *
 0006           ; ********************/
 0006           ; 
 0006           ; /********************
 0006           ; *   全局函数声明区  *
 0006           ; ********************/
 0006           ; BOOL PROC_Command_Check(void);
 0006           ; 
 0006           ; /********************
 0006           ; *   模块变量声明区  *
 0006           ; ********************/
 0006           ; 
 0006           ; /********************
 0006           ; *   全局变量声明区  *
 0006           ; ********************/
 0006           ; BOOL g_bIfBrake = FALSE;
 0006           ; int8 g_cSpeed = 0;
 0006           ; uint16 g_wDistance = 0;
 0006           ; 
 0006           ; /***********************************************************
 0006           ; *   函数说明:数据帧接收函数                               *
 0006           ; *   输入:    无                                           *
 0006           ; *   输出:    无                                           *
 0006           ; *   调用函数:无                                           *
 0006           ; ***********************************************************/
 0006           ; BOOL PROC_Command_Check(void)
 0006           ; {
 0006                   .dbline 75
 0006           ;     uint8 cData = 0;
 0006 2224              clr R2
 0008 2D82              std y+5,R2
 000A                   .dbline 80
 000A           ;     static uint8 cByteCounter = 0;
 000A           ;     static uint8 cBytes[sizeof(CMD_FRAME)+1] = {0}; 
 000A           ;     static uint8 cXORCheck = 0;
 000A           ; 
 000A           ;     if (!SERIAL_IN(cData))
 000A 8E01              movw R16,R28
 000C 0B5F              subi R16,251  ; offset = 5
 000E 1F4F              sbci R17,255
 0010 00D0              rcall _UARTgetDataFromRxBuff
 0012 0023              tst R16
 0014 11F4              brne L5
 0016           X0:
 0016                   .dbline 81
 0016           ;     {
 0016                   .dbline 82
 0016           ;         return TRUE;
 0016 01E0              ldi R16,1
 0018 A4C0              rjmp L1
 001A           L5:
 001A                   .dbline 95
 001A           ;     }
 001A           ;     /*
 001A           ;     Set_DISP_BUFF
 001A           ;                 (
 001A           ;                     ABS(cData)>>4,
 001A           ;                     ABS(cData)&0x0f,
 001A           ;                     SET_WORD_DIV_4(g_wDistance).BYTEAH,
 001A           ;                     SET_WORD_DIV_4(g_wDistance).BYTEAH,
 001A           ;                     SET_WORD_DIV_4(g_wDistance).BYTEAL
 001A           ;                 );
 001A           ;     */
 001A           ;     //接收到了数据
 001A           ;     switch (cByteCounter)
 001A 40910400          lds R20,L2
 001E 4423              tst R20
 0020 31F0              breq L10
 0022           X1:
 0022 4030              cpi R20,0
 0024 08F4              brsh X8
 0026 89C0              rjmp L7
 0028           X8:
 0028           X2:
 0028           L25:
 0028 4530              cpi R20,5
 002A 89F0              breq L13
 002C           X3:
 002C 86C0              rjmp L7
 002E           L10:
 002E                   .dbline 98
 002E           ;     {
 002E           ;         case 0:
 002E           ;             if (cData == 0xAA)
 002E 8D81              ldd R24,y+5
 0030 8A3A              cpi R24,170
 0032 09F0              breq X9
 0034 95C0              rjmp L8
 0036           X9:
 0036           X4:
 0036                   .dbline 99
 0036           ;             {
 0036                   .dbline 100
 0036           ;                 cBytes[0] = 0xAA;
 0036 8AEA              ldi R24,170

⌨️ 快捷键说明

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