基于Proteus的51系列单片机设计与仿真

源代码在线查看: 直流电机调速控制.c

软件大小: 4176 K
上传用户: wendaoysh
关键词: Proteus 51系列 单片机设计 仿真
下载地址: 免注册下载 普通下载 VIP

相关代码

				/***********************************************************************
				    直流电机转速控制,按下K1键,电机加速转动,按下K2键,电机减速转动						 
				************************************************************************/
				#include"reg51.h"
				#define uint unsigned int
				#define uchar unsigned char
				sbit P2_1=P2^1;  //定义位变量
				long a=355;
				bit flag=1;
				void  int0() interrupt 0        //  使占空比加大
				{
					a+=3000;
					if(a>=65535)
					a=65534;
				}
				void  int1() interrupt 2       // 使占空比减小
				{
					a-=3000;
					if(a					a=0;
				}
				void time0_server_(void) interrupt 1
				{  
					if(flag==1)
					{
				    	P2_1=0;
						TH0=65535-((65535-a)/256);      
				    	TL0=65535-((65535-a)%256);
					}
				    if(flag==0)
					{
						P2_1=1;
				    	TH0=(65535-a)/256;      
				    	TL0=(65535-a)%256;
					}
				   flag=~flag;	
				}
				void Init_t0(void)    //初始化
				{
				      TMOD=0X01;     //选择方式1
					  TH0=(65535-a)/256;     
				      TL0=(65535-a)%256;
					  ET0=1;
				      TR0=1;
				      EX0=1;         //打开外部中断0
					  IT0=1;         //下降沿触发中断INT0 
				      EX1=1;         //打开外部中断1
					  IT1=1;         //下降沿触发中断INT1 
				      EA=1;
				}
				void main(void)
				{     
					P2_1=1;
					Init_t0();    //初始化
					while(1);       
				}			

相关资源