通信与信息工程学院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、82目标:(1)掌握单片机控制八位数码管的动态扫描技术,包括程序设计和电路设计,本任务的效果是让八位数码管稳定的显示12345678。(2)用PROTEUS进行电路设计和实时仿真3知识点链接(1)数码管动态扫描(动态扫描的定义以及与静态显示的区别)动态显示的特点是将所有位数码管的段选线s一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。(2)总线的应用元器件与总线的连线P0口的接线采用总线方式,详细如图------所示。①选择总线按钮②绘制总线:与普通电线的绘制方法一样,选择合适的起点、终点单击。如果终点在空白处,左键双击结束连线。画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可。在画斜线时,需要关闭线路自动路径功能才好绘制。Proteus的线路自动路径功能简称WAR,当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。③给与总线连接的导线贴标签PARTLABELS与P0口相连的线标签名依次为P00—P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以表明正确的电气连接。单击绘图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×”号,表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图---所示。在“string”栏中,输入标签名称(如p00),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图5-16所示。注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。目录摘要31前言1.1课题开发背景................................................................................................................1.2课题研究的目的和意义................................................................................................1.3课题的主要研究工作....................................................................................................2系统硬件设计及说明2.1部分硬件方案论述.........................................................................................................2.2硬件电路图.....................................................................................................................2.3元件清单.........................................................................................................................2.4MSP-430..........................................................................................................................3系统软件设计3.1程序.................................................................................................................................3.2程序描述.........................................................................................................................4总结与展望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示。12345678161514131211109RN2RX8X2CRYSTALR210kC41uFC51nFQ11NPNQ13NPN2.3元件清单1.单片机:MSP-4302.八位共阴极数码管:7SEG-MPX8-CA-BLUE3.NPN型三极管8个4.普通电容2个(22PF),电解电容1个(10UF)5.晶振1个(12MHZ)6.排阻1个.2207.电阻1个(220)8.电源1个(5V)2.4MSP430单片机MSP430系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机,在1996年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆MSP430系列单片机的发展过程,可以看出有这样三个阶段:开始阶段从1996年推出MSP430系列开始到2000年初,这个阶段首先推出有33X、32X、31X等几个系列,而后于2000年初又推出了llX、llX1系列。MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125ns。这些特点保证了可编制出高效率的源程序3系统软件设计3.1程序及程序描述#includemsp430x24x.h#definedelay_us(x)__delay_cycles((long)(16*(double)x))#definedelay_ms(x)__delay_cycles((long)(16000*(double)x))unsignedcharnum[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};voidmain(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总结与展望单片机作为我们们的主要专业课之一,虽然在大二开学初我们对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我们发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。作为一名通信技术专业的大二学生,我们觉得做单片机课程设计是十分有意义的,而且是十分必要的。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我们发现效率很高,这是我们做这次课程设计的又一收获。然后,要做好一个课程设计,就必须做到:在开始声明变量,数码管编码数组声明子程序数码管显示子程序主程序设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我们受益终身。此次课程设计,基本达到预定的效果,系统部分功能已实现,可以准确高效地