历史上的今天
返回首页

历史上的今天

今天是:2024年10月23日(星期三)

正在发生

2019年10月23日 | 用proteus8.0仿真51单片机控制步进电机实验报告与源码

2019-10-23 来源:51hei

用proteus8.0仿真51单片机控制步进电机,实现简单的正反转、加减速控制。
ps. 该贴仅为获取黑币而法,如有雷同,多多保函
实验内容

  • 掌握KeilC51软件与Protues软件联合仿真调试的方法;

  • 掌握步进电机的工作原理及控制方法;

  • 掌握步进电机控制的不同编程方法。

电路图


实验心得

    这次实验让我学到了通过改变延时函数的参数可以实现步进电机的增减速,改变驱动电机的数模可以实现电机的正反转,中途遇到的困难不少,但在老师的指导下总算是完成任务。这两次实验使我能更熟练地运用微机来控制其他器件,获益良多。


单片机源程序如下:

#include

sbit KEY0=P0^0;

sbit KEY1=P0^1;

sbit KEY2=P0^2;

sbit KEY3=P0^3;

sbit KEY4=P0^4;

unsigned char a[]={0x01,0x02,0x04,0x08};

unsigned char b[]={0x08,0x04,0x02,0x01};

unsigned char c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};


unsigned char i,s=0,f=0;

unsigned char k=200;

unsigned char l=4;

void delay(unsigned int t)

{

        unsigned char j,b;

b=t;

        while(b--)

        {

                for (j=0;j<125;j++);

        }

}

void key()

{P0=0x1f;

        if(P0!=0x1f)

        {delay(30);

                if(P0!=0x1f)

                {delay(30);

        if(KEY0==0)

        {s=1;}

        if(KEY1==0)

        {f=1;}

        if(KEY4==0)

        {s=0;

                f=0;}

        if(KEY2==0)

                {if(l>1)

                 l--;}

        if(KEY3==0)

          {if(l<7)

     l++;}

         }}

         }

void speed()

         {switch(l)

                        {case 7:k=50;P1=c[l];break;

                                case 6:k=100;P1=c[l];break;

                                case 5:k=150;P1=c[l];break;

                                case 4:k=200;P1=c[l];break;

                                case 3:k=250;P1=c[l];break;

                                case 2:k=300;P1=c[l];break;

                                case 1:k=350;P1=c[l];break;}

                        }

void main()

{

        while(1)

        {key();

        while(s>0)

        {speed();

                        for(i=0;i<4;i++)

                                {

                                        P2=b[i];

                                        delay(k);

                                        key();

                                }

                                delay(100);

                                key();

                }

        

        while(f>0)

        {speed();

                        for(i=0;i<4;i++)

                                {

                                        P2=a[i];

                                        delay(k);

                                        key();

                                }

                                delay(100);

                                key();

                }

        }

        }


推荐阅读

史海拾趣

AMOTECH(阿莫泰克)公司的发展小趣事

1994年,AMOTECH在韩国创立,凭借创始人的远见卓识和技术团队的扎实能力,公司迅速在电子行业中崭露头角。经过两年的努力,1996年,AMOTECH被政府通讯部评为“光明前途企业”,这是对其技术实力和市场潜力的肯定。随后,公司不断加大研发投入,终于在2000年获得ISO9000认证,这标志着AMOTECH在产品质量管理上达到了国际标准。

ACCUTEK公司的发展小趣事

在发展过程中,ACCUTEK公司始终注重品牌建设和品质提升。公司投入大量资源用于品牌推广和市场宣传,提高了品牌知名度和美誉度。同时,公司还建立了严格的质量管理体系和售后服务体系,确保每一台出厂的设备都能达到客户的要求和期望。这些举措有效地提升了公司的市场竞争力,赢得了更多客户的信任和支持。

Elekon Industries公司的发展小趣事

在快速发展的同时,Elekon也积极履行社会责任。公司注重环保和可持续发展,积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Elekon还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了Elekon的社会责任感,也为公司的长期发展奠定了坚实的基础。

请注意,以上故事均为虚构,旨在为您提供关于Elekon Industries公司发展起来的相关故事。如有需要,请参考公司官方发布的信息或相关新闻报道。

Devar Inc公司的发展小趣事

随着环保意识的提高,Devar Inc公司也积极投身环保科技领域。公司研发了一系列环保型电子产品和解决方案,如可降解材料制成的电子产品外壳、节能型电源管理系统等。同时,Devar还积极参与电子废弃物的回收和处理工作,推动循环经济的发展。这些努力不仅有助于减少环境污染和资源浪费,也提升了公司的社会责任感和品牌形象。

Axiomtek公司的发展小趣事

智能家居是电子行业的一个重要发展方向,Devar Inc公司也积极拓展这一领域。公司推出了一系列智能家居产品,如智能音箱、智能照明、智能安防等。这些产品不仅具备远程控制、语音控制等便捷功能,还通过Devar的AI技术实现了智能学习和智能联动。例如,智能音箱可以根据用户的习惯和喜好,为用户推荐音乐、新闻等内容;智能照明则可以根据环境光线和用户需求自动调节亮度和色温。

Digital Equipment Corp公司的发展小趣事

2001年,惠普公司与康柏公司宣布合并,DEC作为康柏的一部分也随之并入惠普。这次合并进一步扩大了DEC的业务范围和市场影响力。在合并后,DEC的计算机产品和技术被整合到惠普的产品线中,同时DEC的品牌也逐渐淡出市场。然而,DEC在计算机行业中的贡献和影响力仍然被广泛认可,其技术遗产和创新精神在惠普及其他科技公司中得到了传承和发展。

问答坊 | AI 解惑

有没有哪位朋友做过关于PT100前端放大的?

我想做一个关于PT100放大的电路,然后用于温度转换,后级单片机处理已经做好了,不知道前级如何做?只要能输出一个线性的0-5V电压或者相关电压都可以了。 有做过的朋友发个图参考一下好吗?多谢了。 89c51cj@163.com…

查看全部问答>

将protel中原理图导出为pdf或图片的方法

在网上找到的好东东,适用于protel初学者,比如我,呵呵,与大家共享~…

查看全部问答>

练练手 来个篮球计时计分器 有程序的

本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 做好了下学期得奖后大家就可以拿这个去打球了  …

查看全部问答>

中断里面为什么不能用printf 啊

中断里面为什么不能用printf 啊…

查看全部问答>

求助,学嵌入式应该,应该没什么路线学习?

求助,学嵌入式应该,应该没什么路线学习?…

查看全部问答>

没有操作系统时,软件是怎么运行的

软件一开始时是放在哪里的,怎么在无操作系统的情况下进入cpu执行的?…

查看全部问答>

关于PICC与中文汉字显示不兼容问题

哪位大侠碰到过PICC不兼容中文的情况? 之前用PICC16程序没问题,后来换了18系列的芯片,用UNIVERSAL TOOLSUITE PICC就出现问题了,PICC版本是9.63,MPLAB V8.40,错误提示是:illegal character (0xC9)。其实不换18的芯片,用UNIVERSAL TOOLSUITE P ...…

查看全部问答>

spce061a

第一次来这个板块,因为马上要用到spce061a工作,可是之前又没有涉及到硬件方面,不知道怎么搞呢,先来报道,有spce061a这方面的资料,还希望一起分享…

查看全部问答>

Coyote,Wolf v1.2,Wolf v1.4,Phoenix这几种platform有什么具体的区别吗??

在看文档时发现什么有这样的定义:Edit file \\PLATFORM\\SMDK2440A\\smdk2440a.bat to select the target platform you are working on, setting the variables according with the following table: Platform Settings Coyote    & ...…

查看全部问答>

黑龙江省电子大赛资料

本帖最后由 paulhyde 于 2014-9-15 09:40 编辑 参加省赛和国赛的一些题目也不知道论坛里有没有  …

查看全部问答>