




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共44页XXXXXX基于PIC16F887单片机的数字钟课程设计报告学生姓名_学号_专业班级_指导教师_年月日第2页共44页目录1功能介绍311PIC16F887介绍312DS1307介绍313TC74介绍314LM1602L介绍315蜂鸣器介绍32硬件原理框图43模块介绍431单片机最小系统模块432时间和温度通讯模块533按键模块534蜂鸣器和液晶显示器模块54软件框图75软件功能介绍751端口LCD和IIC初始化及端口若上拉752显示预显示的数字和字母853根据闹钟按键判断954写入初值到时钟芯片955时间加减设置1056显示时间读和显示温度显示字母星期116个人心得体会1261关于PIC课设1262课设过程遇到的问题及解决措施1263我的建议14附录1数字钟的全部C程序15附录2PROTEUS完整仿真图44第3页共44页1功能介绍11PIC16F887介绍PIC16F887单片机共有40个引脚,其中有33个端口引脚,7个电源地和复位引脚。外部晶振设为4MHZ,引脚1接复位按键。此数字钟用到单片机的B端口中断功能,端口若上拉,电平变化下降沿中断。12DS1307介绍DS1307时钟芯片是实时时钟芯片,它提供秒分时日月年和星期等数据,有备用电源,主电源掉电备用,时钟晶振是32768KHZ。其控制寄存器的地址为07,其值0B11010000,代表允许其7脚输出每秒1HZ的方波。其秒分时日月年和星期分别存在地址为00010204050603中。其与单片机的通讯为IIC通讯。13TC74介绍温度传感器TC74是感测周围温度值。TC74芯片的默认值为0B1001101(实验板上芯片调试时的地址为0B1001000,此为仿真时用的地址)。单片机首先向TC74改善地址,地址在字节的高7位,最低位为0表示为写。接着单片机向TC74发送第二个数据,即读温度命令字RTR,即8位0;然后重新开始,单片机再向TC74发送地址,但此时的最低位为1,表示接下来是要读TC74的温度值。最后单片机接收TC74发出的温度值。TC74与单片机的通讯也为IIC通讯。14LM1602L介绍字符型LM016L液晶显示器。要求用4位数据线通讯,传送命令也传送地址。其初始化的格式是固定的,不能更改的,初始化见后面所示。输入到液晶显示器的是所示字符的ASCII码,液晶才能正确显示。15蜂鸣器介绍蜂鸣器是用来设置闹钟用的。当设定闹钟的时间到时,蜂鸣器响,按键按下,停止响。按键模块是用来进行年月日秒分时和星期加减及设定闹钟用的。采用的是电平变化的中断模式。第4页共44页2硬件原理框图220V变压器变压CUP模块液晶显示按键输入DS1307和TC74市电220V电压经变压器变压供CPU使用的低压。DS1307和TC74经CPU显示在液晶上。按键控制DS1307的时间加减和闹钟设置,实现闹钟功能。先在液晶上定位要显示数据的位置,然后将要显示的字符的ASCII码输入到液晶,即可正确数据。模块介绍31单片机最小系统模块此单片机的外部晶振为4MHZ,引脚1接有高电平和复位按钮。端口B口用来进行电平变化中断,端口RC3和RC4用来进行IIC通讯,RC1用来输出高电平给蜂鸣器。端口D端口用来输出命令和数据给液晶显示器。第5页共44页32时间和温度通讯模块DS1307时间芯片可根据输入的数据自动走时。单片机不断地访问DS1307芯片,将访问得到的数据显示在液晶显示器上。其中芯片上读出来的星期是数字星期(01即代表星期一),软件部分将数字星期转换成字母星期(如WED为星期三)。单片机也访问TC74温度传感器,要得到的数据显示在液晶上。温度传感器小数后面有一位,但是设计时只显示到个位,不显示小数点后面的数字。33按键模块按键S1是用来定位时间加减用的,来回按7下,分别对秒分时,星期和日月年。S2可以对时间进行加运算即每按一下,相应的时间加1;S3可以时间进行减运算即每按一下,相应的时间减1;S4是闹钟按键,按第一下,进入闹钟设置模式,此时再按S2或S3可以对时间进行设定。按第二下时,CPU进入比较模式,即把DS1307的时间和设定保存好的时间进行比较,等待设定的时间到时,蜂鸣器开始响。当按第三下时,蜂鸣器停止响,相应的变量清零,从重新开始。第6页共44页34蜂鸣器和液晶显示器模块当定时时间到,RC1输出高电平,二极管导通,蜂鸣器开始响。当RC1输出低电平时,二极管截止,蜂鸣器停止响。液晶显示器用来显示时间,星期和温度,首先要进行显示时间定位,即写入命令。然后进行显示数据输入,即定稿数据。VEE和VSS都拉低,VDD拉高电平。RS为0时,写命令,为1时写数据;R/为1时表示读,0时表示写;E数据使能端,下降沿送入有效。WRD0RD3,数据输入端,使用液晶显示器端口的高4位。第7页共44页4软件框图端口LCD和IIC初始化及端口若上拉显示预显示的数字和字母延迟2秒写入初值到时钟芯片显示时间读和显示温度显示字母星期时间加减设置闹钟设置和进行比较蜂鸣器响C0或2C1C2S4第三次按下蜂鸣器不响C3根据闹钟按键判断该功能在中断程序段中5软件功能介绍51端口LCD和IIC初始化及端口若上拉/初始化端口VOIDCSHVOIDTRISB0B11111111/端口B全为输入TRISC0B00011000/端口C中RC3和RC4为输入,其余为输出ANSELH0B00000000/选择I/O口第8页共44页ANSEL0/选择I/O口OPTION0B00000000/允许若上拉,下降沿中断WPUB0B11111111/B口若上拉TRISA41/A口第5引脚为输入TRISD0B00000000/控制LCD1604,全为输出IOCB0B00001111/允许电平变化中断INTCON0B11001000/允许全局中断,B口电平变化中断FMQ0/蜂鸣器不响LCD_CSH/LCD初始化IIC_CSH/IIC初始化此为对端口LCD和IIC的初始化,上面均有详细的说明,在此不做过多的重复。LCD的初始化,上电时需要延时15MS及以上,此为延时20MS,其C程序见附录。IIC的初始化,初始化过程实际上是对几个相关的寄存器设置的过程,其C程序见附录。52显示预显示的数字和字母CONSTCHARMENU0217“010900628“,“LINYIXING“/完全按照数组中的字符显示整屏VOIDDISP_MENUCONSTCHARACHARI,JFORI0I4/取高4位LCD_WRITE_4R2,FLAG/先写高4位R2R1/高4位清0,取低4位LCD_WRITE_4R2,FLAG/再送低4位DELAY_US10/延时100US/写R1的低4位,FLAG为寄存器选择,1为命令,0为数据VOIDLCD_WRITE_4CHARR1,CHARFLAGLCD_RW0NOP/写模式LCD_RSFLAGNOP/寄存器选择PORTDNOP/RD高4位先清0LCD_E1NOP/使能PORTD|R1NOP/送4位LCD_E0NOP/数据送入有效LCD_RS0NOPPORTD/RD高4位清0此程序的功能的把给定的字符显示到LCD液晶显示器上,字符串有两行,分行显示。先是对要显示的位置进行定位,如第一行第0位。然后将一个字符的高低4位分别送入显示,显示时送入的是ASCII码。53根据闹钟按键判断此为根据C0,1,2来判断的。为0或2时,显示的是时钟芯片的时间,其中为2时,时钟有在比较时间;为1时显示的时闹钟设定的时间。C为3时蜂鸣器不响。其C程序详见附录。54写入初值到时钟芯片LCD_WRITE0B00000001,COM/清屏WRITE_DS13070X07,0X10/写控制字到LCDWRITE_DS13070X00,0X00/0秒WRITE_DS13070X01,0X00/00分WRITE_DS13070X02,0X11/11HWRITE_DS13070X03,0X03/星期3WRITE_DS13070X04,0X08/8日WRITE_DS13070X05,0X05/5月WRITE_DS13070X06,0X12/12年/写DS1307,地址为ADDRESS,数为DATA第10页共44页VOIDWRITE_DS1307CHARADDRESS,CHARDASTART_BITIIC_SENDADDRIIC_SENDADDRESSIIC_SENDDASTOP_BIT/发送数R并等待发送完成,收到从机的应答信号,中断用VOIDIIC_SEND_INTERRUPTCHARRSSPBUFR/发送SSPIF0WHILERW1/在主动模式下,判断发送是否完成WHILESSPIF0/等待发送完成WHILEACKSTAT1/等待从机发送应答信号NOPNOP写入初值到时钟芯片时,要用到IIC通讯,即IIC发送。先送时钟地址,再送要写入数据的地址,再送入数据。此可对时钟芯片的年月日,秒分时和星期进行设定初值。55时间加减设置/校正时候实现“加”功能子程序VOIDINCVOIDIFA7/年部分校正AAAA61/如果A7,则数组6自动加1IFAAAA6AAAA6AAAA60X10/数组6元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA60X99AAAA6AAAA6/如果数组6元素值大于0X99,则整个数都清零IFC0WRITE_DS1307_INTERRUPT0X06,AAAA6/将经过修改的数组元素写入IFC1LCD_WRITE_INTERRUPTLINE14,COMDISP_HEX_INTERRUPTAAAA6第11页共44页此功能从DS1307中读出时间数据,然后对数据进行加减运算,再把修改后的时间写入到时钟芯片中,即可实现对时间的加减运算。由于程序篇幅较长,在此只列出部分加的C程序,其余加C程序及减C程序详见附录。56显示时间读和显示温度显示字母星期READ_DS13070X00,0X07/读时钟芯片(设置闹钟时间是没有这一行指令)DISP_TIMEAAAA/实时显示时间(具体C程序见附录)R1READ_T/读温度传感器的值DISP_TR1/显示温度值DISP_XINGQIAAAA3/显示字母星期/显示字母星期VOIDDISP_XINGQICHARBIFB1/如果B1,则显示MONLCD_WRITELINE113,COM/第二行第13位LCD_WRITEM,DATLCD_WRITEO,DATLCD_WRITEN,DAT/13、14、15分别显示M、O、NELSEIFB2/如果B2,则显示TUELCD_WRITELINE113,COM/同上LCD_WRITET,DATLCD_WRITEU,DATLCD_WRITEE,DAT/同上其完整程序详见附录,在此只给出其中的一部分。/读TC74的温度值SIGNEDCHARREAD_TVOIDSIGNEDCHARR2SEN1/开始条件WHILESEN1/检测开始条件是否完成IIC_SENDTC74_ADD_CONFIG0X20F1/调试用_CONFIG0X3FFFDEFINELCD_ERD6/LCDE读写使能控制DEFINELCD_RWRD5/LCD读1/写0控制线DEFINELINE10B10000000第16页共44页DEFINELINE20B11000000DEFINELCD_RSRD4/LCD寄存器选择数据1指令0/RD4RD7分别接DB4DB7,RD7为忙标志DEFINECOM0/在LCD_WRITE中的第2参数为0表示写命令DEFINEDAT1/在LCD_WRITE中的第2参数为1表示写数据DEFINETC74_ADD0B1001101/TC74的7位地址DEFINERTR0B00000000/TC74的读温度命令DEFINEADDR0B11010000/时钟芯片的地址DEFINEYEAR_PLINE12/年的显示位置DEFINEHOUR_PLINE22/时的显示位置DEFINEKEY_DECRB2DEFINEKEY_INCRB1DEFINEFMQRC1/产生起始位,检测完成起始位DEFINESTART_BITSEN1WHILESEN1/停止位,检查至停止位结束DEFINESTOP_BITPEN1WHILEPEN1/发送重复开始,确定重复开始已完成DEFINERE_START_BITRSEN1WHILERSEN1第17页共44页/接收使能模式,确定接收使能DEFINERECEIVE_ENABLE_BITRCEN1WHILERCEN1/自动应答,检查是否完成应答DEFINEACK_BITACKDT0ACKEN1WHILEACKEN1/不应答,检查是否完成无应答DEFINENOT_ACK_BITACKDT1ACKEN1WHILEACKEN1BANK1CHARDD16/一行LCD显示数据暂存BANK1CHARAAAA7/存放时钟芯片读出来的数据BANK1CHARCCCC7/存放闹钟设定的时间VOIDCSHVOID/初始化VOIDLCD_CSHVOID/LCD初始化VOIDLCD_BUSYVOID/检测LCD是否忙CHARLCD_READVOID/读LCD,忙检测用VOIDLCD_WRITECHAR,CHAR/LCD写1字节,命令或数据VOIDLCD_WRITE_4CHAR,CHAR/LCD写半字节VOIDDISP_CCHAR/在指定行中显示字符,字符在数组DD中VOIDDISP_MENUCONSTCHAR/由常数数组显示整屏字符第18页共44页SIGNEDCHARREAD_TVOID/读温度传感器的温度值VOIDIIC_CSHVOID/IIC的初始化VOIDIIC_SENDCHAR/IIC的发送与接收VOIDDISP_TCHAR/显示温度值VOIDBCDCHAR/BCD码转换VOIDDELAY_USCHAR/延迟程序,10US级VOIDDELAYUNSIGNEDINT/延迟程序,MS级VOIDDELAY_IUNSIGNEDINT/中断用的延迟程序,MS级VOIDDISP_TIMECHAR/显示时钟的时间VOIDDISP_HEXCHAR/将一个字节分两个字节显示VOIDREAD_DS1307CHAR,CHAR/读时钟芯片VOIDWRITE_DS1307CHAR,CHAR/向时钟芯片写入值VOIDINTERRUPTISRVOID/按键中断程序VOIDDISP_XINGQICHAR/星期转换,显示字母星期VOIDINCVOID/按键加1VOIDDECVOID/按键减1VOIDIIC_SEND_INTERRUPTCHAR/中断用IIC发送和接收VOIDWRITE_DS1307_INTERRUPTCHAR,CHAR/中断用写时钟芯片/VOIDREAD_DS1307_INTERRUPTCHAR,CHARVOIDLCD_WRITE_INTERRUPTCHAR,CHAR/中断用写LCDVOIDDISP_HEX_INTERRUPTCHAR/中断用将一个字节显示成两个字节/整屏界面,每行16个字符,最后加一个结束符CONSTCHARMENU0217“010900628“,“LINYIXING“/定义常数第19页共44页CONSTCHARLINE2LINE1,LINE2/定义数组和变量CHARSW,GW,A0,C0,D,I/主程序MAINVOIDSIGNEDCHARR1/DELAY100CSH/端口,LCD和IIC初始化DISP_MENUMENU0/显示整屏DELAY2000/延迟2秒,看清显示是什么LCD_WRITE0B00000001,COM/清屏WRITE_DS13070X07,0X10/写控制字到LCDWRITE_DS13070X00,0X00/0秒WRITE_DS13070X01,0X00/00分WRITE_DS13070X02,0X11/11HWRITE_DS13070X03,0X03/星期3WRITE_DS13070X04,0X08/8日WRITE_DS13070X05,0X05/5月WRITE_DS13070X06,0X12/12年WHILE1IFC0|C2/当C0或C2时执行READ_DS13070X00,0X07/读时钟芯片DISP_TIMEAAAA/实时显示时间R1READ_T/读温度传感器的的值DISP_TR1/显示温度值DISP_XINGQIAAAA3/显示字母星期第20页共44页IFC1/C1时执行DISP_TIMEAAAA/显示闹钟修改的时间R1READ_T/同上DISP_TR1/同上DISP_XINGQIAAAA3/同上IFCCCC2AAAA2/当设定的时间到时,蜂鸣器响/显示字母星期VOIDDISP_XINGQICHARBIFB1/如果B1,则显示MONLCD_WRITELINE113,COM/第二行第13位LCD_WRITEM,DATLCD_WRITEO,DATLCD_WRITEN,DAT/13、14、15分别显示M、O、NELSEIFB2/如果B2,则显示TUELCD_WRITELINE113,COM/同上LCD_WRITET,DATLCD_WRITEU,DATLCD_WRITEE,DAT/同上ELSEIFB3/如果B3,则显示WEDLCD_WRITELINE113,COM/同上第21页共44页LCD_WRITEW,DATLCD_WRITEE,DATLCD_WRITED,DAT/同上ELSEIFB4/如果B4,则显示THULCD_WRITELINE113,COM/同上LCD_WRITET,DATLCD_WRITEH,DATLCD_WRITEU,DAT/同上ELSEIFB5/如果B5,则显示FRILCD_WRITELINE113,COM/同上LCD_WRITEF,DATLCD_WRITER,DATLCD_WRITEI,DAT/同上ELSEIFB6/如果B6,则显示SATLCD_WRITELINE113,COM/同上LCD_WRITES,DATLCD_WRITEA,DATLCD_WRITET,DAT/同上ELSEIFB7/如果B7,则显示SUNLCD_WRITELINE113,COM/同上LCD_WRITES,DATLCD_WRITEU,DAT第22页共44页LCD_WRITEN,DAT/同上/中断子程序VOIDINTERRUPTISRVOIDDELAY_I30/按键去抖RBIF0/标志位清零IFRB30/闹钟键按下A0C1D1IFRB00IFA8A1IFRB10IFRB20IFC1/闹钟键按下IFRB00/闹钟键按下的定位AIFA8A1第23页共44页IFRB10/同上INCIFRB20/同上DECFORI0I9AAAA6AAAA6AAAA6AAAA60X10/数组6元素的低四位大于9时,则低第24页共44页四位清零而高四位进1位IFAAAA60X99AAAA6AAAA6/如果数组6元素值大于0X99,则整个数都清零IFC0WRITE_DS1307_INTERRUPT0X06,AAAA6/将经过修改的数组元素写入IFC1LCD_WRITE_INTERRUPTLINE14,COMDISP_HEX_INTERRUPTAAAA6/月部分校正IFA6AAAA51IFAAAA5AAAA5AAAA50X10/数组5元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA50X12AAAA5AAAA5AAAA5AAAA50X01/如果数组5元素值大于0X12,则整个数都清零再加1IFC0第25页共44页WRITE_DS1307_INTERRUPT0X05,AAAA5/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE17,COMDISP_HEX_INTERRUPTAAAA5/日部分校正IFA5AAAA41IFAAAA4AAAA4AAAA40X10/数组4元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA40X31AAAA4AAAA4AAAA4AAAA40X01/如果数组4元素值大于0X31,则整个数都清零再加1IFC0WRITE_DS1307_INTERRUPT0X04,AAAA4/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE110,COMDISP_HEX_INTERRUPTAAAA4第26页共44页/星期部分校正IFA4AAAA31IFAAAA37AAAA31/如果数组3的元素大于7时,则复位到1IFC0WRITE_DS1307_INTERRUPT0X03,AAAA3/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE113,COMDISP_HEX_INTERRUPTAAAA3/时部分校正IFA3AAAA21IFAAAA2AAAA2AAAA20X10/数组2元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA20X23AAAA2AAAA2/如果数组2元素值大于0X24,则整个数都清零第27页共44页IFC0WRITE_DS1307_INTERRUPT0X02,AAAA2/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE22,COMDISP_HEX_INTERRUPTAAAA2/分部分校正IFA2AAAA11IFAAAA1AAAA1AAAA10X10/数组1元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA10X59AAAA1AAAA1/如果数组1元素值大于0X59,则整个数都清零IFC0WRITE_DS1307_INTERRUPT0X01,AAAA1/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE25,COMDISP_HEX_INTERRUPTAAAA1第28页共44页/秒部分校正IFA1AAAA01IFAAAA0AAAA0AAAA00X10/数组0元素的低四位大于9时,则低四位清零而高四位进1位IFAAAA00X59AAAA0AAAA0/如果数组0元素值大于0X59,则整个数都清零IFC0WRITE_DS1307_INTERRUPT0X00,AAAA0/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE28,COMDISP_HEX_INTERRUPTAAAA0/校正时候实现“减”功能子程序VOIDDECVOIDIFA7/年部分校正AAAA61/如果A0,则数组6自动减1IFAAAA6第29页共44页AAAA6AAAA60X09/数组6元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA6AAAA6AAAA60X99/如果数组6元素高四位大于9时,则整个数值清零再改为0X99IFC0WRITE_DS1307_INTERRUPT0X06,AAAA6/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE14,COMDISP_HEX_INTERRUPTAAAA6/月部分校正IFA6AAAA51IFAAAA5AAAA5AAAA50X09/数组5元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA50X00AAAA5AAAA50X12/如果数组5元素等于0时,则整个数值改为0X12IFC0第30页共44页WRITE_DS1307_INTERRUPT0X05,AAAA5/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE17,COMDISP_HEX_INTERRUPTAAAA5/日部分校正IFA5AAAA41IFAAAA4AAAA4AAAA40X09/数组4元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA40X00AAAA4AAAA40X31/如果数组4元素等于0时,则整个数值改为0X31IFC0WRITE_DS1307_INTERRUPT0X04,AAAA4/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE110,COMDISP_HEX_INTERRUPTAAAA4/星期部分校正IFA4第31页共44页AAAA31IFAAAA39AAAA2AAAA2AAAA2AAAA20X09/数组2元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA2AAAA2AAAA20X23/如果数组2元素值高四位大于9时,则整个数值清零再改为0X23IFC0WRITE_DS1307_INTERRUPT0X02,AAAA2/将经过修改的数组元素写入ELSEIFC1第32页共44页LCD_WRITE_INTERRUPTLINE22,COMDISP_HEX_INTERRUPTAAAA2/分部分校正IFA2AAAA11IFAAAA1AAAA1AAAA10X09/数组1元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA1AAAA1AAAA10X59/如果数组1元素值高四位大于9时,则整个数值清零再改为0X59IFC0WRITE_DS1307_INTERRUPT0X01,AAAA1/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE25,COMDISP_HEX_INTERRUPTAAAA1/秒部分校正IFA1AAAA01IFAAAA0AAAA0AAAA00X09/数组0元素的低四位大于9时,则低四位清零且改为0X09,而高四位则自动减1IFAAAA0AAAA0AAAA00X59/如果数组0元素值高四位大于9时,则整个数值清零再改为0X59IFC0WRITE_DS1307_INTERRUPT0X00,AAAA0/将经过修改的数组元素写入ELSEIFC1LCD_WRITE_INTERRUPTLINE28,COMDISP_HEX_INTERRUPTAAAA0/初始化端口VOIDCSHVOIDTRISB0B11111111/端口B全为输入TRISC0B00011000/端口C中RC3和RC4为输入,其余为输出ANSELH0B00000000/选择I/O口ANSEL0/选择I/O口OPTION0B00000000/允许若上拉,下降沿中断WPUB0B11111111/B口若上拉TRISA41/A口第5引脚为输入第34页共44页TRISD0B00000000/控制LCD1604,全为输出IOCB0B00001111/允许电平变化中断INTCON0B11001000/允许全局中断,B口电平变化中断FMQ0/蜂鸣器不响LCD_CSH/LCD初始化IIC_CSH/IIC初始化/LCD模块初始化VOIDLCD_CSHVOIDDELAY20/延时20MSLCD_WRITE_40B0011,COM/发送控制序列DELAY1/延时1MSLCD_WRITE_40B0011,COM/发送控制序列DELAY_US10/延时100USLCD_WRITE_40B0011,COM/发送控制序列DELAY_US10/延时100USLCD_WRITE_40B0010,COM/4位数据格式LCD_BUSY/LCD忙检测LCD_WRITE0B00101000,COM/4位数据格式,2行,57点阵LCD_WRITE0B00001100,COM/DD21打开显示,CD11光标打开,BD01光标闪烁LCD_WRITE0B00000001,COM/清除显示DELAY2/延时2MSLCD_WRITE0B00000110,COM/输入模式,I/DD11地址加1,SD01显示移位关闭/发送数R并等待发送完成,收到从机的应答信号VOIDIIC_SENDCHARR第35页共44页SSPBUFR/发送SSPIF0WHILERW1/在主动模式下,判断发送是否完成WHILESSPIF0/等待发送完成WHILEACKSTAT1/等待从机发送应答信号NOPNOP/发送数R并等待发送完成,收到从机的应答信号,中断用VOIDII
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州省重点产业人才“蓄水池”第三批岗位专项简化程序招聘46人备考考试题库附答案解析
- 掌握春分季节
- 悦享安全劳动
- 中国电视剧海外传播趋势与展望报告
- 软件安全可信加固-洞察及研究
- 手指画恐龙课件教学
- 四川省泸州市泸县第五中学2025-2026学年高二上学期9月月考思想政治试卷
- 架线数字孪生建模-洞察及研究
- 百度房屋买卖解除合同范本6篇
- 广西钦州市十三中学2025-2026学年高三上学期第八周考试政治试卷(含答案)
- GB/T 19867.6-2016激光-电弧复合焊接工艺规程
- GB/T 19478-2018畜禽屠宰操作规程鸡
- 三级教育考试卷(焊工)答案
- 无生上课课堂教学评价标准
- 深圳低压电工作业-实际操作培训课件-科目四-作业现场应急处理
- 中控岗位培训课件
- 宾馆酒店前台责任书
- 2.2 第2课时 基本不等式的综合应用(课件)高一数学(人教A版2019必修第一册)
- 勿忘国耻教学课件
- 《中国音乐发展简史》PPT课件
- 生活老师管理制度(7)
评论
0/150
提交评论