基于STC12C5A60S2单片机步进电机控制系统设计.docx
- 文档编号:9785240
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:15
- 大小:206.76KB
基于STC12C5A60S2单片机步进电机控制系统设计.docx
《基于STC12C5A60S2单片机步进电机控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于STC12C5A60S2单片机步进电机控制系统设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于STC12C5A60S2单片机步进电机控制系统设计
学号:
1108441044
课程设计报告
基于STC12C5A60S2单片机步进电机
控制系统设计
院系电子信息工程学院
专业电气工程及其自动化
班级11级2班
姓名甘芝国
摘要
在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。
如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?
单片机的引入就是一个很好的例子。
单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。
单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。
[1]该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
面对如此功能强大的单片机,结合本次设计要求,应该要用到单片机的内部时钟电路以及外围的显示接口电路和报警电路
关键词:
AT89C51单片机;数码管;秒表
1引言
1.1研究背景及意义
此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础为自己的专业技能打好基础。
通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验为以后从事生产和科研工作打下一定的基础。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式。
1.2本课题任务
设计一个AT89C51单片机控制的秒表系统。
利用单片机的定时器,计数器定时和计数的原理,结合显示电路、LED数码管以及按键来设计计时器。
将软硬件有机的结合起来。
使得系统能够正确的进行加计时,数码管能够正确的显示时间。
当超过计时范围时,报警系统发挥作用,产生蜂鸣报警。
2硬件设计
2.1总体方案设计
数字秒表设计由单片机89C51,数码管,开关,电容,电阻等部分组成。
其功能是要求用AT89C51设计一个2位LED数码显示的“秒表”,显示时间为00-99秒,每秒自动加一。
另外还设计了一个“开始”按键,一个“复位按键”和一个“暂停”按键。
按“开始”按键开始计数,数码管显示从00开始每秒自动加一。
按“复位”按键,系统清零,数码管显示00。
按“暂停”按键,系统暂停计数,数码管显示当时的计数。
2.2系统组成
系统主要由三部分构成:
按键控制信号,单片机软件处理,数码管显示。
电路运行时,由开关按键决定其运行方式。
经过单片机内部的程序进行相应的处理。
在数码管上显示出来。
运用一个12M晶振的周期为1um.通过循环产生一秒时间的延迟。
扫描单片机所存放的时间值(可正计时,也可倒计时。
)并通过输出显示在数码管上。
此外,数码管各段链接了上拉电阻,是为了保证引脚外接的按键在未按下时,作为电流负载一直保持引脚为低电平。
系统图如上图所示。
3.秒表的proteus仿真电路设计
3.1.整体proteus仿真电路图
Proteus仿真电路图如下2所示
2.系统仿真图
3.2AT89C51单片机和数码管的接口设计
LED和单片机的输出口用总线链接。
电路中采用P2口输出。
通过软件实现位选控制。
P2.0到p2.7对应数码管的a,b,c,d,e,f,g.
3.3按键控制信号
按键采用独立式键盘接法,启动键接P0.0,停止键接P0.1.复位键接P0.2。
清零键接P0.3。
低电平有效。
3.4其他管脚的设计
单片机的Vss端接地,Vcc端接+5v电源,三极管发射端也接+5v电源。
保证有足够的电源供应。
程序设计流程图:
4定时器软件程序设计
软件设计的思路为:
在这个复杂的程序中,先根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序以及中断服务程序结构,并对各程序模块占用的资源进行统一的调配,最后根据流程图绘制具体的程序。
因此在这个秒表程序中可划分为主程序、键盘控制、秒表计时程序三大模块。
其中主程序完成初始化作用,动态显示程序,键盘控制程序,秒表计时程序等,延时程序由定时器中断服务子程序构成。
主程序:
即初始化程序,用命令首先对三个按键进行了定义,规定了堆栈指针和数据指针的首地址,对定时器进行设定,选用定时器0为工作方式1,50ms为定时时间,则要定时ls可以循环20次,设置中断程序的入口,并开中断EA,ETO等。
子程序:
包括按键功能子程序和显示子程序。
按键子程序对三个按键功能进行设定,其中P3.513起到开始的功能,P3.6口连接的按键可以控制数码管的进度,P3.7对数码管数字进行复位,使数码管清零。
[2]三个按键均为低电平有效,JB命令先判断按键是否按下,若按下则跳转到显示子程序,JNB命令判断按键按下后是否弹起,若弹起来就执行开始、暂停、清零等功能。
显示子程序:
在单片机输出时,先选择字位选口,然后在所在的位口上进行字形选择,选择要点亮的字形
中断程序:
中断程序即定时器延时程序,当中断来临时,定时器重新装入初值,判断是否循环了20次,若循环20次说明定时器延时到达1s,就进行加一运算。
程序如下:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitSTART=P0^0;
sbitSTOP=P0^1;
sbitRST=P0^2;
sbitZERO=P0^3;
sbitMODE=P0^4;
sbitBeep=P1^0;
sbitL0=P1^1;
sbitL1=P1^2;
ucharge=0;
ucharshi=0;
uchartime=0;
uchartable[]={
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/};
//------------延时----------//
voiddelay(uchardat)
{
uchari,j;
for(i=0;i<10;i++)
for(j=0;j } //------------数码管显示----------// voiddisplay(void) { P2=0; L0=1; L1=0; P2=table[ge]; delay (1); P2=0; L0=0; L1=1; P2=table[shi]; delay (1); } //------------初始化----------// voidinit(void) { TMOD=0X02; EA=1; ET0=1; TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; L0=1; L1=1; Beep=0; } //------------按键扫描----------// voidanjian(void) { P0=0X1F; if((P0&0X1F)! =0X1F) { delay(10); if(0==START) { TR0=1; } if(0==STOP) { TR0=0; } if(0==RST) { shi=0; ge=0; TR0=1; } if(0==ZERO) { shi=0; ge=0; TR0=0; } }[3] } //------------主函数----------// voidmain(void) { init(); while (1) { anjian(); display(); time=shi*10+ge; if(time>90) { Beep=1; delay (1); Beep=0; delay (1); } else { Beep=0; } } } //------------定时器0中断函数----------// voidtimer0(void)interrupt1 { staticintt=0; t++; if(8000==t) { ge++; t=0; } if(10==ge) { ge=0; shi++; } if(10==shi) { shi=0; } TH0=(65536-50000)/256; TL0=(65536-50000)%256; } 5.系统调试 5.1程序书写及编译 5.1.1输入源程序 输入源程序时,应以西文方式输入字母和符号,且中文注释前要加分号。 5.1.2对源程序进行汇编和纠错 根据自动汇编提供的错误信息逐条纠正错误,直至汇编信息提示“错误”为0.汇编结束。 5.1.3确定调试方案 在调试程序前一定要认真分析源程序,明确各功能程序运行的预期结果。 然后结合源程序应达到的结果,确定出如何通过某些关键参数和实验现象检验程序运行结果正确与否。 例如: 程序运行过程中路径的变化、累加器A内容的变化其他特殊寄存器内容的变化等。 并针对具体的分析和观察对象选择较合适的调试方法。 如单步运行、跟踪运行、连续运行、快速运行至光标处、设置断点等调试方法。 5.2调试程序 5.2.1调试主程序。 主程序运行后,在无任何按键输入时观察有无显示,时钟是否工作,其秒显示的变化过程是否正确。 若运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。 例如: 若定时计数器的初始化出错,则时钟将不能工作;若显示程序出错,则将不能正确显示时钟单元内容;若定时计数器中断服务子程序出错,则其显示数据的变化规律将不正常。 5.2.1调试子程序。 在调试主程序时,必然要调用相关的功能子程序。 因此,首先应明确子程序的具体功能,通过对子程序的分析,确定子程序的入口、出口参数及相关标识位的状态,然后在满足入口条件的状态下,设法检查从主程序进入子程序,再由子程序返回到主程序的运行过程可采用跟踪运行或运行至光标处的方法,检查从主程序进入子程序内部的运行过程,再通过单步运行等方法检查子程序内部的运行情况和返回主程序的过程。 通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期目的。 [4] 6结论 通过对本次课程的课程设计,使自己深刻的认识到自己的很多不足之处,在实际动手操作能力的不足,在进行程序编程时,自己需要,认真审题,看懂题目的要求! 对于软件编程不益太简单或者太难。 做到既能把课题完成又能锻炼 自己的能力! 根据课题要求,复习相关的知识,查询相关的资料。 根据课程条件,找到适 合的方案,找到需要的元器件及工具,准备课程。 比如: 显示不出数字,数字模糊这样的问题。 通过从网上找资料,看书,问同学,通过自己不停的去做,不停地去犯错,不停地改正,这是一个犯错的过程,一个改正的过程,同时也是你是不断学习,不断了解的过程。 当看到秒表能够运行的时候,那种心情别提有多高兴,很有成就感。 同时,在实验中暴露出我们在理论学习中所存在的问题,有些理论知识还处于半只半解的状态,通过实验加深了我们对这些知识的理解。 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序和增加额外的功能程序。 然后再进行 程序调试和相应的修改,以达到能够实现所要求的功能的目的。 还要根据课程的实际情况,添加些额外程序来使系统更加的稳定,如开关的去抖(采用延迟)。 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程 序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。 该课程设计的程序可以参考 MCS-51 系列单片机,也可自己根据自己熟悉的方 法来编程如单片机 C 语言。 首先我非常感谢同学和老师们的无私帮助,由于自身的原因对于单片机知识学习的不够扎实,对于许多的东西都不够了解,课程设计遇到的许多问题都是在同学的帮助下才顺利完成。 这次的单片机课程设计重点是理论与实际的相结合。 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。 参考文献 【1】李朝青.单片机原理及接IZl技术[M].北京: 北京航天航空大学出版社,2005. 【2】王爽.汇编语言[M].北京: 清华大学出版社,2008.、 【3】蒋辉平,周国雄.基于Proteus的单片机系统设计与仿真实例[M].北京: 机械工业出版社,2009. 【4】孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用[J].实验室研究与探索,2008,27(4): 59—68.5346 【5】单片机原理与应用,第二版,王迎旭主编。 北京: 机械工程出版社,2012 【6】单片机典型模块设计实例导航,求是科技主编。 北京: 人民邮电出版社,2004 【7】 李鸿. 单片机原理及应用[M]. 湖南: 湖南大学出版社,2004 【8】夏继强. 单片机实验与实践教程[M]. 北京: 北京航空航天大学出版社, 2001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC12C5A60S2 单片机 步进 电机 控制系统 设计