diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.c" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.c" new file mode 100644 index 0000000000000000000000000000000000000000..8a52afff01f73e32dba1da89e2527936d0920644 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.c" @@ -0,0 +1,71 @@ +#include "APP.h" +#include "Motor.h" + +#define Left_LED P27 +#define Right_LED P22 + +#define Left_Flow P26 +#define Right_Flow P23 + + +void APP_Loop(void) +{ + static unsigned char State = 0;//0-直行 1-刹车 2-后退 3-左拐 + static unsigned int Time=0; + + if( ((Left_Flow==0) | (Right_Flow==0)) & (State == 0) )//遇到障碍物 + { + State = 1; + Time = 0; + } + + Time++; + + switch(State) + { + case 1 : + { + Motor_Stop(); + if(Time > 50) + { + Time = 0; + State = 2; + } + break; + } + case 2 : + { + Motor_Back(); + if(Time > 100) + { + Time = 0; + State = 3; + } + break; + } + case 3 : + { + Motor_Left(); + if(Time > 200) + { + Time = 0; + State = 0; + } + break; + } + case 0 : + { + Motor_Forward(); + break; + } + default: + { + ; + } + } + +} + + + + diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.h" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.h" new file mode 100644 index 0000000000000000000000000000000000000000..80a9bdbee67ef9f34b278f68356584457ad7e4e6 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/APP.h" @@ -0,0 +1,8 @@ +#ifndef __APP_H_ +#define __APP_H_ + +#include "STC89C5xRC_RDP.h" + +void APP_Loop(void); + +#endif \ No newline at end of file diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.c" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.c" new file mode 100644 index 0000000000000000000000000000000000000000..1aca8dba9199394c4a3fe4a2c1dbf53b2d5f15e7 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.c" @@ -0,0 +1,99 @@ +#include "Motor.h" +#include "PWM.h" + +//#define LF_A P02//左前电机A +//#define LF_B P03//左前电机B +//#define LB_A P01//左后电机A +//#define LB_B P00//左后电机B + +//#define RF_A P05//右前电机A +//#define RF_B P04//右前电机B +//#define RB_A P06//右后电机A +//#define RB_B P07//右后电机B + + +unsigned char LF_A,LF_B,LB_A,LB_B,RF_A,RF_B,RB_A,RB_B; + +/******************************************************************************* +* 函 数 名 : Motor_Stop() +* 函数功能 : 小车停止函数 +*******************************************************************************/ +void Motor_Stop(void) +{ + LF_A=0; + LF_B=0; + LB_A=0; + LB_B=0; + RF_A=0; + RF_B=0; + RB_A=0; + RB_B=0; +} + +/******************************************************************************* +* 函 数 名 : Motor_Forward() +* 函数功能 : 小车前进函数 +*******************************************************************************/ +void Motor_Forward(void) +{ + LF_A=1; + LF_B=0; + LB_A=1; + LB_B=0; + + RF_A=1; + RF_B=0; + RB_A=1; + RB_B=0; +} + +/******************************************************************************* +* 函 数 名 : Motor_Back() +* 函数功能 : 小车后退函数 +*******************************************************************************/ +void Motor_Back(void) +{ + LF_A=0; + LF_B=1; + LB_A=0; + LB_B=1; + + RF_A=0; + RF_B=1; + RB_A=0; + RB_B=1; +} + +/******************************************************************************* +* 函 数 名 : Motor_Left() +* 函数功能 : 小车左转函数 +*******************************************************************************/ +void Motor_Left(void) +{ + LF_A=0; + LF_B=1; + LB_A=0; + LB_B=1; + + RF_A=1; + RF_B=0; + RB_A=1; + RB_B=0; +} + +/******************************************************************************* +* 函 数 名 : Motor_Right() +* 函数功能 : 小车右转函数 +*******************************************************************************/ +void Motor_Right(void) +{ + LF_A=1; + LF_B=0; + LB_A=1; + LB_B=0; + + RF_A=0; + RF_B=1; + RB_A=0; + RB_B=1; +} diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.h" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.h" new file mode 100644 index 0000000000000000000000000000000000000000..df6d7eedfa612e61ced5d09e9c4edd770c285d35 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/Motor.h" @@ -0,0 +1,12 @@ +#ifndef __MOTOR_H_ +#define __MOTOR_H_ + +#include "STC89C5xRC_RDP.h" + +void Motor_Stop(void); +void Motor_Forward(void); +void Motor_Back(void); +void Motor_Left(void); +void Motor_Right(void); + +#endif \ No newline at end of file diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.c" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.c" new file mode 100644 index 0000000000000000000000000000000000000000..c5828f3ec88dd9623786ba45d7ed8d3f0f91261b --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.c" @@ -0,0 +1,130 @@ +//微信公众号:物联网零妖 +//PWM输出设置 Timer0 输出2kHZ的波形,占空比 0~100% 可调 +#include + + +#define LF_A_IO P02//左前电机A +#define LF_B_IO P03//左前电机B +#define LB_A_IO P01//左后电机A +#define LB_B_IO P00//左后电机B + +#define RF_A_IO P05//右前电机A +#define RF_B_IO P04//右前电机B +#define RB_A_IO P06//右后电机A +#define RB_B_IO P07//右后电机B + +extern unsigned char LF_A,LF_B,LB_A,LB_B,RF_A,RF_B,RB_A,RB_B; +static unsigned int PWM_H=0,PWM_L=0;//高电平时间和低电平时间 +static unsigned char PWM_IO_1=0; +//初始化PWM定时器 +void PWM_Init(void) +{ + PWM_H = 0; + PWM_L = 0; + + //定时器0设置 + TMOD |= 0x01;//设置定时器模式 + TL0 = 0;//设置定时初值 + TH0 = 0;//设置定时初值 + TF0 = 0;//清除TF0标志 + ET0 = 1;//使能定时器中断 + + LF_A_IO=0; + LF_B_IO=0; + LB_A_IO=0; + LB_B_IO=0; + RF_A_IO=0; + RF_B_IO=0; + RB_A_IO=0; + RB_B_IO=0; + + PWM_IO_1=0; + +} +//调整占空比 +void PWM_Set_ZhanKongBi(unsigned char a) +{ + float ZhanKongBi; + ZhanKongBi = 100 - a; + + if(a<2) + { + LF_A_IO=0; + LF_B_IO=0; + LB_A_IO=0; + LB_B_IO=0; + RF_A_IO=0; + RF_B_IO=0; + RB_A_IO=0; + RB_B_IO=0; + PWM_IO_1=0; + TR0 = 0; + } + else if(a>98) + { + LF_A_IO=1; + LF_B_IO=1; + LB_A_IO=1; + LB_B_IO=1; + RF_A_IO=1; + RF_B_IO=1; + RB_A_IO=1; + RB_B_IO=1; + PWM_IO_1=1; + TR0 = 0; + } + else + { + ZhanKongBi = 10000 * ZhanKongBi / 100 ; + PWM_H = 0XFFFF - ZhanKongBi; + PWM_L = 0XFFFF - 10000 + ZhanKongBi; + TR0 = 1; + } +} +void TM0_Isr(void) interrupt 1 +{ + if(PWM_IO_1) + { + LF_A_IO=0; + LF_B_IO=0; + LB_A_IO=0; + LB_B_IO=0; + RF_A_IO=0; + RF_B_IO=0; + RB_A_IO=0; + RB_B_IO=0; + PWM_IO_1=0; + TL0 = PWM_H; + TH0 = PWM_H>>8; + } + else + { + if(LF_A) + LF_A_IO=1; + if(LF_B) + LF_B_IO=1; + if(LB_A) + LB_A_IO=1; + if(LB_B) + LB_B_IO=1; + if(RF_A) + RF_A_IO=1; + if(RF_B) + RF_B_IO=1; + if(RB_A) + RB_A_IO=1; + if(RB_B) + RB_B_IO=1; + PWM_IO_1=1; + TL0 = PWM_L; + TH0 = PWM_L>>8; + } +} +// + + + + + + + diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.h" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.h" new file mode 100644 index 0000000000000000000000000000000000000000..ee934e2b0f6b155496795645e37d710d50bbef0b --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/PWM.h" @@ -0,0 +1,10 @@ +//微信公众号:物联网零妖 +//PWM输出设置 +#ifndef __PWM_H__ +#define __PWM_H__ + +#include "STC89C5xRC_RDP.h" + +void PWM_Init(void); +void PWM_Set_ZhanKongBi(unsigned char a); +#endif \ No newline at end of file diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.c" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.c" new file mode 100644 index 0000000000000000000000000000000000000000..bf10002c0b349f7597345f09381c66cfd96375e9 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.c" @@ -0,0 +1,15 @@ +//微信公众号:物联网零妖 +#include "ProgramLogic.h" +#include "SYS_LOOP.h" +#include "APP.h" +#include "PWM.h" + +void ProgramLogic_Main(void) +{ + PWM_Init(); + PWM_Set_ZhanKongBi(20); + SYS_New_LoopFun(2,APP_Loop); +} + +// + diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.h" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.h" new file mode 100644 index 0000000000000000000000000000000000000000..7d095532762801c5df38703e7c41956690eea09d --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Code_User/ProgramLogic.h" @@ -0,0 +1,8 @@ +//微信公众号:物联网零妖 业务逻辑 +#ifndef __PROGRAMLOGIC_H__ +#define __PROGRAMLOGIC_H__ +#include "STC89C5xRC_RDP.h" + +void ProgramLogic_Main(void); + +#endif \ No newline at end of file diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/APP.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/APP.obj" new file mode 100644 index 0000000000000000000000000000000000000000..f12b7a3da4ded09b688917fccfb7898b947341fa Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/APP.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/Motor.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/Motor.obj" new file mode 100644 index 0000000000000000000000000000000000000000..10ca14d3db60aaf1f6d6bd335ba9da6ef8f6ec7c Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/Motor.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/PWM.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/PWM.obj" new file mode 100644 index 0000000000000000000000000000000000000000..ca3a8988f4a52b166d5802dbbc5702fbd9f9abc0 Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/PWM.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/ProgramLogic.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/ProgramLogic.obj" new file mode 100644 index 0000000000000000000000000000000000000000..5d3f5e6b0bada092abbc0a28ae497735c6c81855 Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/ProgramLogic.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC" new file mode 100644 index 0000000000000000000000000000000000000000..daaf5080923fd095c044d1212e1ec92bd2e437cf Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.build_log.htm" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.build_log.htm" new file mode 100644 index 0000000000000000000000000000000000000000..84ca933a9e904151173112776cb478e52895b2ab --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.build_log.htm" @@ -0,0 +1,43 @@ + + +
+

礦ision Build Log

+

Tool Versions:

+IDE-Version: μVision V5.25.2.0 +Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: asd ad, ads, LIC=Y2KQD-8KW7P-B5ETQ-NM2M2-Z0PQC-WLNJD + +Tool Versions: +Toolchain: MDK51 Professional Version: 9.57.0.0 +Toolchain Path: D:\Keil\C51\BIN +C Compiler: C51.exe V9.57.0.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: BL51.exe V6.22.2.0 +Library Manager: LIB51.exe V4.30.1.0 +Hex Converter: OH51.exe V2.7.0.0 +CPU DLL: S8051.DLL V3.113.0.0 +Dialog DLL: DP51.DLL V2.64.0.0 +

Project:

+C:\Users\LingYao\Desktop\51单片机-智能小车例程\7-避障实验\uVision Project\STC89C52RC.uvproj +Project File Date: 09/02/2021 + +

Output:

+Rebuild target 'STC89C52RC' +compiling ProgramLogic.c... +compiling APP.c... +compiling Motor.c... +compiling PWM.c... +compiling main.c... +compiling SYS_LOOP.c... +linking... +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?MOTOR_RIGHT?MOTOR +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_SYS_DEL_LOOPFUN?SYS_LOOP +Program Size: data=50.0 xdata=0 code=2024 +creating hex file from "..\Object\STC89C52RC"... +"..\Object\STC89C52RC" - 0 Error(s), 2 Warning(s). +Build Time Elapsed: 00:00:02 +
+ + diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.hex" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.hex" new file mode 100644 index 0000000000000000000000000000000000000000..fdb18155a774d5de256b5204a233284dde35fd10 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.hex" @@ -0,0 +1,155 @@ +:1007CD001207077F1412038F7BFF7A0479C87F020B +:0507DD007E0002067A17 +:07075F00012B00022C000039 +:1004C80020A3047F0180027F0020A6047E01800211 +:1004D8007E00EE4FFFE52B70047E0180027E00EE69 +:1004E8005F6008752B01E4F52CF52D052DE52D70C1 +:1004F80002052CE52B604F24FE601E146032240296 +:1005080070471207E2D3E52D9432E52C9400403968 +:10051800E4F52CF52D752B022212078BD3E52D94CB +:1005280064E52C94004022E4F52CF52D752B03226C +:100538001207A1D3E52D94C8E52C9400400BE4F5EF +:090548002CF52DF52B221207758C +:010551002287 +:1007E200E4F51BF51CF519F51AF51FF520F51DF5B5 +:0207F2001E22C5 +:10077500751B01E4F51C751901F51A751F01F520A6 +:06078500751D01F51E22A6 +:10078B00E4F51B751C01F519751A01F51F75200190 +:06079B00F51D751E012290 +:1007A100E4F51B751C01F519751A01751F01F5207A +:0607B100751D01F51E227A +:1007B700751B01E4F51C751901F51AF51F75200164 +:0607C700F51D751E012264 +:0B07660002220000022400000121001C +:10070700E4F522F523F524F525438901F58AF58CCF +:10071700C28DD2A9C282C283C281C280C285C2846D +:07072700C286C287F5212202 +:02038F008F26B7 +:10039100C374649FFDE49400FCE41202C18F2A8EB1 +:1003A100298D288C27E526C394025016C282C28368 +:1003B100C281C280C285C284C286C287E4F521C2DD +:1003C1008C22E526D394624016D282D283D281D286 +:1003D10080D285D284D286D287752101C28C227FB8 +:1003E100007E407D1C7C46AB2AAA29A928A8271299 +:1003F1000116E4FBFA79C8784212021F8F2A8E296E +:100401008D288C27AB2AAA29A928A8277F007EFF3F +:100411007D7F7C471200211202FA8E228F237F00FA +:100421007EEF7D587C47AB2AAA29A928A82712006C +:0A043100251202FA8E248F25D28CCA +:01043B00229E +:03000B0002061BCF +:10061B00C0E0E521601CC282C283C281C280C28558 +:10062B00C284C286C28775210085238AE522F58C98 +:10063B00803AE51B6002D282E51C6002D283E51989 +:10064B006002D281E51A6002D280E51F6002D2857A +:10065B00E5206002D284E51D6002D286E51E6002B1 +:0F066B00D28775210185258AE524F58CD0E032F0 +:03001B000206C614 +:1006C600C0E0C0F0C083C082C0D075D000C000C0FA +:1006D60001C002C003C004C005C006C007758B6612 +:1006E600758DFC12000ED007D006D005D004D003BD +:1006F600D002D001D000D0D0D082D083D0F0D0E0CC +:0107060032C0 +:10072E00758910758B66758DFCC28FD2ABD28ED249 +:0A073E00AF1207481207CD020003B6 +:030771000118006C +:06067A008B268A27892867 +:10068000E4FD74082DF8E670367601ED25E02410BF +:10069000F8E4F608F6AA27A928ED75F003A4240AC1 +:1006A000F8A62608A60208A601EF24FFFFEE34FFF5 +:1006B000FEED25E02414F8A60608A6077F01220D0A +:0506C000BD02BF7F0038 +:0106C5002212 +:0605BA008B2E8A2F893010 +:1005C000E4FFEF75F003A4240AF8860308E6FA08AE +:1005D000E6F9E52E852F838530826B7008E9658208 +:1005E0007003EA6583702D74082FF8E4F6EF25E0B8 +:1005F0002410F8E4F608F6EF75F003A4240AF87660 +:1006000000087600087600EF25E02414F8E4F608E8 +:0A061000F67F01220FBF02AA7F004F +:01061A0022BD +:10055200E4F526F527E518605EE4F518F52674083B +:100562002526F8E66048E52625E02410F80806E688 +:1005720018700106E52625E02414F8E6FE08E6FFD9 +:10058200E52625E02410F8E6FC08E6D39FEC9E4021 +:100592001DE52625E02410F8E4F608F6E52675F0B8 +:1005A20003A4240AF808E6FA08E6F91203890526E4 +:0705B200E526C3940240A7F7 +:0105B900221F +:10074800E4FF74082FF8E4F6EF25E02410F8E4F647 +:0607580008F60FBF02ECE1 +:01075E002278 +:0500030012055280FB14 +:04000E00751801223E +:10001E00020366E86480F8E933E83360110460F0A7 +:10002E00ED33EC337009E8FCE9FDEAFEEBFF220448 +:10003E0060DED3EB9FEA9EE99DE8C2E78CF0C2F743 +:10004E0095F0400CE8CCF8E9CDF9EACEFAEBCFFB0F +:10005E0012033185D0F05804700320D5B3E8047034 +:10006E00075002B2D502037092D5EC0460F7E4CCCF +:10007E00C0E0C398F8603B94186008400DD0E0FBD8 +:10008E00020348E4FBFAC9FC8028E830E406E4C920 +:10009E00FBE4CAFCE830E305E4C9CACBFCE854072C +:1000AE006010F8C3E913F9EA13FAEB13FBEC13FC37 +:1000BE00D8F130F52FC3E49CFCEF9BFFEE9AFEEDDA +:1000CE0099FDD0E0FBEF4E4D4C701222DB03020384 +:1000DE006DEC2CFCEF33FFEE33FEED33FDED30E730 +:1000EE00EB020348EF2BFFEE3AFEED39FDD0E0FBBD +:1000FE0050130BBB0003020370ED13FDEE13FEEF66 +:08010E0013FFEC13FC0203488F +:10011600EC4D6011E8497017ED33EC3304600DE4E3 +:10012600FCFFFEFD22E933E8330470F80203661291 +:10013600033158046009E4CC248150062850090292 +:10014600037028400302036DC0E0EB4A7044B98097 +:1001560006D0E0FB02035CEF4E701CBD8008EBFF8F +:10016600EAFEE9FD80EBE98DF0A4FEE5F00201FF71 +:10017600E9CDF9EAFEEBFFEF89F0A4FCE5F0CE89C4 +:10018600F0A42EFFE435F0CD89F0A42DFEE435F081 +:100196008067EF4E7005BD80D780C3EF8BF0A4ACAF +:1001A600F0EE8BF0A42CFCE435F0F8EF8AF0A42CEA +:1001B600E5F038FCE433CB8DF0A42CFCE5F03BF8FD +:1001C600EE8AF0A42CFCE5F038F8E433CF89F0A4ED +:1001D6002CFCE5F038CF3400CE89F0A42FFFE5F0F3 +:1001E6003EFEE433C98DF0A42EFEE5F039CD8AF04B +:1001F600A42FFFE5F03EFEE43DFD33D0E0FB5007C3 +:100206000BBB000F020370EC2CFCEF33FFEE33FE4A +:06021600ED33FD02034878 +:10021C00020370EC5D046005E85904700302036688 +:10022C00120331580460F6EC4860F2EC7004FDFEE9 +:10023C00FF22C860DB2481C85009C39860025006B5 +:10024C0002036D9850CAF582E9294B4A7005AB82BE +:10025C0002035C75F0007C1A7880C3EF9BEE9AED7C +:10026C0099400DC3EF9BFFEE9AFEED99FDE842F02D +:10027C00DC23ACF0D0E0FFD0E0FED0E0FDAB822080 +:10028C00E7101BEB60BAEC2CFCEF33FFEE33FEED0A +:10029C0033FD020348E803F830E705C0F075F000C1 +:1002AC00EF2FFFEE33FEED33FD40B830E7C280AAEE +:1002BC0075F020800E75F010800575F0087D007EBD +:1002CC00007F003392D530D50312037BEC33401002 +:1002DC00EF33FFEE33FEED33FDEC33FCD5F0ED22C6 +:0E02EC00E5F0247EA2D513CC92E7CDCEFF2202 +:1002FA00EDD2E7CD33EC3392D524814006E4FFFEFC +:10030A00FDFC22FCE4CFCECDCC24E0501174FF805A +:10031A00EDC3CC13CCCD13CDCE13CECF13CF0470F7 +:07032A00F030D5DE02037B79 +:10033100E9D2E7C933E833F892D5EDD2E7CD33EC12 +:0703410033FC5002B2D5228B +:10034800EC30E7100FBF000C0EBE00080DBD000416 +:100358000BEB6014A2D5EB13FCED92E7FD2274FFC2 +:10036800FCFDFEFF22E480F8A2D574FF13FC7D801B +:03037800E480EF2F +:0300000002043CBB +:0C043C00787FE4F6D8FD7581300204835F +:0E037B00C3E49FFFE49EFEE49DFDE49CFC2293 +:060389008A838982E473FF +:1004480002072EE493A3F8E493A34003F68001F295 +:1004580008DFF48029E493A3F85407240CC8C333B5 +:10046800C4540F4420C8834004F456800146F6DF84 +:10047800E4800B010204081020408090075FE47EAE +:10048800019360BCA3FF543F30E509541FFEE49379 +:10049800A360010ECF54C025E060A840B8E493A340 +:1004A800FAE493A3F8E493A3C8C582C8CAC583CA6B +:1004B800F0A3C8C582C8CAC583CADFE9DEE780BE23 +:010774000084 +:00000001FF diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.lnp" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.lnp" new file mode 100644 index 0000000000000000000000000000000000000000..9f176dfd4190b29ba42d15063e416b03b1209944 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/STC89C52RC.lnp" @@ -0,0 +1,8 @@ +"..\Object\ProgramLogic.obj", +"..\Object\APP.obj", +"..\Object\Motor.obj", +"..\Object\PWM.obj", +"..\Object\main.obj", +"..\Object\SYS_LOOP.obj" +TO "..\Object\STC89C52RC" +PRINT(".\Listings\STC89C52RC.m51") RAMSIZE(256) diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/SYS_LOOP.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/SYS_LOOP.obj" new file mode 100644 index 0000000000000000000000000000000000000000..2a0a62d19179262b24e60d2341d74c50febdb0b6 Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/SYS_LOOP.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/main.obj" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/main.obj" new file mode 100644 index 0000000000000000000000000000000000000000..1a3460faf6ec1f73b7299388ded0106488c26730 Binary files /dev/null and "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/Object/main.obj" differ diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/System/main.c" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/System/main.c" new file mode 100644 index 0000000000000000000000000000000000000000..e4e489f6cb82dcbc74c7832f8d4adf4f592e0940 --- /dev/null +++ "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/System/main.c" @@ -0,0 +1,25 @@ +#include "STC89C5xRC_RDP.h" +#include "SYS_LOOP.h" +#include "ProgramLogic.h" + +void Tim1_Isr(void) interrupt 3 +{ + TL1 = 0x66;//设置定时初值 + TH1 = 0xFC;//设置定时初值 + SYS_TimerInterrupt_App(); +} +void main(void) +{ + + TMOD = 0x10;//设置定时器模式 + TL1 = 0x66;//设置定时初值 + TH1 = 0xFC;//设置定时初值 + TF1 = 0;//清除TF1标志 + ET1 = 1; + TR1 = 1;//定时器1开始计时 + EA=1; + SYS_LOOP_Init(); + ProgramLogic_Main();//先执行业务逻辑 + + SYS_LOOP_While_APP();//循环执行系统调度器 +} \ No newline at end of file diff --git "a/6-\351\201\277\351\232\234\345\256\236\351\252\214/\344\276\213\347\250\213\350\257\264\346\230\216.txt" "b/6-\351\201\277\351\232\234\345\256\236\351\252\214/\344\276\213\347\250\213\350\257\264\346\230\216.txt" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391