数码管的动态显示设计与研究_第1页
数码管的动态显示设计与研究_第2页
数码管的动态显示设计与研究_第3页
数码管的动态显示设计与研究_第4页
数码管的动态显示设计与研究_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计报告指导老师:张_橙 班 级:自动化卫72姓 名: 廖岩 学 号:07401100221日 期:2013年1月6日数码管的动态显示设计与研究一:概述动态显示主要就是利用人眼的视觉感来设计的, 一般来说如果显示的频率 过慢,则会有断断续续的显示; 如果显示的频率加快, 则人眼就分辨不出这种视 觉残余!随着现代科学技术的不断地进步, 人们已经走入了信息的高速时代。 科 学的力量日益强大,技术的更新的速度也更加加快了。计算机走进了千家万户, 其中,单片机是一种应用十分广泛的单心片微型计算机, 在我国的普及应用已有 若干年,上至航天飞机,下至电动玩具,都能见到它的身影。单片机比专用处理

2、器更适合应用于嵌入式系统, 因此它得到了最多的应用。 事实上单片机是世界上 数量最多的计算机。 现代人类生活中所用的几乎每件电子和机械产品中都会集成 有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电 脑配件中都配有 1-2 部单片机。而个人电脑中也会有为数不少的单片机在工作。 汽车上一般配备 40 多部单片机,复杂的工业控制系统上甚至可能有数百台单片 机在同时工作! 单片机的数量不仅远超过 PC 机和其他计算的综合, 甚至比人类 的数量还要多。 而本次单片机数码管动态显示设计中采用 AT89C52 。AT89C52 为8位通用微处理器, 采用工业标准的 C51 内核,在内

3、部功能及 管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。功能包 括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚 调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU 通信 等。主要管脚有: XTAL1(19 脚)和 XTAL2 (18 脚)为振荡器输入输出端口, 外接12MHz晶振。RST/Vpd (9脚)为复位输入端口,外接电阻电容组成的复位电路。vcc (40脚)和VSS (20脚)为供电端口,分别接+5V电源的正负端P0P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1

4、功能控制端口,分别与N1的相应功能管脚相连接, 13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1 的SDAS( 18脚)和SCLS( 19脚)端口,12脚、27脚及28脚定义为握手 信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整T2/Pi. 0 彳1 “一W TeeT2EX/P1.1 匚239 P0. 0 /ADOPI. 2 匚 F0. 1/AD1Fl. $ 匚4斜 F0. 2fAH2Pl 4匚536 P0. 3/AD3Pi 5 c535 P0. 4/AD4pi. 6 t734 F0. 5/AD5pi. 7 t9拥 F0. &/AD6

5、KST C332 P0. TfkT)7RXD/P3. 0 匚1031 EA/UFFTXD/F3. 1 匚1130 ALEFEOtfHT0?P3. 2 匚1229 FESHISTL/P3. $ 匚 12. 7/A15T0/F3 4 匚142? F2.6/M4T1/F3. S 匚15265/A13帚/P3. 6匚1625 P2. 4/1127 匚1T24 P2. 3/A11XTAL2 匚16前 F2. 2/A10XTAL1 匚1922 P2.PEIP&町匚20 21 t2. 0/A8状态进入的控制功能PDIP封装的AT89C52引脚图硬件设计设计要求P0端口接动态数码管的字形码笔段,P2端

6、口接动态数码管的数位选择端,P1.7 接一个开关,同时P2端端口接入右数码管显示器右端,P3端端口接入数码管 显示器左端。当开关接高电平时,显示“ 521039113142 ”字样;当开关接低电平 时,显示HELLO,LOVE ”字样。元器的选取1 : AT89C52:单片机;2: RES:电阻;3: CRYSTAL:晶振;4: CAP、CAP-ELEC :电容、电解容;5: RESPACK-8:1k*8 排阻;6:7SEG-MPX6-CC:7 段式 6 位共阴极数码管;7: BUTTON :按钮。数码管动态显示原理图GNDA BCC2U130p19XTAL1P0.0/ADUP0.1/AD1X

7、112MC118XTAL29RST1okVCCt1 51./AT89C52P1.1/I2EXP1 2=C310uF29303130pFR1GNDVCC 1kx8P0.2/AD2P0.3/AD3P0.6/AD6P0 7/AD7P2.4/A12P2.5/A13P2.6/A14P2.7/A1510P3.0/RXD11P3.4/T01516P2.2/A10P2.3/A11P0.4/AD4P0.5/AD5P3.5/T1P3.6/WRP3.1/TXDP3.2/INTP3.7/RD该例数码管的段选和位选均用单片机直接驱 实际应用中建议段选用三极管或专用芯片驱LED数码管显示器内部由七个条形发光二极管和一个小

8、圆点发光二极管组成,每个发光二极管称为一字段。因而它的控制原理和发光二极管的控制原理是 相同的。根据各管的接线形式,可分成共阴极型和共阳极型。发光二极管的阳极 连在一起,为一个公共端,这种显示器称为共阳极显示器。发光二极管的阴极连 在一起,为一个公共端,这种显示器称为共阴极显示器。给LED数码管的七个发光二极管加不同的电平,二极管显示不同亮暗的组合就可以形成不同的字形, 这种组合称之为字形码。程序设计内容(1)动态扫描方法:动态扫描采用各数码管循环轮流显示的方法,本例中,先让左边第一位数码管显示数字“ 5”延时一定时间后,第二位显示“ 2”以此类推,到第五位显示“2”后,又从5”开始循环显示。

9、由于循环显示频率较高时,利用人 眼的暂留特性,我们看到这12个数码管仿佛在同时显示,而看不出闪烁显示现 象。这种显示需要一个接口完成字形码的输出(字形选择) ,另一接口完成各数 码管的轮流点亮(数位选择) 。需要注意一点,由于电路的特性,在点亮每一位 数码管之前,一定要对整个数码管清屏(场消隐) ,即让所有位选信号都处于不 被选中状态。(2)对于显示的字形码数据我们采用查表方法来完成, 同样位选码也可以用查表的方法。请注意,由于一些一般资料中给出的字形码都没有包含“H”和L“的字形码,这时就需要我们可以自行推导出来。 通过课本上数码管的介绍, 我们可 以得出 HELLO LOVE ” 0x76

10、,0x79,0x38,0x38,0x3f,0x00( HELL0 的字形码);0x00,0x00,0x38,0x3f,0x3e,0x79(LOVE 的字形码)。三:软件设计1 :程序 <c 语言源程序 >(1)首先选定的蓝本 -数码管的动态显示的相关程序,如C 语言源程序:#include <REG52.H>unsigned char code table1=0x06,0x5b,0x4f,0x66,0x6d;/1-5 的字形码unsigned char code table2=0x76,0x79,0x38,0x38,0x3f;/HELLO 的字形码unsigned ch

11、ar code table3=0xfe,0xfd,0xfb,0xf7,0xef;/ 位选码unsigned char i,a;sbit button=PM7;位定义,不能直接用P1A7void main(void)while(1)for(i=0;i<5;i+)P2=0xff;/ 清屏信号,必须使用if(button=1)P0=table1i;/ 对 1-5 的字形码查表elseP0=table2i;/ 对 HELLO 的字形码查表P2=table3i;/ 对位选信号查表for(a=248;a>0;a-);/ 字形显示延时,可调节通过认真的分析需求,要想在数码管上显示“ 521039

12、113142 ”以及HELLOLOVE ”的字样,就必须在main程序中增加2个量分别为:如下:Unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f,0x6f;/“521039 的字形码.”unsigned char code table4=0x06,0x06,0x4f,0x06,0x66,0x5b;/“113142 的字形码.”unsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/“Hell0 的字形码.”unsigned char code table5=0x00,0x00,0x38

13、,0x3f,0x3e,0x79;/“LOVE 的字 形码同时要改变一下循环变量 for(i=0;i<6,i+) 以便使得程序在单片机的执行中能 够同时作用于数码管的显示, 更为重要的是为了使新增的两个变量更好的参加于 循环。如: for( i=0;i<6,i+) 。与此同时更为重要的是在 for 循环内部增加一个 P3 的字型码查表 ,以便能 够在新增加的一个LED数码管中显示。如: if( button = 1 )P0=table1i;/ “521039 对的字形码查表。”P3 = table4i;/ “113142 对的字型码查表。”P2=table3i;/ “位选码。”最后才

14、是对字符的显示“HELLOLOVE"输出;elseP0=table2i; 1111 “对HELLO LOVE 中的的字形码查表。” P3= table5i;/ “对HELLO LOVE 中的的字形码查表。” P2=table3i;/ “对位选信号查表。”最后可以结合上述分析需求得到完整的数码管动态显示程序:#include <REG52.H>Unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f,0x6f;/“521039 的字 形码.”unsigned char code table4=0x06,0x06,0x4f,0x06

15、,0x66,0x5b;/“113142 的字形码.”unsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/ “Hell0 的字 形码.”unsigned char code table5=0x00,0x00,0x38,0x3f,0x3e,0x79;/“LOVE 的字形码。”unsigned char code table3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/ “位选码。” unsigned char i,a;sbit button=PM7;/“位定义,不能直接用 P1A7。”void main(void)w

16、hile(1)for(i=0;i<6;i+)P2=0xff;/ “清屏信号,必须使用”。if( button = 1 )P0=table1i;/ “521039 对的字形码查表。”P3 = table4i;/ “113142 对的字型码查表。”P2=table3i;/ “位选码。”elseP0=table2i; / “对HELLO LOVE 中的的字形码查表。”P3= table5i;/ “对HELLO LOVE 中的的字形码查表。”P2=table3i;/ “对位选信号查表。”for(a=248;a>0;a-);/“字形显示延时,可调节。”数码管动态显示整体流程图开始YK1按键识

17、别成功否?NY|*尊置显示“ 521039113142”字型码首地址置显示“ HELLOLOVE ”字型码首地址首地址n置字型码偏移量和位选代码查表并送出显示延时2ms并指向下一个偏移量调试及仿真的具体操作1:对Keil的应用操作第一步:双击Keil的桌面快捷方式,启动 Keil集成开发开发软件。软件启动后的界面。第二步: 新建文本编辑窗。点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧 打开一个新的文本编辑窗。C语言程序,也可以第三步:输入源程序。在新的文本编辑窗中输入源程序,可以输入输入汇编语言程序。第四步:保存源程序。保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时

18、文件的扩展名为“ .asm :如果是C语言程序,文件的扩展名使用“ *.C ”(注: 注:第 3步和第4步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序。)第五步:新建立 Keil工程。点击"工程”-"新建工程”命令,将出现保存对话框。第六步:选择CPU型号。如图8所示,为工程选择 CPU型号,本新建工程选择了 ATMEL 公司的AT89C52单片机。第七步:加入源程序到工程中。在选择好CPU型号后,点击"确定"按钮返回主界面,此时可见到工程管理窗中出现“ Target 1 ,点击Target 1 "前面的“ + ”号展

19、开下一层的SOurce Group 1 "文件夹,此时的新工程是空的,Source Group 1 ”文件夹中什么文件都没有,必须 把刚才输入的源程序加入到工程当中。 如图9所示,右击工程管理窗中的“ Source Group 1 ” 出现下拉菜单,点击“增加文件到组'Source Group 1' ”命令,将出现添加文件对话框。第八步:工程目标'Target 1'属性设置。如下图14所示,在工程项目管理窗中的"Target 1" 文件夹上右击,出现下拉菜单,点击“目标'Target 1'属性”命令,就进入目标属性设

20、置界面第九步:源程序的编译与目标文件的获得。BihiLA twim Craijp LEi凹Xg Q wnM-h静 B 2>u 潭 2 Ng Mj. M-ffiTH*. z. 3. RFH1 a.fT<T 5. u 讣mu Lnpuid ClUJ: CddM mu lifwfldi chaia: cad WUchrKE“业«na nimc4i dwii e4cwm hmc¥l <-h«E e4c 尊上*"# *fwr b 4iidB-h E tS-SHdCi"Fj41j 壬虫.不母严while 1 Iii | bwtTcs &q

21、uot;'TAb*3> I Ou 他 曲皿曲* 11乂仇 OiAii I f /Si 皿臼的 h 幵:网TAba-4> i Cm&i ,叶此,Gx-4f , 0=04Oxiij dx5b i : / L LN L-i±ah H.R;码 T«b3n2-1 gr 知叶件 Qw,比 0x3B. DxSi . Dx 口口 i rX/H« 1 LSI 的 H 用:州 Tvfc-sv 3-«i 5do* owGUins?i a »?«»a»31 j/.-L-y/zfli Tffi:Kbl m土u I

22、 (kfidli On£b. afT Onef . Ondl I jp .i*.dupuS>ujd E-acs e 1 T-»r>jc e 1'I JjilcdJiVii t t"COOiCiMv M-»SX*-Q CMC*】。*VTAft'E.! Tail IWT EM fXOft F *_ _ . 1XXOX j«j r Q H«XiX4 |iBj .由此生成了 .hex的文件才能够在ISIS的软件的制图中运行的2:对Proteus仿真软件的应用启动Proteus仿真软件,在原有的制图进行修改,如图:C

23、230pFU119C118XTAL29RST10uFnSENALEP1.0/T229381C3X112M30PFR1n1 1/T2EXP0.O/ADOF0.3/AD3F0.6/AD6F0.7/AD7P2.0/A8P2.1/A9P2.4/A12P2.7/A15P3.0/RXDP3.4/T0P0.1/AD1P0.2/AD2P0.4/AD4P0.5/AD5P2.2/A10P2.3/A11P2.5/A13P2.6/A14P3.5/T1P3.6/WRP3.7/RDP3.1/TXDP3.2/INT0P3.3/INT1该例数码管的段选和位选均用单片机直接驱 实际应用中建议段选用三极管或专用芯片驱构建完成之后

24、,在AT89C52元件上双击鼠标左键打开Edit component对话框。设置 Program File 为“动态显示hex ”,Clock Frequency 为 12MHZ。单击 OK 按钮关闭对话框。单击仿真运行开始按钮,在没有用鼠标按下“ BUTTON ”键时,显示如图:5己 10 39CK3EFC, D=jTUTIjjS S -而按下BUTTON ”键时,则会出现:HELLO LOVE ”字样IHELL 口LDUEUaTVCC 1kx8I通过对原有的数码管动态显示研究,以及对原有的硬件和软件的改进和重新 的设计、执行,才使得新的设计方案得以成功的实施和实现。四:设计总结或设计体会课

25、程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻 炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程随着科学 技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发 技术是十分重要的。单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什 么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的 努力中对单片机的兴趣也在逐渐增加。没想到这项看起来不需要多少技术的工作却是非常需要耐心和精力在两个星期后的今天我已明白课程设计对我来说的意义, 它不仅仅是让我们

26、把所学的理 论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多, 但我相信我们得到的也 会更多!在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。 为 了让自己的设计更加完善,查阅这方面的设计资料是十分必要的, 同时也是必不 可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽 情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想 永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识, 虽然过去 从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高, 这是我 做这次课程设计的又

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论