通信与信息工程学院
2013/2014 学年 第 1 学期
课程设计II 实验报告
模 块 名 称 八只数码管动态显示单个数字
专 业 通信工程(嵌入式系统开发)
学 生 班 级 1000
学 生 学 号 1000
学 生 姓 名
指 导 教 师
| 设计题目 | 八只数码管动态显示单个数字 |
任务要求 | 单片机控制8只数码管,分别滚动显示单个数字0-7,程序运行后,单片机控制左边第一个数码管显示0,其他不显示,延时之后,控制左边第二个数码管显示1,其他不显示,直到第八个数码管显示7,其他不显示,反复循环上述过程。 |
实验设备及软件 | Protues,IAR |
| 同组人员学号及姓名 | 一人一组,无同组人员。 |
参考文献 | [1] 张毅刚. 基于protues的单片机课程的基础实验与课程设计 [2] 肖金球.《单片机原理与接口技术》 [3] 倪继峰.《单片机C语言程序设计实训100例-基于Proteus仿真》 |
摘 要
功能简介:
1内容:利用动态扫描让八位数码管稳定的显示1、2、3、4、5、6、7、8
2目标:
(1)掌握单片机控制八位数码管的动态扫描技术,包括程序设计和电
路设计,本任务的效果是让八位数码管稳定的显示12345678。
(2)用PROTEUS进行电路设计和实时仿真
3知识点链接
(1)数码管动态扫描 (动态扫描的定义以及与静态显示的区别)
动态显示的特点是将所有位数码管的段选线s一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
(2)总线的应用
元器件与总线的连线
P0口的接线采用总线方式,详细如图------所示。
1选择总线按钮
2绘制总线:与普通电线的绘制方法一样,选择合适的起点、终点单击。
如果终点在空白处,左键双击结束连线。
画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可。在画斜线时,需要关闭线路自动路径功能才好绘制。
Proteus的线路自动路径功能简称WAR,当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。
3给与总线连接的导线贴标签PART LABELS
与P0口相连的线标签名依次为P00—P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以表明正确的电气连接。单击绘图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×”号,表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图---所示。
在“string”栏中,输入标签名称(如p00),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图5-16所示。
注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。
5 参考文献 ……………………………………………………………………………
1.前言
1.1课题开发背景
随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。
基于当前市场上的智能数字市场需求量大,其中数码管显示技术就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现数码管准确显示各种数码。以液晶显示技术的发展为背景,选择了比较常用的T6963C内置控制器型图形LCD(液晶显示嚣)模块,从应用角度介绍了该控制器的特点和基本功能,并描述了单片机控制T6963CLCD模块的显示机理。在此前提下以msp-430硬件开发语言为基础,给出了430单片机与T6963C的接口电路框图,并以字符、图形的具体显示方法为例简要介绍了软件的设计流程及实现。
1.2 课题研究的目的和意义
1.利用所学过的知识,初步分析单片计算机控制系统的能力;
2.综合运用本专业方向所学知识,构成以单片机为核心控制系统的能力;
3.单片计算机控制系统实时软件的设计、 编制与调试的能力;
4.单片计算机控制系统中模拟部件(包括电压及功率放大部件) 以及常规传感部件的使用、调试的能力;
5.单片计算机控制系统综合调整及性能测试的能力;
6.实验结果分析、总结及撰写技术报告的能力。
利用MSP-430单片机自带资源,设计一款能流动显示12345678的设备,从而熟悉加深单片机C语言学习印象。
1.3 课题的主要研究工作
本课题设计的主要工作如下:
研究学习MSP-430单片机其功能,对学习过的单片机,C语言课程进行巩固,设计一款在8只数码管上流动显示单个数字的设备。
2 系统硬件设计及说明
2.1系统组成及总体框图
硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
该设计要实现一种由单片机控制的秒表,单片机工作于8MHZ时钟频率。该设计具有一个按钮,方便、便捷。
系统结构图如电路图1示。
2.3元件清单
1.单片机:MSP-430
2.八位共阴极数码管:7SEG-MPX8-CA-BLUE
3.NPN型三极管8个
4.普通电容2个(22PF),电解电容1个(10UF)
5.晶振1个(12MHZ)
6.排阻1个.220
7.电阻1个(220)
8.电源1个(5V)
2.4 MSP430单片机
MSP430系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机,在1996年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆MSP430系列单片机的发展过程,可以看出有这样三个阶段:开始阶段从1996年推出MSP430系列开始到2000年初,这个阶段首先推出有33X、32X、31X等几个系列,而后于2000年初又推出了llX、llX1系列。
MSP430系列单片机是一个16位的单 片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125 ns。这些特点保证了可编制出高效率的源程序
3系统软件设计
3.1程序及程序描述
#include #define delay_us(x) __delay_cycles((long)(16*(double)x)) #define delay_ms(x) __delay_cycles((long)(16000*(double)x)) unsigned char num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; void main(void) { WDTCTL = WDTPW + WDTHOLD; P4DIR=0xff; P1DIR=0xff; P4OUT=0; while(1) { P1OUT=num[0]; P4OUT=0x01; delay_ms(10); P4OUT=0; P1OUT=num[1]; P4OUT=0x02; delay_ms(10); P4OUT=0; P1OUT=num[2]; P4OUT=0x04; delay_ms(10); P4OUT=0; P1OUT=num[3]; P4OUT=0x08; delay_ms(10); P4OUT=0; P1OUT=num[4]; P4OUT=0x10; delay_ms(10); P4OUT=0; P1OUT=num[5]; P4OUT=0x20; delay_ms(10); P4OUT=0; P1OUT=num[6]; P4OUT=0x40; delay_ms(10); P4OUT=0; P1OUT=num[7]; P4OUT=0x80; delay_ms(10); P4OUT=0; } } 3.2程序流程图 4总结与展望 单片机作为我们们的主要专业课之一,虽然在大二开学初我们对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我们发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。作为一名通信技术专业的大二学生,我们觉得做单片机课程设计是十分有意义的,而且是十分必要的。虽然过去从未应用过它们,但在学习的过程中带着问题去学我们发现效率很高,这是我们做这次课程设计的又一收获。然后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我们受益终身。此次课程设计,基本达到预定的效果,系统部分功能已实现,可以准确高效地计时。在设计的过程中,小组各成员各负其责,设计不同模块。不仅提高了设计的效率,而且体现了实践动手及团队合作的精神。 在此次设计过程中,虽然有很多程序的原理仍然没有弄懂,各器件的功能也不是完全了解,但是秉着勤奋刻苦和好学的态度,我在这次设计中对单片机的了解程度更增一步,也很大程度增大了我对单片机设计程序的兴趣。 同时我们这次设计是通过团队来完成的,我们互相商量、讨论,力争得到最简单、最有用的设计程序。另外,遇到难题时,我们就会请教班级里的同学或老师,这样对于我们的进展也起到了很大的作用。在设计的过程中,小组各成员各负其责,设计不同模块。不仅提高了设计的效率,而且体现了实践动手及团队合作的精神。 本次课程设计是大学学习阶段一次非常难得的理论与实践相结合的机会,通过这次比较系统的项目设计提高了我们运用所学的专业基础知识来解决面临实际问题的能力。为了尽早完成作品,我们坚持努力,经过课下大量的实践操作,我们丰富了各种器件常识,收获了难得的实践经验。在单片机C语言方面也有了更深层次的理解,也大大增加了自己在编程方面的兴趣,这次课程设计中,我请教老师,同学,去图书馆,上网查资料,直至最后完成课程设计,心里有一股成就感,我想在这会成为我以后在这条路上努力的动力。 一个星期的单片机课程设计很快就结束了,在这一周当中,虽然开始有点困难,但是经过我们们分工合作,合理地进行设计安排,再加上老师的耐心指导,我们们终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。在本次课程设计中,我们通过动手实践操作,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作、调试的方法。在设计时根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。这次的单片机课程设计重点是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力,更在一周的时间了解了更多有关单片机的知识,使知识更加丰富,使自己更加充实。 5 参考文献 [1] 张毅刚. 《基于protues的单片机课程的基础实验与课程设计》 [2] 肖金球.《单片机原理与接口技术》 [3] 倪继峰.《单片机C语言程序设计实训100例-基于Proteus仿真》 设计成绩评定评分内容 具体要求 总分 评分 上机时间 上机时间是否达到要求的学时,按照实际情况给与一定的成绩。 10分 报告审阅结果 报告结构严谨,文字通顺,用语符合技术规范,图表清楚,书写格式规范,不与别人雷同。 30分 验收结果 原理 原理清楚,能较好地理解课题任务并提出实施方案。 20分 完成情况 完成规定设计任务,论证、分析、设计、计算、结构、建模、实验正确合理,有一定的创新。 30分 操作 能熟练操作相关工具软件,并利用工具软件完成设计任务。 10分 总成绩(五分制) 100分 指导教师评阅意见