
1. (论述题, 100.0 分)步进电机: 1号电机正转40步(速度:每秒10步)震动:震动后蜂鸣器发出2次“叮咚”声(叮1.2KHz咚500Hz)。#include STC15F2K60S2.H #include sys.H #include StepMotor.h code unsigned long SysClock 11059200UL; // 系统时钟必须与下载频率一致 void main(void) { StepMotorInit(); MySTC_Init(); SetStepMotor(enumStepMotor1, 10, 40); while (1) { MySTC_OS(); } }#include STC15F2K60S2.H #include sys.H #include Beep.h #include Vib.h code unsigned long SysClock 11059200UL; // 系统时钟必须与下载频率一致 unsigned char sound_count 0; void vib_callback(void) { if (GetVibAct() enumVibQuake) { sound_count 4; } } // 每100ms检查一次蜂鸣器空闲时发出序列中的下一个音非阻塞 void timer_100ms_callback(void) { if (sound_count 0 GetBeepStatus() enumBeepFree) { if (sound_count % 2 0) SetBeep(1200, 30); else SetBeep(500, 30); sound_count--; } } void main(void) { BeepInit(); VibInit(); SetEventCallBack(enumEventVib, vib_callback); SetEventCallBack(enumEventSys100mS, timer_100ms_callback); MySTC_Init(); while (1) { MySTC_OS(); } }