单片机课程设计报告电子跑表系统.doc

上传人:文库蛋蛋多 文档编号:2953270 上传时间:2023-03-05 格式:DOC 页数:12 大小:119.50KB
返回 下载 相关 举报
单片机课程设计报告电子跑表系统.doc_第1页
第1页 / 共12页
单片机课程设计报告电子跑表系统.doc_第2页
第2页 / 共12页
单片机课程设计报告电子跑表系统.doc_第3页
第3页 / 共12页
单片机课程设计报告电子跑表系统.doc_第4页
第4页 / 共12页
单片机课程设计报告电子跑表系统.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《单片机课程设计报告电子跑表系统.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告电子跑表系统.doc(12页珍藏版)》请在三一办公上搜索。

1、 单 片 机 课 程 设 计 说 明 书题目: 电子跑表系统 课程设计(论文)任务书院(系): 基层教学单位: 学 号学生姓名专业(班级)设计题目电子跑表系统设计技术参数设计要求基本要求:基于单片机试验板设计一个电子跑表系统,用按钮启动和停止,能够实现最多59分59秒的跑表,在数码管上显示当前的跑表时间值; 扩展要求: 充分配合按钮和显示,实现正向跑表,反向跑表,设置跑表初值,跑表跑到预定值通过蜂鸣器提示。工作量2周工作计划先根据设计题目,搜集相关资料;再对设计题目整体把握,利用所学知识,整理所需内容;最后编写程序,调试,优化程序。参考资料C语言设计;PIC单片机技术应用;电路设计与仿真;C语

2、言高级程序设计 陈天洲编著指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。年 月 日 课程设计评审意见表指导教师评语:成绩: 指导教师: 年 月 日答辩小组评语:成绩: 评阅人: 年 月 日课程设计总成绩:答辩小组成员签字:年 月 日一 设计要求电子跑表系统基本要求:基于单片机试验板设计一个电子跑表系统,用按钮启动和停止,能够实现最多59分59秒的跑表,在数码管上显示当前的跑表时间值; 扩展要求: 充分配合按钮和显示,实现正向跑表,反向跑表,设置跑表初值,跑表跑到预定值通过蜂鸣器提示。二 设计方案1 数码管扫描 (数组leddisplaycode:

3、显示数字译码 )(显示函数SEG 功能:输入四位数据并显示(扫描方式) 定义全局变量 主函数中始终对此变量进行扫描显示 2 P.2/3/4/5口作通用i/o口 按键情况通过getkey()扫描录入,并通过keydispose()函数处理。(只加了四种情况,未使用组合键)(所有操作的目标函数都是全局变量)3 .其中 1号键 按一下为正向跑表,再按反向跑表。 2号键 按一下为切换到设置模式,同时停止计数。此模式和正常跑表数据互不影响,通过time的第二行存储。 3号键 按一下为当前数组数据+1 4号键 按一下为当前数组数据-14. 当 设置的时间和跑表时间相等时,buzzer开始响。三 系统工作原

4、理主要硬件电路图如下键盘控制, 该设计需要控制跑表开始和停止,当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表回零。还需要一个切换按键,使得时钟和跑表随时切换。数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。数码管工作原理:数码管是由8个发光二极管构成的显示器件。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管:若将二极管的阴极连在一起,称为共阴极数码管。我们单片机板上的4个数码管均是共阳极的。当发光二极管导通时,它就会发光。每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。将单片机的I/O口控制相应的芯片与数码管的a-g相

5、连,高电平的位对应的发光二极管亮,这样,由I/O口输出不同的代码,就可以控制数码管显示不同的字符。SST89F58四 程序设计1.总体框架结构本设计中秒表采用定时器T0中断完成。主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。用定时器T0中断服务程序。定时溢出中断周期设为50ms,中断进入后先进行定时中断初值校正,当中断累计20次(即50*20=1s)时,对秒计时单元进行加1操作。时钟计数单元地址分别在70H71H(秒)、76H77H(分)中,最大计时值为59分59秒。7AH单元内存放“熄灭符”数据,用于时间调整的闪烁功能。在计数单元中,采用十进制BCD码计数,满1

6、0进位。2.主程序流程图unsigned char code leddisplaycode = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF;unsigned char time4 = 0,0,0,0, 0,0,0,0;/*数码管当前显示数据 第一行为计时时间,第二行为预设时间unsigned char i;/SEG()变量unsigned char mode = 0;/正、反计数模式 (0 正 1 反)unsigned char flag = 0;/实现单个键的开始&暂

7、停功能unsigned char m=0,n=0;unsigned char status=0;/*-*/逻辑驱动初始化函数void driver_init(void)/*-*/软件延时函数void delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j120;j+);/*-*/数码管段数据输出函数void display(unsigned char value)XBYTE0x06ff = leddisplaycodevalue;/*-*/四位数码管扫描函数void seg(void)for(i=0;i4

8、;i+) P1 &= (0x10i);display( timestatusi ); delay1ms(1) ; P1 |= (0x10i); /*-*/定时器0中断服务程序 双模式 mode 0:正计数 1:反计数void t0_isr_s()unsigned int x;if( (x+)%SPEED=0 ) / if( (x+)%100=0 )switch(mode)case 0:forward();break;case 1:backward();break;/*-*/void t1_isr_s(void)/*-*/void forward(void)if( ( timestatus3+

9、) = 9 )timestatus3 = 0 ;if( ( timestatus2+ ) = 5 )timestatus2 = 0 ;if( ( timestatus1+ ) = 9 )timestatus1 = 0;if( ( timestatus0+ ) = 5 )timestatus0 = 0;TIME0_OFF;BEEP_ON; /*-*/void backward(void)if( ( timestatus3- ) = 0 )timestatus3 = 9;if( ( timestatus2- ) = 0 )timestatus2 = 5;if( ( timestatus1- ) =

10、 0 )timestatus1 = 9;if( ( timestatus0- ) = 0 )timestatus0 = 5;TIME0_OFF;BEEP_ON; /*-*/四位键盘扫描函数 1-4号键分别对应4个返回值unsigned char getkey(void)unsigned char checkvalue,key = 0x00;checkvalue = P3&0x3C ;if( checkvalue=0x3C )return 0x00;delay1ms(KEYSCAN_DELAY);if( !(checkvalue&0x04) ) /1key|=0x01;if( !(checkva

11、lue&0x08) ) /2key|=0x02;if( !(checkvalue&0x10) ) /3key|=0x03;if( !(checkvalue&0x20) ) /4key|=0x04;return key;/*-*/按键操作函数 对于不同的按键实现4种功能 可以再if内随意改动void keydispose(unsigned char key)if(key&0x01)if(flag=0)mode = 0;TIME0_ON;flag = 1;elsemode = 1;TIME0_ON;flag = 0;if(key&0x02)if(flag=0)status = 1;TIME0_OF

12、F;P3 &= 0x80;else status = 0;TIME0_ON;P3 |= 0x80;if(key&0x03)forward();if(key&0x04)backward();五 设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,在接近2星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号