单片机原理课程设计报告

单片机原理课程设计报告

ID:36600229

大小:8.68 MB

页数:19页

时间:2019-05-12

单片机原理课程设计报告_第1页
单片机原理课程设计报告_第2页
单片机原理课程设计报告_第3页
单片机原理课程设计报告_第4页
单片机原理课程设计报告_第5页
资源描述:

《单片机原理课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、北京工商大学单片机原理课程设计单片机原理课程设计报告题目:带电子表的可调速步进电动机控制器班级:自动063学号:0604010238姓名:关馨学号:0604040224姓名:王旭东成绩:指导教师:苏维均北京工商大学计算机与信息工程学院2009.7-18-北京工商大学单片机原理课程设计目录1概述21.1实验要求21.2设计说明22系统总体方案及硬件设计22.1系统设计方框图22.2硬件设计32.2.1总体电路图(见附录)32.2.2各模块具体实现原理分析33软件设计43.1程序名标号索引43.2程序流

2、程图53.3汇编程序103.3.1手动自动功能切换程序103.3.2时间调节设置程序113.3.3步进电机设置程序123.4数码显示144PROTEUS软件仿真及使用说明154.1键盘按键说明…………………………………………………164.2操作说明………………………………………………………165课程设计体会176参考文献18附录:系统原理图-18-北京工商大学单片机原理课程设计1概述1.1实验要求:a.利用8051单片机设计出具有时、分、秒显示的电子表。b.可以通过键盘进行步进机速度的切换,可以切换

3、三种速度。c.步进电动机的工作方式为双四拍:AB-BC-CD-DE-ABd.可按设定步数运行,可以暂停,可以手动步进。1.2设计说明采用单片机作为整个控制系统的核心。鉴于市场上常见的51系列8位单片机的售价比较低廉,我们的设计采用了主从双AT89C51单片机系统。以一片AT89C51作为主控制器,主要负责系统的控制与协调工作。具体方案如下:首先,单片机每隔一段时间扫描一次键盘,判断是否有功能键被按下,如有则执行功能键对应功能,如无则显示当前时间。本系统利用计数器T0通过定时方式产生T=100ms的时

4、钟信号,该信号经十分频后作为INT0的中断申请信号,从而实现电子表功能。本系统能方便的利用键盘对电子表进行调时、切换步进电机速度、实现手动/自动切换、启动及暂停步进电机运行的功能。2系统总体方案及硬件设计2.1 系统总体设计方框图单片机AT89C51键盘LED步进电机图1系统总体设计框图-18-北京工商大学单片机原理课程设计2.2硬件设计2.2.1总体电路原理图(见附录)2.2.2各模块具体实现原理分析图2键盘输入模块1)键盘输入模块:如图2所示。单片机实时扫描键盘并将所得键值读入CPU,并执行相应

5、操作。图3LED显示模块2)LED显示模块:如图3所示,P3.1,P3.6,P3.7经74LS138译码后产生六个译码管的片选信号,P0口输出显示数据。-18-北京工商大学单片机原理课程设计1)步进电机驱动模块:如图4所示,P2.0~P2.3输出步进电机控制信号,信号经ULN2003A接到步进电机的相应端上,从而对步进电机的运行进行控制。图4步进电机驱动模块3软件设计3.1程序名标号索引init初始化子程序key按键扫描子程序px数码管片选信号生成子程序setma手动/自动切换子程序settime电

6、子钟调时子程序setv步进电机调速子程序t0int定时中断T0服务程序toint0外部中断0服务程序toint1外部中断1服务程序-18-北京工商大学单片机原理课程设计3.2程序流程图N主程序初始化程序(init)时间显示程序NYN按下ST?调用settime子程序Y按下SV?调用setv子程序按下M/A?调用setma子程序YNY按下START?EX1置‘1’NY按下PAUSE?EX1置‘0’有键按下?YN主程序流程图:-18-北京工商大学单片机原理课程设计有键按下?key子程序有键按下?NY延时

7、去抖NY判断闭合键号---->栈按键释放?NY输入键号---->A返回init子程序TMOD<----#01H;TH0<----#3CHTL0<----#0B0H;定时计数器T0工作在方式1,定时100ms,开中断并启动定时设置外部中断0、1为下降沿触发R1<----双四拍模型首地址;初始化步进电机切换速度为0档,默认设定步长为24H,双四拍模型存放在50H开始的4个单元中返回init子程序流程图:key子程序流程图:px子程序P3.5<----00HP3.6<----01HP3.7<----02H

8、;以上地址为位地址返回px子程序流程图:-18-北京工商大学单片机原理课程设计setma子程序流程图:settime子程序流程图:(ma=0表示自动;ma=1表示手动)Ysettime子程序关INT0中断选通第1个数码管R0<----hour1地址R7<----#06HYOK键按下?NYP0<----#7FH;显示小数点调用子程序key有效按键?NR7=0?@R0<----有效按键值R0++选通下一个数码管R7--N返回开放INT0中断返回setma子程序选通第1个数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。