51单片机课程设计报告

江南大学 物联网工程学院

课程名称:设计题目:班 级:姓 名:指导教师:

课程设计报告

单片机原理及应用 基于单片机的步进电机控制器设计 学 号:

评 分: 2015 年 7 月 1 日

目录

一、 设计目的-------------------------------------------错误!未定义书签。

二、 设计要求-------------------------------------------3 三、仪器设备--------------------------------------------3 四、硬件线路图及主要芯片说明----------------------------3 1、硬件线路图---------------------------------------3 2、步进电机驱动芯片ULN2003--------------------------4 3、数码管显示译码芯片74LS138-----------------------5 五、硬件线路图及主要芯片说明----------------------------6 1、矩阵键盘扫描原理---------------------------------6 2、数码管动态显示原理-------------------------------6 3、数据存放单元安排---------------------------------7 六、程序设计方框图--------------------------------------7 七、步进电机控制系统主要程序----------------------------9 1、四位数码管显示程序-------------------------------9 2、矩阵键盘程序-------------------------------------9 3、步进电机正转------------------------------------10 4、步进电机反转------------------------------------10 5、延时函数----------------------------------------11 6、主函数------------------------------------------11 八、课程设计体会---------------------------------------12

一、设计目的

通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。

二、设计要求

1、电机转速可以平稳控制

2、通过键盘和显示器可以设置电机的转速 3、显示电机的速度趋势

三、仪器设备

1、51单片机,步进电机 2、步进电机驱动芯片ULN2003D 3、四位数码管显示 4、矩阵键盘

四、硬件线路图及主要芯片说明

1、硬件线路图

图4-1 硬件原理图

2、步进电机驱动芯片ULN2003 (1)内部结构

ULN2003是一个非门电路,包含7个单元,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,起续流作用(在感性负载中,电路断开后会产生很大的反电动势,为防止损坏达林顿管,接反相的二极管来构成通路,使之转换为电流)。

图4-2 ULN2003管脚连接图

(2)驱动原理

利用芯片内部构成的达林顿管可以放大驱动电流。达林顿管由两个三极管串联,第一个管子的发射极接第2个管子的基极组成,所以达林顿管的放大倍数是两个三极管放大倍数的乘积,具有很大的放大倍数。集电极开路,能输出较大的电流(集电极电位高)。所以利用ULN2003与MCU引脚相连,可以驱动步进电机。

图4-3 达林顿管内部组成

3、数码管显示译码芯片74LS138 (1)工作原理

74LS138 为3 线-8 线译码器,由真值表可知,4、5、6脚是控制脚,6脚为高电平而4、5脚都为低电平时,74LS138才对1、2、3脚的输入进行译码,选择和从这三个管脚输入的三位二进制码相应的某一个输出脚输出低电平,否则所有的输出脚都输出高电平。

图4-4 74LS138 引脚及真值表

(2)数码管译码原理

数码管的位选端通过138译码器连接到单片机的P2.2,P2.3,P2.4口,即通过控制P2.2,P2.3,P2.4口来对数码管进行位选。

图4-5 74LS138 连接图

五、步进电机控制系统主要工作原理

1、矩阵键盘扫描原理

此次应用矩阵键盘的扫描方法为行列扫描,即通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,最终确定是哪一个按键按下了。

图5-1 矩阵键盘原理图

2、数码管动态显示原理

在实际的单片机系统中,往往需要多位显示。此次课程设计采用了四位共阴数码管,当数码管有多个位时,它们 的公共端是独立的,而负责显示数字的“段选线”全部是对应连在一起的,独立的公共端可控制多位中的哪一位数字点亮,即进行位选。本文采用了74LS138芯片对四位数码管进行位选。连在一起的段选线可以控制这位点亮的数码管具体显示什么数字。

动态显示是一种最常见的多位显示方法,应用非常广泛。动态显示是多个数码管,交替显示,利用人的视觉暂停作用使人看到多个数码管同时显示的效果。

图5-2 数码管动态显示原理图

3、数据存放单元安排

①将共阴数码管显示值的显示码存放在一数组

unsigned char code DIG_CODE[17]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 ②定义一全局变量来改变步进电机转速

unsigned char speed;

③定义一全局变量存放读取到的键值

unsigned char KeyValue;

④记录按键的状态,0没有按键按下,1有按键按下

unsigned char KeyState;

⑤定义一数组用来存放要显示的8位数的值

unsigned char DisplayData[8];

六、程序设计方框图

图6-1系统总体设计方框图

图6-2系统主程序流程图

七、步进电机控制系统主要程序

1、四位数码管显示程序

2、矩阵键盘程序

3、步进电机正转 双四拍

4、步进电机反转 双四拍

5、延时函数

6、主函数

通过键值显示,判断正转反转以及速度值的设定。

11

八、课程设计体会

通过此次单片机课程设计,再次熟悉了基于51单片机的C语言程序编写。将矩阵键盘和数码管显示以及步进电机驱动有机的结合起来。如果学院配备了测速元件,则还可以用PID算法进行速度控制,可以做的更好。目前我只实现了可以0-127 的范围内调速并显示级数,同时可对电机进行正反转停止的功能。 最后感谢老师大三上的悉心教导,我将会在以后的学习中继续努力。

12

江南大学 物联网工程学院

课程名称:设计题目:班 级:姓 名:指导教师:

课程设计报告

单片机原理及应用 基于单片机的步进电机控制器设计 学 号:

评 分: 2015 年 7 月 1 日

目录

一、 设计目的-------------------------------------------错误!未定义书签。

二、 设计要求-------------------------------------------3 三、仪器设备--------------------------------------------3 四、硬件线路图及主要芯片说明----------------------------3 1、硬件线路图---------------------------------------3 2、步进电机驱动芯片ULN2003--------------------------4 3、数码管显示译码芯片74LS138-----------------------5 五、硬件线路图及主要芯片说明----------------------------6 1、矩阵键盘扫描原理---------------------------------6 2、数码管动态显示原理-------------------------------6 3、数据存放单元安排---------------------------------7 六、程序设计方框图--------------------------------------7 七、步进电机控制系统主要程序----------------------------9 1、四位数码管显示程序-------------------------------9 2、矩阵键盘程序-------------------------------------9 3、步进电机正转------------------------------------10 4、步进电机反转------------------------------------10 5、延时函数----------------------------------------11 6、主函数------------------------------------------11 八、课程设计体会---------------------------------------12

一、设计目的

通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。

二、设计要求

1、电机转速可以平稳控制

2、通过键盘和显示器可以设置电机的转速 3、显示电机的速度趋势

三、仪器设备

1、51单片机,步进电机 2、步进电机驱动芯片ULN2003D 3、四位数码管显示 4、矩阵键盘

四、硬件线路图及主要芯片说明

1、硬件线路图

图4-1 硬件原理图

2、步进电机驱动芯片ULN2003 (1)内部结构

ULN2003是一个非门电路,包含7个单元,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,起续流作用(在感性负载中,电路断开后会产生很大的反电动势,为防止损坏达林顿管,接反相的二极管来构成通路,使之转换为电流)。

图4-2 ULN2003管脚连接图

(2)驱动原理

利用芯片内部构成的达林顿管可以放大驱动电流。达林顿管由两个三极管串联,第一个管子的发射极接第2个管子的基极组成,所以达林顿管的放大倍数是两个三极管放大倍数的乘积,具有很大的放大倍数。集电极开路,能输出较大的电流(集电极电位高)。所以利用ULN2003与MCU引脚相连,可以驱动步进电机。

图4-3 达林顿管内部组成

3、数码管显示译码芯片74LS138 (1)工作原理

74LS138 为3 线-8 线译码器,由真值表可知,4、5、6脚是控制脚,6脚为高电平而4、5脚都为低电平时,74LS138才对1、2、3脚的输入进行译码,选择和从这三个管脚输入的三位二进制码相应的某一个输出脚输出低电平,否则所有的输出脚都输出高电平。

图4-4 74LS138 引脚及真值表

(2)数码管译码原理

数码管的位选端通过138译码器连接到单片机的P2.2,P2.3,P2.4口,即通过控制P2.2,P2.3,P2.4口来对数码管进行位选。

图4-5 74LS138 连接图

五、步进电机控制系统主要工作原理

1、矩阵键盘扫描原理

此次应用矩阵键盘的扫描方法为行列扫描,即通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,最终确定是哪一个按键按下了。

图5-1 矩阵键盘原理图

2、数码管动态显示原理

在实际的单片机系统中,往往需要多位显示。此次课程设计采用了四位共阴数码管,当数码管有多个位时,它们 的公共端是独立的,而负责显示数字的“段选线”全部是对应连在一起的,独立的公共端可控制多位中的哪一位数字点亮,即进行位选。本文采用了74LS138芯片对四位数码管进行位选。连在一起的段选线可以控制这位点亮的数码管具体显示什么数字。

动态显示是一种最常见的多位显示方法,应用非常广泛。动态显示是多个数码管,交替显示,利用人的视觉暂停作用使人看到多个数码管同时显示的效果。

图5-2 数码管动态显示原理图

3、数据存放单元安排

①将共阴数码管显示值的显示码存放在一数组

unsigned char code DIG_CODE[17]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 ②定义一全局变量来改变步进电机转速

unsigned char speed;

③定义一全局变量存放读取到的键值

unsigned char KeyValue;

④记录按键的状态,0没有按键按下,1有按键按下

unsigned char KeyState;

⑤定义一数组用来存放要显示的8位数的值

unsigned char DisplayData[8];

六、程序设计方框图

图6-1系统总体设计方框图

图6-2系统主程序流程图

七、步进电机控制系统主要程序

1、四位数码管显示程序

2、矩阵键盘程序

3、步进电机正转 双四拍

4、步进电机反转 双四拍

5、延时函数

6、主函数

通过键值显示,判断正转反转以及速度值的设定。

11

八、课程设计体会

通过此次单片机课程设计,再次熟悉了基于51单片机的C语言程序编写。将矩阵键盘和数码管显示以及步进电机驱动有机的结合起来。如果学院配备了测速元件,则还可以用PID算法进行速度控制,可以做的更好。目前我只实现了可以0-127 的范围内调速并显示级数,同时可对电机进行正反转停止的功能。 最后感谢老师大三上的悉心教导,我将会在以后的学习中继续努力。

12


相关内容

  • 单片机课程设计任务书biyao
  • 单片机课程设计任务书 一 设计题目和要求 1.数字音乐盒 设计要求: 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少储存三首乐曲,每首不少于30秒) 2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停 ...

  • 单片机课程设计要求及参考题目
  • <单片机原理与应用>课程设计要求 一.目的: 本课程设计是<单片机原理与应用>课程的综合.设计性实验,作为课堂教学和课内正常实验的补充和提高.通过对<单片机原理与应用>课程的学习,学生已初步掌握51单片机的基本原理,以及并行口.串行口.中断.定时等基本原理及应用, ...

  • 89C51单片机课程设计之秒表设计实验报告
  • 单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称: 秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日 目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2. ...

  • 南邮 控制系统课程设计
  • <控制系统课程设计>教学大纲 课程编号:B0564011C 课内周数:2周 课程类别:□通识基础 □学科基础 □专业基础 ■专业 适用专业:自动化 一.所涉及的课程及知识点 涉及课程:自动控制原理.现代控制理论.计算机控制与仿真.电力电子技术.运动控制系统.过程控制.单片机原理与接口技术 ...

  • 单片机课程设计报告--单片机控制步进电机
  • 单片机原理及应用课程设计报告 江西农大 单片机原理及应用 课程设计报告 设计课题: 专业班级:学生姓名: 指导教师: 2012 年 5 月 单片机原理及应用课程设计报告 目 录 目 录 ························································· ...

  • 单片机课程设计多路抢答器
  • 武汉理工大学华夏学院 信息工程课程设计报告书 课 程 名 称 单片微型计算机与接口技术 课程设计总评成绩 学生姓名.学 号 朱富鑫 [1**********] 学 生 专 业 班级 物联网1141 指 导 教 师 姓名 苏明霞 课程设计起止日期 2016.6.13~2016.6.24 课程设计基本要 ...

  • 数字电路课程设计总结报告
  • 四川航天职业技术学院 电子工程系课程设计 专业名称:课程名称:课题名称:设计人员: 指导教师:2011年12月27日 摘要 数字钟是由振荡器.分频器.计数器.译码器.数码显示器等几部分组成.振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以采用石英晶体振荡器 ...

  • [科技文献检索]报告课题.要求及范例
  • 提交一份<科技文献检索报告> 利用所学文献检索知识和检索方法,结合自己所学专业自选课题,使用不同的检索方法和手段,广泛收集有关资料,每人提交一份文献检索报告,报告(A4纸打印)格式严格按照要求排版可参照模板,禁止抄袭,一经发现取消成绩. <科技文献检索报告>课题 检索说明及要 ...

  • 单片机 交通灯实验报告
  • 2014级电气工程及其自动化单片机原理及应用课程设计 安徽农业大学经济技术学院 模拟电子技术课程设计报告书 课题名称 基于单片机的简易交通灯设计 姓 名 学 号 院.系.部 专 业 指导教师 机械工程系 电气工程及其自动化 邰清清 2016年 12 月 日 摘要 本设计是单片机控制的交通灯控制系统设 ...