- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析proteus仿真的转速测量系统
基于Proteus仿真的转速测量系统设计
摘要:利用增量式编码器的信号特征、proteus软件的基本功能,设计以AT89C52单片机为控制中心的编码器转速测量电路,详细分析软件实现的方法,并给出c语言程序,利用Proteus软件进行仿真得到预期的测量结果。
本文便是运用AT89C52单片机控制的智能化转速测量仪。电机在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。本系统基于proteus仿真对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本状况。
本设计主要用AT89C5作为控制核心,LED数码显像管、、详细介绍了PC机与单片机之间的串行通讯。充分发挥了单片机的性能。其优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点#includereg52.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit SIGA=P0^3;//A路信号
sbit SIGB=P0^4;//B路信号
sbit DIREC=P0^5;//方向指示灯
uchar flag,m;
uint pcount,temp,temp1,m1;
uchar code table[18]={0xc0,0xf9,0xb0,0x99,0x92,0x82,0xf8,0x80,
0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf9,0x0c,};
uchar a[4]=0;
uchar *bp;
void init(void)
{
DIREC=1;
pcount=0;
TMOD=0x01;//定时器0方式1
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;//开中断
IT0=1;EX0=1;TR0=1;
}
void tim0(void) interrupt 1 using 1//定时器中断程序
{
TH0=0x3d;
TL0=0xb0;
temp1=pcount-temp;//计算T0的时间内脉冲数
temp=pcount;
flag=1;//设标志
}
void int0(void) interrupt 0 using 0//外部中断程序
{
if(SIGB==1)//B信号为高电平
{DIREC=1;//正向运行
pcount++;
}
else {
DIREC=0;//反向运行
pcount--;
}
}
void delayms(uchar ms)//延时程序
{
uchar i;
while(ms--)
{for(i=0;i20;i++);}
}
void display1(char idata *ap)//显示子程序
{
uchar sel,i;
P2=0;//关显示
sel=0x08;//选最左边led
for(i=0;i4;i++)
{
P1=table[*ap];//送断码
P2=sel;//送位选码
delayms(500);
ap++;
P2=0;
sel=sel1;//右移一位
}
}
void chang(int num)//转换子程序
{
uchar t;
int num1;
t=0;
if(num0)//取绝对值
{num=-num;}
num1=20*num;//转换成每秒脉冲数
for(t=0;t4;t++)
{
a[t]=num1%10;//取余数送数组a
num1=num1/10;//除10
}
}
void main()
{
Init();
do{
if(flag==1)
{
m1=temp1;
chang(m1);
flag=0;}
bp=a[0];
display1(bp);
}
while(1);
}
仿真
在Keil vsion3环境下,新建Keil 项目,选用AT89C52单片机作为工作CPU,新建kcsj.c文件并加载至项目中,在“Option for tonget”中打开“Output”窗口,选择“Creat hex file”选项,工作主频率设定为12MHz。设计程序并进行编译,编译成功后将产生kcsh.hex文件。在proteus中选中AT89C52进行设置,设置单片机工作频率为12MHz,按照正确的路径加载kc
您可能关注的文档
最近下载
- 国家开放大学电大本科《社会政策》2024期末试题及答案(试卷号:1306).pdf VIP
- 涉路施工安全培训教育.pptx
- 2022-2023学年人教版小学数学一年级下册期末试卷 含答案.docx
- 五邑大学2021-2022学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
- 创新工作室活动记录.pdf
- DB37_T 1914—2024 液氨存储与装卸作业安全技术规范.pdf
- 2021国家开放大学电大本科《社会政策》期末试题及答案(试卷号:1306).docx VIP
- GBT 50476-2019 混凝土结构耐久性设计标准规范.pdf
- optics教程.doc
- 最新动态葡萄糖图谱报告临床应用专家共识要点.pdf
文档评论(0)