1 / 16
文档名称:

单片机课程设计.pdf

格式:pdf   大小:2,028KB   页数:16页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机课程设计.pdf

上传人:青山代下 2024/5/21 文件大小:1.98 MB

下载得到文件列表

单片机课程设计.pdf

相关文档

文档介绍

文档介绍:该【单片机课程设计 】是由【青山代下】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【单片机课程设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..课程设计任务书学生姓名:专业班级:电信1203班指导教师:工作单位:信息工程学院题目:设计并实现LED数码管显示器控制器要求:设计一个有4位LED数码管显示器以及有若干的按键的单片机系统,并设计程序实现对4位LED数码管显示内容进行控制,控制操作有:(1)左右移动方向控;(2)移动速度控制。课程设计报告提交:;;;;;;。指导教师签名:年月日系主任(或责任教师)签名:年月日:..摘要随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、I/O接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(puter)。正是由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下能够直接被驱动。由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。本论文重点介绍了用单片机最小系统来实现LED数码管动态显示技术,并且编写了这种显示技术在单片机中实现的源程序及实物连接。关键字:单片机;数码管;最小系统:........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................11附录B芯片介绍..................................................................................................11:..,其实单片机最小系统很简单,就是能使单片机工作的最少的器件构成的系统。最小系统虽然简单,但是却是大多数控制系统所必不可少的关键部分。对于MCS-51单片机,其内部已经包含了一定数量的程序存储器和数据存储器,在外部只要增加时钟电路和复位电路即可构成单片机最小系统。下面对51单片机最小系统需要的时钟电路和复位电路做一下详细的说明。时钟电路单片机系统中的各个部分是在一个统一的时钟脉冲控制下有序地进行工作,时钟电路是单片机系统最基本、最重要的电路。如图1-,让我们先了解下51单片机上的时钟管脚:XTAL1(19脚):芯片内部振荡电路输入端。XTAL2(18脚):芯片内部振荡电路输出端。XTAL1和XTAL2是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。~12MHz之间任选,甚至可以达到24MHz或者更高,但是频率越高功耗也就越大。。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20~40pF之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30~50pF之间。通常选取33pF的陶瓷电容就可以了。另外值得一提的是如果读者自己在设计单片机系统的印刷电路板(PCB)时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2输出的十分漂亮的正弦波,也可以使用万用表测量(把挡位打到直流挡,这个时候测得的是有效值)XTAL2和地之间的电压时,可以看到2V左右一点的电压。:..,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET相连,电压全部加在了电阻上,RESET的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST管脚上保持10ms以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。3./EA(31脚)的功能和接法51单片机的/EA(31脚)是内部和外部程序存储器的选择管脚。当EA保持高电平时,单片机访问内部程序存储器;当EA保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在本实验套件中,上,只使用内部的程序存储器。这一点一定要注意,很多初学者常常将EA管脚悬空,从而导致程序执行不正常。:..图1-(1)元件需求以及选型4个7段数码管,数码管内部由8个发光二极管组成,排成一个8字,可以组成0到9数字以及A-F字符的表示形式,分共阴和共阳两种,共阴表示8个二极管公共极接的是二极管的负极,共阳表示公共极接的是发光二极管的正极。我们选的是共阳的数码管,用74HC573增加驱动,P2口作为段选端口,~。(2)程序原理数码管要亮,必须满足里面的二极管导通,有两个条件,片选打开,数据口要置低(视硬件而定)。首先要得到0到9十个数据的断码。即按硬件的排布,标出对应的二极管控制IO口,得到数值,可以参照我们提供的数据。位选:位选就是开关,控制数码管亮或不亮的,每个数码管都有自己的位选。数据口:数据口就直接接到了IO口上面,低电平有效,灌电流。数码管的显示分为两种:静态显示和动态显示。静态显示:只能显示一个数码管或者几个数码管而且只能同时显示同一个数字,静态显示不需要扫描的,就是说打开片选后不需要关闭,只需要跟换数据口:..出来的数据就可以改变显示的内容。一般静态显示用的比较少,只用在数码管只有一个的情况下。动态显示:动态显示用的很普遍,动态显示可以任意数码管随意显示想要显示的内容。动态显示。需要不断的对数码管进行扫描。原理是开一个片选送一个字节显示,延时一些时间(注:延时时间很重要,没有的话就会显示一片红,超过的话数码管就会闪烁,一般一个数码管延时显示1ms左右就可以了)。然后关闭第一个位选,开启第二个位选,送另外的一个数据,延时,然后关闭低二个位选,送数值,延时……循环,那么就可以看到几个数码管显示出不同的数值了。表1-1四位数码管字形码表显示DPgfedcba共阴共阳字符0001111113FHC0H**********HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88HB011111007CH83HC0011100139HC6HD010111105EHA1HE0111100179H86HF0111000171H8EH图1-2共阴极图1-3共阳极:..--5程序框图:..#include<>#defineuintunsignedint#defineucharunsignedchar#defineZUO1#defineYOU0sbitleft=P1^0;sbitright=P1^1;sbitadd=P1^2;sbitdec=P1^3;intduan[]={0xc0,0xf9,0xa4,0xb0};intwei[]={0xfe,0xfd,0xfb,0xf7};intdirection,speed=400;/***延时函数,大致延时1ms****/voiddelayms(intz){intx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/********显示函数******************/voiddisplay(){inti,j;if(direction==YOU)//右移显示{for(i=0,j=0;i<4;i++){P2=wei[i];P0=duan[j];delayms(speed);j++;}}if(direction==ZUO)//左移显示{for(i=3,j=3;i>=0;i--){P2=wei[i];P0=duan[j];j--;delayms(speed);}}}/*********左右移动模式选择函数**************/voidselect_mode(){if(left==0){delayms(10);if(left==0)direction=ZUO;}if(right==0){delayms(10);if(right==0):../********************/voidselect_speed(){if(dec==0){delayms(10);if(dec==0){speed+=20;if(speed==800){speed=400;}}}if(add==0){delayms(10);if(add==0){speed-=20;if(speed==800){speed=200;}}}}/*********定时器初始化*****/voidtimer_init()//定时器0定时20ms,定时器1定时40ms{TMOD|=0x11;TH0=0xb1;TL0=0xe0;TH1=0x63;TL1=0xc0;ET1=1;ET0=1;EA=1;TR0=1;TR1=1;}voidmain(){timer_init();while(1){display();}}/********定时器0中断函数******/voidtime0()interrupt1//不停检测左右模式选择键是否按下{TR0=0;TH0=0xb1;TL0=0xe0;TR0=1;select_mode();}/********定时器1中断函数******/voidtime1()interrupt3//不停检测速度选择键是否按下{TR1=0;TH1=0x63;TL1=0xc0;TR1=1;select_speed();}:..图1-6实物图图1-7效果图结果分析:通过对课设题目的原理分析,设计,仿真,实物连接。最终成功的完成了课设所需要求。将程序烧入单片机后启动电源开关,。(通过程序内部循环来实现)(通过程序内部延时来实现)。即达到课设要求。:..本文设计的单片机控制数码管显示,已经在我们设计的系统中成功应用,基本达到设计要求。经过这次的课程设计,我得到了不少的收获,一方面加深了对课本理论的认识,另一方面也提高了动手能力。现总结了以下的心得体会。这次的课程设计跟我们以前做的设计不同,因为我觉得这次我是真真正正的自己亲自去完成。所以是我觉得这次课程设计最宝贵,最深刻的。就是设计的过程全是我们学生自己动手来完成的,这样,我们就必须要弄懂课程设计的原理。在这里我深深体会到哲学上理论对实践的指导作用:弄懂实验原理,而且体会到了实验的操作能力是靠自己亲自动手,亲自开动脑筋,亲自去请教别人才能得到提高的。我们做设计绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么设计,那么做了也是白做。设计总是与课本知识相关的。在设计过程中,我们应该尽量减少操作的盲目性提高设计效率的保证,有的人一开始就赶着做,结果却越做越忙,主要就是这个原因。我也曾经犯过这样的错误。我们做设计不要一成不变和墨守成规,应该有改良创新的精神。实际上,在弄懂了设计原理的基础上,我们的时间是充分的,做实验应该是游刃有余的,如果说创新对于我们来说是件难事,那改良总是有可能的。在设计的过程中我们要培养自己的独立分析问题,和解决问题的能力。培养这种能力的前题是你对每次设计的态度。最后,通过这次的课程设计我不但对理论知识有了更加深的理解,对于实际的操作和也有了质的飞跃。经过这次的课程设计,我们整体对各个方面都得到了不少的提高。:..[1]毛谦敏《单片机原理及应用系统设计》北京:国防工业出版社;[2]陈光东赵性初《单片微型计算机原理与接口技术》(第二版)武汉:华中科技大学出版社;[3]李华等《MCS-51系列单片机实用接口技术》北京:北京航空航天大学出版社;[4]戴胜华等《单片机原理与应用》北京:清华大学出版社;[5]李群芳等《单片微型计算机与接口技术》(第三版)北京:电子工业出版社。:..-,是一种高性能硅门CMOS器件。74HC573的八个锁存器都是透明的D型锁存器,当使能(LE)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。图1-874HC573引脚图:..姓名性别男专业、班级电信1203班课程设计题目:设计并实现数码管显示器控制器课程设计答辩或质疑记录:问题1:此次课程设计用的数码管是共阴极还是共阳极?答:用的数码管是共阳极。问题2:此次课程设计的大概的原理是什么?答:这次课设我做的是LED数码管显示器的控制,核心当然是单片机最小系统,定义P0控制位,P2控制段,通过编程来实现LED数码管显示的左右移动和速度变化。并且用74HC573作为锁存器。最终达到课设要求。问题3:这次课设你最大的收获是什么?答:通过这次课程设计,我收获很大。首先,就是对一些仿真软件有了更深的了解并熟练掌握操作方法,为以后的学****工作奠定很好的基础。再就是通过这次课程设计,让我学会了,独立的思考问题,善于发现问题并解决问题。成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:年月日:..