单片机讨论课

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机讨论课14-通信工程4班2组2张曌(PPT制作、电路图绘制及查阅资料)邱悦(撰写报告、电路图绘制及查阅资料)郑岚方(撰写报告、电路图绘制及查阅资料)小组成员组长组员马欢(撰写报告、电路图绘制及查阅资料)组员陈春(撰写报告、电路图绘制及查阅资料)组员蒲琼(负责撰写报告、电路图绘制及查阅资料)组员组员组员LED数码管静态显示3AddyourtexthereandwritedownyourideasAddyourtexthereandwritedownyourideasLCD1602字符型液晶显示单片机测量环境温度目录LED数码管动态显示01LED数码管静态显示Selectionofamplifiercircuit5proteus电路图设计6keil实现程序RG0000HLJMPMAINORG0000HLJMPMAINORG0100HMAIN:MOVP2,#10HMOVP1,#0A4HORG0100HMAIN:MOVP2,#10HMOVP1,#0A4H6ORG0000HLGMPMAINORG0100HMAIN:MOVP2,#10HMOVP1,#0A4HMOVP0,#92HRETEND给P0,P1,P2口赋值开始主程序运行I/O口P0-P2赋值信号的截取过程静态显示流程结束结果截图02LCD1602字符型液晶显示LCD1602charactertypeliquidcrystaldisplay10设置合适工作状态后,通过I/O口与外加电路相连实现输出显示数据功能。部分1--u1(51单片机)部分2--u2(74LS47)字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。部分3--LCD显示仿真电路图74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字。74LS47为低电平作用。11数字式接口体积小、重量轻显示质量高功耗低LCD液晶显示器优点LCD液晶显示器优点液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高不会闪烁。液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得。12流程图开始LED初始化延时设置第一行显示位置显示第一行内容设置第二行显示位置显示第二行内容LCD显示部分源程序代码13;液晶显示驱动程序;时间是1.2Mhz时钟代码;LCD寄存器地址LCD_CMD_WRequ0LCD_DATA_WRequ1LCD_BUSY_RDequ2LCD_DATA_RDequ3;LCDCommandsLCD_CLSequ1LCD_HOMEequ2LCD_SETMODEequ4LCD_SETVISIBLEequ8LCD_SHIFTequ16LCD_SETFUNCTIONequ32LCD_SETCGADDRequ64LCD_SETDDADDRequ128;复位向量org0000hjmpstartLCD显示部分源程序代码14;程序开始org0100hstring1a:db'!!AMAZING!!'db0string1b:db'!!AMAZING!!'db0string2:db'AvirtualLM032L...'db0string3:db'drivenbyavirtual'db0string4:db'8051processor!'db0start:movA,#038hcallwrcmdloop:movA,#LCD_SETVISIBLE+6;Makethedisplay&blinkvisible:callwrcmdmovR7,#2LCD显示部分源程序代码15loop2:movDPTR,#string1acallwrstrmovDPTR,#200callwtmsmovA,#LCD_CLS;ClearscreencallwrcmdmovDPTR,#string1bcallwrstrmovDPTR,#200callwtmsmovA,#LCD_CLS;ClearscreencallwrcmddjnzR7,loop2LCD显示部分源程序代码16movDPTR,#string1acallwrstrmovDPTR,#400callwtmsmovA,#LCD_SETDDADDR+64callwrcmdmovDPTR,#string2callwrslowmovDPTR,#200callwtmsmovA,#LCD_CLS;ClearscreencallwrcmdmovDPTR,#string3callwrslowmovA,#LCD_SETDDADDR+64callwrcmdLCD显示部分源程序代码17movDPTR,#string4callwrslowmovA,#LCD_SETVISIBLE+7;Showtheblinkcursoraswell.callwrcmdmovDPTR,#2000callwtmsmovA,#LCD_CLS;Clearscreencallwrcmdjmploop;SubroutinetowritenullterminatedstringatDPTRinprogramram.wrstr:movR0,#LCD_DATA_WRLCD显示部分源程序代码18wrstr1:clrAmovcA,@A+DPTRjzwrstr2movx@R0,AcallwtbusyincDPTRpushDPLpushDPHpopDPHpopDPLjmpwrstr1wrstr2:ret;SubroutinetowritenullterminatedstringatDPTRinprogramram.Slowlywrslow:movR0,#LCD_DATA_WRwrslw1:clrAmovcA,@A+DPTRjzwrslw2movx@R0,AcallwtbusyincDPTRpushDPLpushDPHLCD显示部分源程序代码19movDPTR,#100callwtmspopDPHpopDPLjmpwrslw1wrslw2:ret;Subroutinetowritecommand:wrcmd:movR0,#LCD_CMD_WRmovx@R0,Ajmpwtbusy;Subroutinetowritecharacter:wrchar:movR0,#LCD_DATA_WRmovx@R0,A;Subroutinetowaitforbusyclearwtbusy:movR1,#LCD_BUSY_RDmovxA,@r1jbACC.7,wtbusyretLCD显示部分源程序代码20;WaitfornumberofsecondsinAwtsec:pushACCcallwtmspopACCdecAjnzwtsecret;WaitfornumberofmillisecondsinDPTRwtms:xrlDPL,#0FFh;Can'tdoDECDPTR,sodotheloopbyforming2'scomplementxrlDPH,#0FFh;andincrementinginstead.incDPTRwtms1:movTL0,#09Ch;100ticksbeforeoverflow=1msat1.2MHzClockmovTH0,#0FFhmovTMOD,#1;Timer0mode1setbTCON.4;Timer0runswtms2:jnbTCON.5,wtms2clrTCON.4;TimerLCD显示部分源程序代码210stopsclrTCON.5incDPTRmovA,DPLorlA,DPHjnzwtms1retEND03LED数码管动态显示23动态显示流程图动态显示,对于共阴极数码管,把所有数码管的阳极并联后接到单片机IO口上作为段码。把所有阴极顺次接到单片机IO口上作为位码。通过控制位码实现控制单一数码管显示,通过控制段码来控制显示内容。然后通过循环点亮的形式依次点亮各个数码管,并保留一小段时间,只要时间合适就可以让人的视觉看起来都是亮的。当闪烁频率大于50HZ时,人眼就分辨不出来了。24动态显示的电路设计图24实现代码25ORG0000HTT:MOVR4,#0;循环16次KK:MOVA,R4MOVDPTR,#TABLE;存入表的起始地址MOVCA,@A+DPTR;按地址取代码并存入AMOVP2,A;将代码送P0转变为数字显示INCR4LCALLDELAYCJNER4,#16,KKAJMPTTTABLE:DB0C0H,19H,0C0H,0B0H;代码表DB0C0H,19H,0C0H,0B0HDB0C0H,19H,0C0H,0B0HDB0C0H,19H,0C0H,0B0HDELAY:MOVR1,#25;延时L1:MOVR2,#50L2:MOVR3,#250L3:DJNZR3,L3DJNZR2,L2DJNZR1,L1RET26运行结果截图04利用单片机测量环境温度28红外温度传感器热电偶温度传感器数字温度传感器铂电阻温度传感器常见温度传感器29微型化miniaturization低功耗lowpowerconsumption高性能highperformance抗干扰能力强stronganti-interenceability易配微处理器easilymatchedCPUDS18B20温度传感器可直接将温度转化成数字信号供处理器处理30DS18B20应用范围1.冷冻库、粮仓、储罐、电信机房、电缆线槽等测温和控制领域。2.轴瓦、缸体、纺机、空调等狭小空间工业设备的测温和控制。3.汽车空调、冰箱、冷柜以及中低温干燥箱等。4.供热制冷管道热量计量、中央空调分户热能计量等。代码I31********************************************;ReadatemperaturefromtheDS18B20DSWD:LCALLRSTSNR;InitoftheDS18B20JNBF0,KENDMOVR0,#0CCHLCALLSEND_BYTEMOVR0,#44HLCALLSEND_BYTE;SendaConvertCommandSETBEAMOV48H,#1SS2:MOV49H,#255SS1:MOV4AH,#255SS0:DJNZ4AH,SS0DJNZ49H,SS1DJNZ48H,SS2;**********************************************************代码II32********************************************CLREALCALLRSTSNRJNBF0,KENDMOVR0,#0CCHLCALLSEND_BYTEMOVR0,#0BEHLCALLSEND_BYTE;SendReadScratchpadcommandLCALLREAD_BYTE;ReadthelowbytefromscratchpadMOVWDLSB,A;Savethetemperature(lowbyte)LCALLREAD_BYTE;ReadthehighbytefromscratchpadMOVWDMSB,A;Savethetemperature(highbyte)LCALLTRANS12KEND:SETBEARET;**********************************************************33;*************************************************;Sendabytetothe1wirelineSEND_BYTE:;MOVA,R0MOVR5,#8SEN3

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功