#include #define Stop 0 //宏定义,停止 #define Left 1 //宏定义,左转 #define Right 2 //宏定义,右转 sbit ControlPort = P1^0; //舵机信号端口 sbit KeyLeft = P1^1; //左转按键端口 sbit KeyRight = P1^2; //右转按键端口 sbit KeyStop = P1^3; //归位按键端口 unsigned char TimeOutCounter = 0,LeftOrRight = 0; //TimeOutCounter:定时器溢出计数 LeftOrRight:舵机左右旋转标志 void InitialTimer ( void ) { TMOD=0x10; //定时/计数器1工作于方式1 TH1 = ( 65535 - 500 ) / 256; //0.25ms TL1 = ( 65535 - 500 ) % 256; EA=1; //开总中断 ET1=1; //允许定时/计数器1 中断 TR1=1; //启动定时/计数器1 中断 } void ControlLeftOrRight ( void ) //控制舵机函数 { if( KeyStop == 0 ) { while ( !KeyStop ); //使标志等于Stop(0),在中断函数中将用到 LeftOrRight = Stop; } if( KeyLeft == 0 ) { while ( !KeyLeft ); //使标志等于Left(1),在中断函数中将用到 LeftOrRight = Left; } if( KeyRight == 0 ) { while ( !KeyRight ); //使标志等于Right(2),在中断函数中将用到 LeftOrRight = Right; } } void main ( void ) //主函数 { InitialTimer(); for(;;) { ControlLeftOrRight(); } } void Timer1 ( void ) interrupt 3 //定时器中断函数 { TH1 = ( 65535 - 500 ) / 256; TL1 = ( 65535 - 500 ) % 256; TimeOutCounter ++; switch ( LeftOrRight ) { case 0 : //为0时,舵机归位,脉宽1.5ms { if( TimeOutCounter <= 6 ) { ControlPort = 1; } else { ControlPort = 0; } break; } case 1 : //为1时,舵机左转,脉宽1ms(理论值),实际可以调试得出 { if( TimeOutCounter <= 2 ) { ControlPort = 1; } else { ControlPort = 0; } break; } case 2 : //为2时,舵机右转,脉宽2ms(理论值),实际可以调试得出 { if( TimeOutCounter <= 10 ) { ControlPort = 1; } else { ControlPort = 0; } break; } default : break; } if( TimeOutCounter == 80 ) //周期20ms(理论值),比较可靠,最好不要修改 { TimeOutCounter = 0; } }
上一篇:单片机国旗自动升降系统仿真及程序
下一篇:51单片机+74HC138驱动16*96点阵显示汉字的Proteus仿真+源代码
推荐阅读
史海拾趣
关于电源反馈控制电路,网友们可能会提出多种问题,这些问题涵盖了其工作原理、设计、应用、故障排查及优化等方面。以下是一些常见问题及其简要回答:
-
问题:什么是电源反馈控制电路,它的主要作用是什么?
回答:电源反馈控制电路是一种通过监测电源输出电压或电流,并将其与设定值进行比较,然后调整电源输出以维持设定值的电路。它的主要作用是确保电源输出的稳定性和准确性,无论负载如何变化,都能保持输出电压或电流在预定范围内。 -
问题:电源反馈控制电路有哪些常见的拓扑结构?
回答:常见的电源反馈控制电路拓扑包括电压模式控制(Voltage Mode Control, VMC)和电流模式控制(Current Mode Control, CMC)。电压模式控制主要关注输出电压的稳定性,而电流模式控制则在电压控制的基础上增加了对输出电流的直接控制,以提高瞬态响应和稳定性。 -
问题:如何设计有效的电源反馈控制电路?
回答:设计有效的电源反馈控制电路需要考虑多个因素,包括选择合适的反馈元件(如电阻、电容、电感)、放大器类型(运算放大器、比较器等)、补偿网络设计(以改善稳定性和响应速度)、以及选择合适的控制策略(如PID控制)。此外,还需要进行仿真和实验验证,以确保设计的电路能够满足性能指标。 -
问题:电源反馈控制电路中遇到稳定性问题时应该如何解决?
回答:遇到稳定性问题时,首先需要检查反馈回路中的元件是否匹配良好,特别是补偿网络的设计是否合理。可以通过调整补偿网络的参数(如增加相位裕度)来改善稳定性。此外,检查控制策略是否适合当前的应用场景,必要时可以更换控制策略或调整控制参数。 -
问题:电源反馈控制电路中的噪声问题如何解决?
回答:噪声问题通常来源于电源本身、外部环境或电路内部元件。解决噪声问题的方法包括使用低噪声的电源元件、增加滤波电路(如LC滤波器)、优化PCB布局以减少电磁干扰、以及采用差分放大器等噪声抑制技术。 -
问题:电源反馈控制电路在哪些领域有广泛应用?
回答:电源反馈控制电路在电子设备的各个领域都有广泛应用,包括但不限于计算机电源、通信设备、工业控制、汽车电子、医疗设备、LED照明等。这些领域对电源的稳定性和效率要求很高,因此电源反馈控制电路成为不可或缺的一部分。
经过数月的紧张研发与测试,川土微电子成功推出了其首款自研产品——一款高性能的隔离器芯片。这款芯片的问世不仅填补了国内市场的空白,也标志着川土微电子在模拟芯片领域的初步成功。随后,公司开始逐步扩大产品线,涵盖了接口、高性能模拟等多个系列。
2018年,君耀正式加入国巨集团,成为其旗下的一员。这一举措使得君耀能够获得国巨集团在资金、技术、市场等多方面的支持,进一步加速了其发展步伐。通过资源整合和优势互补,君耀在半导体器件领域的地位更加稳固,市场竞争力也得到提升。
在发展过程中,长江微电始终坚持自主创新之路。公司注重人才培养和团队建设,积极引进高端人才和先进技术。同时,公司还建立了完善的研发体系和创新机制,鼓励员工发挥创新精神和创造力。通过自主创新,长江微电在电感产品领域取得了多项核心技术和专利成果,为公司的持续发展提供了强大动力。
以上五个故事分别从不同角度展现了长江微电(CJIANG)公司的发展历程和成就。这些故事不仅记录了公司的发展历程和成长轨迹,也彰显了其坚韧不拔、创新求变的精神和追求卓越、服务客户的理念。
随着电子行业的竞争日益激烈,Ambersil公司意识到,要想在市场中立足,必须注重产品质量。公司加大了对生产线的投入,引进了先进的生产设备和技术,严格把控产品质量。同时,公司还建立了完善的售后服务体系,及时解决客户在使用过程中遇到的问题。这些举措使得Ambersil公司的产品在市场上赢得了良好的口碑。
面对物联网行业的快速发展和变化,乐鑫科技始终保持前瞻性的战略眼光。公司积极布局未来市场,加大在人工智能、云计算等领域的研发投入,以满足客户对更智能化、更高效的物联网应用的需求。同时,乐鑫科技还注重培养和引进优秀人才,为公司未来的发展提供有力的人才保障。
请注意,以上内容仅为概述性质的故事框架,具体细节和数据可能需要根据实际情况进行调整和补充。
请大家都来分享一下怎么解决wince实时性问题的方法,看到的请进! 现在实习的公司是做数控产品的,对实时性要求很高。我刚刚在EP9315+wince5.0这个方案上实现了用内部时钟中断来触发执行某些需要周期执行,但又要求有比较高地实时性的一些动作。但是不知道这样做行不行,以及这样会产生一些什么样的问 ...… 查看全部问答∨ |
|
小弟现在要用SD卡存储数据,供单片机(或者是FPGA处理),这些数据是由pc机事先写入的,那单片机如何知道PC将数据写入到哪个地址空间里了呢? 谢谢!… 查看全部问答∨ |
|
请教各位老师,如何利用一个三极管,二极管,电阻,如何搭出一个恒流器电路呢?(恒流什么,试题没写) 因为今天主考官问了这个问题,我画出来的电路是: 难道是我画错了吗? [ 本帖最后由 benny512 于 2013-11-28 16:01 编辑 ]… 查看全部问答∨ |