单片机课程设计--步进电机驱动器-毕业设计内容摘要:

R液晶显示步进电机运行状态,其效果比用数码管显示要更加明了,也更容易读取相关状态和数据。 液晶上显示有电机运行的状态、当前 步数 、运行方向以及其运转速度。 其显示原理如下图 42: 图 42 液晶显示流程图 正反转流程图 步进电机的正反转用 K K2控制,初始化电机为顺时针转,即“》”, 每当按下 K4键,电机转向改变,具体流程图如下图 43: 启动与停止流程图 启动与停止是用 K1键来 控制的,初始化标志位 on_off==0,档按下 K1,即将 on_off置 1,每当按下 k1,都将在启动与停止间切换,具体流程图如下图 44: 图 44 启动与停止流程图 第 4 章 硬件设计 硬件的设计与选取 步进电机的驱动 步进电机的驱动采用 ULN2020,接到单片机的 ~,具体如 图 51: 图 51 步进电机驱动及其接口图 单片机的选取 目前市面上的通用型单片机种类很多,且适合不同应用场合的新产品不断出现,但目前的应用状况,以 8位中档 MCS51系列单片机的应用最为普遍。 基于这次课程设计的要求不高,我们可以选用 51系列或 52系列单片机,其有可靠性高,易于扩展以及实用性好等特点,完全可以满足我们的控制要求。 液晶 LCD1602 显示模块 P0接液晶的数据传送口, ~。 其接线图如下图 53: 图 53 液晶与单片机接口原理图 硬件的总体电路连接 图 55 总体原理图 第 5 章 设计程序 设计程序 include////// // 这个的关键在于 adc0808的接线特别是 0808的输出高地位不要搞错了,一开始搞错了 include include //Keil library include //Keil library define LCD_databus P0 //LCD12864的 8位数据口 define uint unsigned int define uchar unsigned char sbit EN=P2^2。 //down wr high rd sbit RS=P2^0。 //di high dat low sbit RW=P2^1。 //high rd low wr sbit CS2=P2^3。 // sbit CS1=P2^4。 sbit key1=P3^0。 sbit key2=P3^1。 //sbit key3=P3^2。 sbit key3=P3^3。 sbit key4=P3^4。 sbit key5=P3^5。 uchar ii。 uint num=60。 // 1 to 208 uint sudu。 // uint bushu。 // uchar *temp。 uchar flag。 uint shuju。 unsigned char code tabz[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6}。 //正转 unsigned char code tabf[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe}。 //反转 unsigned char code time[][16]={ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0, 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1, 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2, 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3, 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4, 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5, 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6, 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7, 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8, 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9, 0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,/*r,0*/ 0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/*/,0*/ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,/*m,0*/ 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*i,0*/ 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,/*n,0*/ 0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,/*b,0*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,/*z,0*/ 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /* 文字 : : */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =8x16 */ 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, // 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% // 0xE3,0x13,0x08,0x08,0x08,0x08,0x10,0x00,0x07,0x08,0x10,0x10,0x10,0x10,0x08,0x00//C /* 文字 : K */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =8x16 */ 0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,/*f,19*/ }。 uchar code HZ[][32]={ /* 文字 : 卢 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x3F,0x24,0x24,0x24,0x24,0xE4,0x04,0x00,0x00, 0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00, /* 文字 : 超 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x42,0xA2,0x9E,0x82,0xA2,0xC2,0xBE,0x00,0x00, 0x80,0x60,0x1F,0x20,0x7F,0x44,0x44,0x40,0x4F,0x48,0x48,0x48,0x48,0x4F,0x40,0x00, /* 文字 : 望 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x04,0x04,0xFC,0x45,0x46,0x24,0x24,0x04,0x80,0x7E,0x2A,0xAA,0x2A,0xFE,0x00,0x00, 0x80,0x82,0x92,0x92,0x92,0x92,0x92,0xFF,0x92,0x92,0x92,0x92,0x93,0x82,0x80,0x00, 0x00,0xFE,0x00,0xFC,0x00,0xFE,0x02,0xF2,0x12,0x1A,0xD6,0x12,0x12,0xFB,0x12,0x00, 0x40,0x3F,0x00,0x1F,0x00,0x7F,0x80,0x8F,0x40,0x20,0x1F,0x20,0x20,0x4F,0x80,0x00, 0x40,0x42,0x44,0xCC,0x00,0x08,0xE9,0x0A,0x0C,0xF8,0x0C,0x0A,0xE9,0x08,0x00,0x00, 0x00,0x40,0x20,0x1F,0x20,0x40,0x47,0x62,0x52,0x4F,0x42,0x42,0x47,0x60,0x20,0x00, 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10,0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00, 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30,0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00, //欢, 5 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02,0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00, 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41,0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00, 0x40,0x20,0xF8,0x07,0x04,0xF4,0x14,0x14,0x14,0xFF,0x14,0x14,0x14,0xF6,0x04,0x00, 0x00,0x00,0xFF,0x00,0x80,0x43,0x45,0x29,0x19,0x17,0x21,0x21,0x41,0xC3,0x40,0x00, 0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFF,0x02,0x00,0x00, 0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x7F,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00, /* 文字 : 姓 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x10,0x10,0xF0,0x1F,0x10,0xF0,0x40,0x3C,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00, 0x40,0x22,0x15,0x08,0x16,0x21,0x40,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x40,0x00, /* 文字 : 名 */ /* 宋体 12。 此字体下对应的 点阵为:宽 x高 =16x16 */ 0x00,0x20,0x20,0x10,0x08,0x14,0x67,0x84,0x44,0x24,0x14,0x0C,0x00,0x00,0x00,0x00, 0x04,0x04,0x04,0x02,0xFE,0x43,0x43,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00, /* 文字 : 学 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00, 0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00, /* 文字 : 号 */ /* 宋体 12。 此字体下对应的点阵为:宽 x高 =16x16 */ 0x80,0x80,0x80,0xBE,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xBE,0x80,0x80,0x80,0x00, 0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x44,0x84,0x44,0x3C,0x00,0x00,0x00,0x00, /* 文字 : 电 */ /* 宋体 12。 此字体下对应的点。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。