步进电机+数码管显示_第1页
步进电机+数码管显示_第2页
步进电机+数码管显示_第3页
步进电机+数码管显示_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/*河南工业大学电气工程学院测控1001刘欣如有错误欢迎致电hellohaut共同学习 共同进步*/*步进电机的驱动*程序名称: 按键控制电机正反转,数码管动感显示正反转说明:使用本程序你必须把 SE5设置为ON(2-3)短接;FOSC = 12MHz;-; 步进电机的驱动信号必须为脉冲信号! 转动的速度和脉冲的频率成正比! ; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!;-; A组线圈对应 P1.4; B组线圈对应 P1.5; C组线圈对应 P1.6; D组线圈对应 P1.7; 正转次序: AB组-BC组-CD组-DA组 (即一个脉冲,正转5.625度)

2、;-*/*头文件*/#include #include #define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()/*端口定义*/#define sled_dm_port P0 /*定义LED显示的段码数据脚*/#define sled_wm_port P2 /*定义LED显示的位码数据脚*/#define motor P1 /*步进电机接口*/sbit P33 = P34; /*控制正转按键*/sbit P34 = P11; /*控制电机停止*/sbit P10 = P33; /*控制电机反转*/uch

3、ar code table1=0x3f,0x6f,0xcf,0x9f; /*正转表*/uchar code table2=0x3f,0x9f,0xcf,0x6f; /*反转表*/*定义数码管显示字符跟数字的对应数组关系*/uchar code mun_to_char=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */*定义需要点亮的数码管*/uchar code sled_bit_table=0x7f,0xbf,

4、0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar data sled_data8=0xff,0xc0,0xc0,0xff,0xff,0xc0,0xc0,0xff; /*0-7号SLED缓冲值*/uchar data led_lighten_bit=0 ; /*LED灯点亮标志位0-7*/uchar code SLED_TABLE= /*数码管动感显示*/0xff,0xff,0xce,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xde,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfc,0

5、xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf0,0xff,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf1,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf7,0xf3,0xff,0xff,0xff,0xff,0xe7,0xf7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xc7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xff,0

6、xc6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xf6,0xf6,0xf0,0xff,0xff,;/*-显示部分程序,采用定时器0产生中断,1MS更新一次-*/void SLED_Disp() interrupt 1 using 3TH0 = (65536-1000)/256;TL0 = (65536-1000)/256;sled_wm_port = 0xff; /*关闭显示*/sled_dm_port = sled_dataled_lighten_bit; /*输出段码数

7、据到数码管*/sled_wm_port = sled_bit_tableled_lighten_bit; /*输出位码数据到数码管*/ led_lighten_bit+;if(led_lighten_bit=8) led_lighten_bit=0; /*8位数码管全动态输出*/ void T0_valueSet() /*定义中断方式,中断时间*/TMOD = 0x01; /*定时0,工作在方式1*/TH0 = (65536-1000)/256;TL0 = (65536-1000)/256;TR0 = 1; /*启动计数*/EA = 1; /*开总中断*/ET0 = 1; /*开定时器0中断*

8、/return;/*1MS为单位的延时程序*/void delay_1ms(uchar x)uchar j;while(x-) for(j=0;j=10) temp1 = 0; temp0+; if(temp011) temp0 = 0; /*显示完成一个周期*/ else if(yunzhuang=2) motor = table2count; /*电机反转*/ temp1+; if(temp110) temp1 = 0; temp0-; if(temp011) temp0 = 11; /*显示完成一个周期*/ count+; if(count=4) count=0; delay_1ms(10); for(i=0;i8;i+) sled_datai = SLED_TABLEtemp0*8+i; /*刷新显示*/ if(P33=0) delay_1ms(1); if(P33=0) yun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论