《5单片机课程设计-上传.docx》由会员分享,可在线阅读,更多相关《5单片机课程设计-上传.docx(31页珍藏版)》请在课桌文档上搜索。
1、单片机原理及应用课程设计(论文)设计(论文)题目单片机系统小系统设计及应用学院名称ZZZZZZ学院专业名称电气工程及其自动化学生姓名学生学号ZZZZZ任课老师ZZZZZZZ设计(论文)成果教务处制2016年7月I日单片机系统最小系统设计及应用摘要单片微型计算机也称为单片计算机,不但集CPU,RAM.ROM,而且定时,计数和多种接口于一体的微型限制解。单片机成低,功能强,特别好的应用于智能产品和工业自动化生产之中.51单片机是单片机的典型代表之一,本课程设计是利用单片机的学问,通过软件与硬件的结合来实现对51单片机最小系统的设计与探讨,从而达到设计,开发软件与硬件的实力。关键词:51单片机;数码
2、管;矩阵键盘;DS18B20,设计目的单片机原理及应用课程设计是在教学及试5佥基珈上,对课程所学理论学问的深化和提高。因此,要求学生能综合应用所学学问,设计与制造出具有较困难功能的小型单片机系统,并在实践的基本技能方面进行一次系统的训练“能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步驾驭小型单片机系统设计的基本方法,培育独立思索、独立收集资料、独立设计规定功能的堆片机系统的实力:培育分析、总结及撰写技术报告的实力。本次课程设计运用到51单片机的基本学问,焊接技术,数码管的运用,矩阵键盘的理解与运用,温度传感器DSI8B2O的运用以及Kcil软件和stc-isp-15xx
3、-v6S5H下载器的运用。仃利于我们加深和巩固所学学向。前期打算,焊接开发板一、清点器材,打算律接所需的器材有:16个键盘,4个数码管,STC-89C52单片机,9个Rxl灯,电容电阻若干,持针跳冒若干,蜂鸣器,DS18B20,74HC273.74HC244,基座若干,开发板一个,接口若干等一系列原材料。二、律接留意事项I、选用合适的焊锡,应选用焊接电子元件用的低熔点焊锡丝。2、助焊剂,用25%的松香溶解在75%的酒精(重量比)中作为助焊剂“3、电烙铁运用前要上锡,详细方法是:将电烙铁烧热,待刚刚能熔化焊锡时,涂上助焊剂,再用饵锡匀称地涂在烙铁头上,使烙铁头匀称的吃上一U锡.4、焊接方法,把焊
4、盘和元件的引脚用细砂纸打磨干净,涂上助焊剂。用烙铁头活取适舟饵锡,接触焊点,待焊点上的焊锡全部熔化并浸没元件引线头后,电烙铁头沿着元器件的引脚轻轻往上一提离开饵点5、焊接时间不宜过长,否则简洁烫坏元件,必要时可用镶子夹住管脚帮助散热。6,焊点应呈正弦波峰形态,表面应光亮圆滑,无锡剌,锡量适中.7、焊接完成后,要用酒精把线路板上残余的助焊剂清洗干净,以防炭化后的助焊剂影响电路正常工作.8、集成电路应最终焊接,电烙铁要牢靠接地,或断电后利用余热焊接。或者运用集成电路专用插座,焊好插座后再把集成电路插上去。9、电烙铁应放在烙铁架上。10、先焊接小原件,后焊接大原件。三、整体图K(OHI电nFFIIO
5、OHMHTFIIPMll7311JlMK%口笛“小段力两力4tt赛鹰筑惘尺三、温度传感器DS18B20DSI8B2O数字温度传感器接线便利,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,Yf1.M8877.1.TM8874等等.主要依据应用场合的不同而变更其外观“耐磨耐碰,体积小,运用便利,封装形式多样,适用于各种狭小空间设备数字测温柔限制领域。DS1820DSlSZODSi8B2O在开发板上的接线图:初始化(I)先将数据线置高电平T(2)延时(该时间要求的不是很严格,但是尽可能的短一点)(3)数据线拉到低电平“0”。(4)延时750微秒(该时间的时间范围
6、可以从48。到960微杪).(5)数据线拉到高电平“I”。(6)延时等待(假如初始化胜利则在15到60微秒时间之内产生一个由DS18B20所返回的低电平0。据该状态可以来确定它的存在,但是应留意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时限制)。(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8)将数据线再次拉高到高电平“I”后结束。写操作(1)数据线先苴低电平飞”。(2)延时确定的时间为15微秒。(3)按从低位到高位的依次发送字节(一次只发送一位)。(4)延时时间为45微秒。(5)将数据线拉到离
7、电平.(6)重其上(I)到(6)的操作直到全部的字节全部发送完为止。(7)坳终将数据线拉高。读操作(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”.(4)延时3微秒。(5)将数据线拉高T1.(6)延时5微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时60微秒。综合程序设计开机显示HE1.1.,等待按键操作。按A键显示POoI,再按一个键,若为数字键,这数字左移,若为字母键,则返回HE1.1.按B键显示P232,再次按键显示再按一个链,若为数字键,这数字左移,若为字母键,则返回HE1.1.1按C键显示232C,再按一个健,返回HE1.1.按1键显示秒表计时
8、,发光二极管同时闪耀,可记录09999的随意时间,按F键停止计时。按2键数码管轮番显示1F,按F键停止。按3键为潦水灯,按F键停止。按4键为显示室温,按F健停止。按5键蜂鸣器发音,按F键停止。缥合程序如下,# includc# includc#include# dcfincucharunsignedcharunsignedcharcodeDIG-COD1191=0xc0.0xf9.0xa4.0xb().0x99.0x92.0x82.0xf8.0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xc7,0x8c,);codeunsignedcharseg7
9、code11=OxcO,OxIP,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,OxflfJ;CodCunsignedcharseg7codeB=(0x40.0x79.0x24.0x30.0x19.0X12.0x02.()x78.0x(X).0xI(IOxfT);sbitDQ=P2A0;sbitBeep=P2l;unsignedChartemP1.=O;unsignedchartcnpH=O;unsignedintsda(a;unsignedcharxiashul;unsignedcharxiaoshu2;unsignedcharxiaoshu;bitfg=l
10、;voidKcyDown(Void);voidDelay10ms(unsignedintc):unsignedcharKeyValue;intd.e.f=1.g-1,j.h.i.k=I.n.m:unsignedCharl=O;unsignedcharcodemusic_tab|=0x18,0x30,OxIC,0x10,0x20.0x40.OxlC.0x10.0x18,0x10,0x20,0x10,OxIC.OxlO.0x18,0x40.OxlC,0x20,0x20,0x20,OxIC10x20,Ox18.0x20.0x20.0x8().OxFF.0x20.0x30,OxIC,OxIO,0x18
11、,0x20,0x15,0x20,OxIC,0x20,0x20,0x20.0x26,0x40.0x20.0x20.0x2B.0x20,0x26,0x20.0x20.Ox2O,Ox3O,Ox8O,OxFE0x20,0x20,OxIC.Ox10,0x18.0x10.0x20.0x20.0x26,0x20,0x2B,0x20,0x30.0x20.0x2B.0x40.0x20,0x20,OxIC,OxIO,Ox18,Oxl0.0x20,0x20,0x26,0x20.0x2B,0x20,0x30,0x20,0x2B,0x40,0x20.0x30.OxIC.OxIO.Ox18,0x20,0x15,0x20,
12、OxlC,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B.0x20.0x26,0x20,0x20,0x20,0x30,0x80,0x20.0x30.OxlC.OxlO.0x20,OxIO,OxIC,OxIO,0x20.0x20.0x26.0x20.0x2B,0x20,0x30,0x20,0x2B.0x40.0x20.0x15.OxlE0x05,0x20,0x10,OxIC1OxlO,0x20.0x20.0x26.0x20.0x2B,0x20,0x30,0x20,0x2B,0x40,0x20.0x30.OxIC.OxIO.Ox18,0x20,0x15.0x20,O
13、xIC,0x20,0x20,0x20,0x26,0x40,0x20.0x2().0x2B.0x20.0x26,0x20,0x20,0x20,0x30.0x30.0x20.0x30.OxlC.OxlO.0x18,0x40,OxIC,0x20,0x20.0x20.0x26.0x40.Ox13,0x60,Ox18,0x20.Ox15,0x40,0x13,0x40.0x18,0x80,0x00;voidint()interrupt1TH0=0xd8;T1.O=Oxef;l-;Ivoiddelay2(unsignedcharr)(unsignedo=3*r;whilc(-o);Ivoiddclayms2
14、(unsignedchars)whilc(-s);Jvoid0j-);Jvoiddclayl(uchari)ucharj,k;for(j=i;j0:j-)ror(k=l25;kX);k-);voidlnit.DS18B20(void)(unsignedcharx=0:DQ=I;delay(8);DQ=O;delay(80);DQ=;delay(5):x=DQ;dclay(20):IRcadOncChartvoid)Iunsignedchari=0:unsignedcharda=O;for(i=8;i0;i-)IDQ=I;delay(l);DQ=O;dat=l;DQ=I;if(DQ)dat=0x
15、80;dclay(4);rcturn(dat);voidWritcOneChar(unsignedchardat)IunsignedChari=0;fbr(i=8;i():i-)(DQ=0:DQ=dat&()xOI;delay(5);DQ=I;dat=l;Jdclay(4);IvoidRcadTcmpcratiirc(Void)Ini1.DS18B2(X);WriteOneChartOxcc);WritConCChar(OX44);delay(125);Init-DS18B20();WriteOneChartOxcc);WritcOncChar(Oxbc);tenp1.=ReadOneChar
16、():ICmPH=RCadoneCharO;if(tcmpH0x7f)tcmp1.=tcmp1.;temU=ienH+l;fg=O;)sdala=Icnip1./16+tcmpH*16;xiaoshuI=(Iemp1.AOxOf)*10/16:xiaoshu2=(tcmp1.OxOf)*100l6%IO;Xiaoshu=Xiaoshu1*10+xiaoshu2:Jvoid1.ed(unsignedintdate)Iif(fg=DXBYTE0xb0()0=scg7coO)KcyDownO;if(KeyValue=l1)f=-l;if(KcyValue9)XBYTEOxBOOO=DIG_CODE|
17、6J;XBYTEOxaOOOI=DIG-CODEU4):XBYTE0x90(X)I=DIG_CODEIl7;XBYTE0x8000=DlG-CODE17;JIf(KeyValue=Il)intw=O.=O,y=O.z=O;XBYTE0xB0001=D1G.CODE118);XBYTEOxa(XX)|=DIG_CODE2|;XBYTE0x90(X)I=DlG_CODE3:XBYTE0x8000I=DlGj3ODE2;DcIayIOms(100);XBYTE()xB(MX)I=OxbHXBYTElOXaOoOI=Oxbf:XBYTE0x900Ol=Oxbf;XBYTEGx80()0=0xbf;Ke
18、yValue=IO:whilc(g0)KcyDvn();if(KeyValue=ll)g=6;if(KeyValue9)XBYTE0xB()()0|=DlG_CODE|I6J;XBYTEOxaO=DIG-CODE14;XBYTE0x9000=DlGJ30DE17;XBYE()x8(X)()=DlG,CODEll7;if(KeyValue=12)XBYTEOxBO(X)l=DIG.CODE21;XBYTEOxa(X)0)=DIG_CODE3hXBYTE0x9000=DIG.CODE2;XBYTE0x8()00|=DIG_CODE|12;Jif(KcyVakic=Dfor(j=0=9*)99)(X
19、BYTE0xB000=DIG_CODE(j/l000%10;XBYTE0xa0l=DIG,DEgl00%10;XBYTE0x9000I=DlG_CODEwlO%IO;XBYTE0x8000=DIG-CODEj%l0;Delay10ms(92);KcyDown();if(j%2=l)Pl=Ox(X);if(j%2=0)PI=OxfT;if(KeyValue=15)(j=I(XXX);if(KeyValue=2)fbr(c=0=15;c+)XBYTEOxBOOO=DIG.CODEe;XBYTEtOXaoOO=DK1.CoDEe;XBYTE0x9000=DIG_CODE(eJ;XBYTE0x8000
20、=DlG_CoDEc;Delay10ms(50);if(c=l5)e=-l:KcyDownO;if(KeyVaIue=15)e=l(KXX);7break;if(KeyValuc=3)PI=Oxie;forth=0;h7;h+)PI=CroI-(PIJ);Ddayl0ms(l5);KeyDown();if(KcyVaIuc=15)(h=8;Pl=OxfF;JIfor(h=0;h()(ReadTeinperature();1.cd(sdata);KeyDoWn0;if(KcyValuc=l5)XBYTE0xB(X)O=DIG.CODEI151;XBYTEOxaOOO|=DIG_CODEH5;XB
21、YTE0x9000=DlG_CODE|15;XBYTE(Ox8(XX)|=DIG_CODE|I5;k=-l;if(KeyValue=5)unsignedcharp,r;unsignedcharo=0:TMOD&=OXof;TMODI=OxOI;THo=OXd8:T1.o=OXef;1E=0x82;play:whiled)(a:p=music-iaboj;if(p=0x(X)o=0.delayms2(l(MX);gotoplay;elseif(=0xf11o=i+o;delayms2(I(X),TR()=();gotoa;)elser=musicjabo+.I=music-tabo+;)TR0=
22、l;whilc(l!=0)Bccp=Bcep.dclay2(r):TRO=O;)KeyDown();if(KcyValuc=15)(Becp=P2I;voidKeyDown(Void)XBYTE0xCO00=0X07;m=XBYTE(0xC000;m=n()xf;if(m!=OxOf)if(m=0X0c)KcyValuc=I;if(in=OX()d)KeyValue=5:if(m=0X0b)KcyValuc=9;if(m=0X07)KeyValue=12;XBYE0xC(X)0=0X0b:m=XBYTEOxCOOO;m=m&0x0f;if(n!=xf)if(m=OX()e)KeyValue=2
23、;if(m=0X0d)KcyValue=6;if(n=OX()b)KeyVaIue=O;if(m=0X07)KcyVaIue=13:XBYTEOxCOOO=OXOd;m=XBYEOxC(XX)j;m=m&0x0f;if(m!=OxOf)(if(m=0X0e)KeyValUe=3;if(m=0X0d)KcyValuc=7;if(m=0X0b)KeyVaIue=IO;if(m=0X07)KcyValuc=14;XBYTEIoXQ)(X)I=OXOe;m=XBYTE0xC0:m=m&()xOf;if(m!=OxO)if(m=0X0c)KCyVaIUC=4;if(m=0X0d)KeyValue=8;i
24、f(m=0X0b)KcyVaIuc=II;if(m=0X07)KeyValue=15:IWhile(n0;c-)fbr(b=38b0zb-)fbr(a=130;a0;a-);设计内容展示开机显示HE1.1.,等待按键操作。HEBB按A键显示PoOl,依次按276键,如图:按B键显示P232,再次按键显示一-,依次按678.如图:按C键显示232C,再按一个键,返回HE1.1.。按1键显示秒表计时,发光二极管同时闪耀,此时已记录到120秒。按3键为流水灯,按F键停止。按4键为显示室温,此时寝室室阻26.12摄氏度.设计总结通过这次单片机设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际
25、当中去,而且我还学会如何去培育我们的创新精神,从而不断地战胜臼己,超越自己,同时也使我相识到自身存在的不足之处,无论是理论上还是遇到问题的处理实力上都还有待提高,而且这也激发了我今后努力学习的爱好.发觉问题、提出问题、分析问巡、解决问题和实践实力的提高都会受益于我在以后的学习、工作和生活中学生学习心得通过这次单片机设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培育我们的创新精神,从而不断地战胜自己,超越自己,这也激发了我今后努力学习的爱好。发觉问题、提出问题、分析问题、解决问题和实践实力的提高都会受益于我在以后的学习、工作和生活中通过这次设计,我发觉了自己的不足之处,比如动手实力还需加强,我将不断发展壮大自己,争取在以后的学习生活中有更好的表现。特别感谢各位老师在本次试验中的细心指导!学生(签名):年月日诚信承诺本人慎重声明所呈交的课程报告是本人在指导老师指导下进行的探讨工作及取得的探付成果。据我所知,除了文中特殊加以标注的地方外,论文中不包含其他人已经发表或撰写过的探讨成果。与我一同工作的同学对本文探讨所做的贡献均已在报告中作了明确的说明并表示谢意。学生(签名):任课老师评语成果评定:任课老师(签名):年月日