收藏 分享(赏)

电工综合实训教案.ppt

上传人:hwpkd79526 文档编号:8369105 上传时间:2019-06-23 格式:PPT 页数:70 大小:874KB
下载 相关 举报
电工综合实训教案.ppt_第1页
第1页 / 共70页
电工综合实训教案.ppt_第2页
第2页 / 共70页
电工综合实训教案.ppt_第3页
第3页 / 共70页
电工综合实训教案.ppt_第4页
第4页 / 共70页
电工综合实训教案.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、一、实训目的 熟悉常用温度传感器AD590的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下: 温度设定范围4090,最小区分度1,标定误差1。 用十进制数码显示水的实际温度。 环境温度降低时,温度控制的静态误差1。,第10章 综合实训,课题一 水温控制系统设计,三、背景知识 1、AD590温度传感器简介AD590是美国AD公司生产的单片集成两端感温电流源。它的测温范围为-55+150,工作电压范围为4V30V,可以承受44V正向电压和20V反向电压,输出电阻为710M。它产生的电流与绝对温度成正比,非线性误差为0.3。图101为AD590的

2、引脚图,表101为AD590温度与电流的关系表。(a)引脚 (b)封装 (c)图形符号图101 AD590引脚、封装及图形符号,表101 各温度与电流、电压参考关系表,AD590是电流输出型器件,必须利用接口电路将AD590输出的电流信号转换成电压信号,再经A/D转换器转换成数字信号,提供给单片机处理。在,2、AD590接口电路,表101中,列出了在不同温度值下的AD590的输出电流,通过图102的放大电路可将输出电流转换成05V的模拟电压。,图102 温度采集电路,四、硬件电路硬件电路由单片机、温度检测模块、加热控制模块、键盘设定模块及数据显示模块构成。,1、单片机选择由于系统对控制精度的要

3、求不高,所以选用内部具有程序存储器芯片的AT89C51就可以满足要求了。2、温度检测模块温度检测模块由温度传感器、信号放大器及A/D转换器组成。由AD590将温度转换成电流信号再经信号放大器得到对应的模拟电压,再经ADC0809转换后接入单片机。如图103所示。,3、加热控制模块加热控制信号经反相器反相后,驱动固态继电器(SSR)工作,从而接通或断开加热丝两端电源,实现对水的加热控制。加热控制电路如图103所示。为了使加热控制更加精确,系统采用了三组加热电炉丝组合实现,当温差小于5C时,仅A组加热丝工作;当温差在5C10C之间时,采用A、B两组加热控制;当温差大于10C时,采用A、B、C三组加

4、热控制。 4、键盘设定及数据显示模块键盘扫描由11个按键及3位LED共阳极显示器组成。通过P1、P2口直接驱动键盘,为了简化显示接口,这里采用了串行口扩展LED显示器。如图103所示。,图103 水温控制系统硬件原理图,五、软件设计 1、程序结构设计 (1)主程序用于进行初始化处理,包括各端口的初始化,定时/计数器的设定、中断允许的设定等。同时进行键盘的扫描输入。图104为主程序流程图。 (2)定时中断服务程序通过单片机内部的定时器T0进行50ms定时,再通过寄存器R6进行计数,以实现1s定时中断的要求。进入中断服务程序后,可进行当前温度的检测及显示,根据所测值与设定值比较进行温度控制等。图1

5、05为中断服务程序流程图。,图104 主程序流程图 图105 定时中断服务程序流程图,(3)温度检测程序温度检测采用每1s定时采样的方式,为了实现温度的准确检测,采用了平均值滤波法抗干扰。即连续4次启动ADC0809进行A/D转换,求取转换结果的平均值,存入指定单元,以得到检测温度值。图106为温度检测程序流程图。 (4)温度控制程序通过比较键盘设定值与温度检测值的差别,按照一定的控制规律,控制输出口线的状态,实现三组加热丝的控制。图107为温度控制程序流程图。 (5)温度显示程序在每次温度检测后,进行一次温度显示刷新;在进行温度设定时,显示设定温度值。,2、主要程序模块清单 主程序:,ORG

6、 0000HAJMP MAINORG 000BHAJMP T0INTORG 0030HMAIN: MOV SP,#60HMOV P1,#0FFH;关电炉,开显示MOV SCON,#00H ;设置串行口工作;方式0,发送MOV TMOD,#01H ;定时器初始化MOV TH0,#3CH ;50ms定时初值,MOV TL0,#0B0HMOV R6,#14H ;1s定时用(50ms20次)MOV 5DH,#00H ;显示缓冲区清零MOV 5EH,#00HMOV 5FH,#00HACALL DISPSETB ET0SETB EASETB TR0 LM0:ACALL KEYSCAN;调用键盘扫描子程序(

7、略),;用于设定温度值AJMP LM0,图106 温度检测程序流程图,图107 温度控制程序流程图,定时中断服务程序: T0INT: MOV TH0,#3CHMOV TL0,#0B0HDJNZ R6,T0END;1s未到,中断返回CLR TR0CLR EAMOV R6,#14H ;恢复R6初值ACALL TADC ;调用温度检测子程序ACALL XSCL ;调用标度转换子程序ACALL DISP ;调用显示子程序ACALL TCONT;调用温度控制子程序SETB TR0SETB EA T0END: RETI,温度检测子程序:TADC: MOV 50H,#00H ;清存检测值单元MOV B,#0

8、0H MOV R7,#04H ;设置转换次数MOV DPTR,#7FFFH;送ADC0809地址 TT0: MOVX DPTR,A;启动A/D转换JB P3.2,$ ;等待转换结束MOVX A,DPTR;读A/D转换数据ADD A,50HMOV 50H,AJNC TT1;是否超出8位二进制范围INC B,TT1: DJNZ R7,TT0 ;4次转换是否完成CLR C ;求4次A/D转换的平均值XCH A,BRRC AXCH A,BRRC ACLR CXCH A,BRRC AXCH A,BRRC AMOV 50H,A ;平均值存50HRET,温度控制子程序:TCONT: MOV A,51HCLR

9、 CSUBB A,50H ;设定值实测值MOV R0,AJNC CCPR ;小于设定温度,接通相应加热器MOV P1,#0FFH ;否则,关闭加热器AJMP CONEND CCPR: MOV A,R0SUBB A,#19HJC CCPR1,MOV P1,#0F8H ;开三组加热器AJMP CONEND CCPR1: MOV A,R0SUBB A,#0CHJC CCPR2MOV P1,#0FCH ;开两组加热器AJMP CONEND CCPR2: MOV P1,#0FEH ;开一组加热器 CONEND: RET,显示子程序: DISP: MOV R2,#03H ;显示数据的个数MOV R1,#5

10、DH ;显示缓冲区首址SETB P1.3 DL0: MOV A,R1 ;取要显示的数MOV DPTR,#TABMOVC A,A+DPTR ;查字型码MOV SBUF,A ;送出数据 DL1: JNB TI,DL1 ;是否输完一个字节CLR TI ;清发送完标志INC R1DJNZ R2,DL0 ;三个数是否都显示完?RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;09字型码DB 92H,82H,0F8H,80H,90H,六、总结与提高设计、调试大型程序时,应该: 先根据要求划分模块,优化结构; 再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调

11、用; 接着根据各模块性质和功能将各模块细化,设计出程序流程图; 最后根据各模块流程图编制具体程序。,调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。,在这个课题中,采用了软件滤波方式提高检测环节的准确,并且采用了三组加热控制提高了温度变化的精度。在此基础上,还可以增加液面检测、缺水报警电路及打印电路等其它辅助电路的设计,使这个控制系统更完善。,课题二 用88点阵显示器制作电子显示屏,一、实训目的 熟悉88点阵显示器与单片机的接口电路及其设计方法; 学会模块化程序设计方法。 二、课题要求制作一个88点阵显示器。要求如下:1.

12、 显示“电子设计”四个文字;2. 显示方式可由K1、K2和K3三个键选择:K1为逐字显示,K2为向上滚动显示,K3为向左滚动显示。,三、硬件电路显示器采用AT89C51单片机作控制器,时钟频率为12MHz,88点阵显示器采用共阳极结构,其电路如图108所示。P0作为字符数据输出口,P2为字符显示扫描输出口,P1.0P1.2口分别接开关K1、K2、K3,通过改变电阻(270)的大小可改变显示字符的亮度,驱动用9012三极管。,图108 硬件电路图,四、软件设计1、程序结构设计 (1)主程序主程序用于对系统进行初始化,扫描按键开关状态,由按键标志位值(00H、01H、02H)决定显示的方式。主程序

13、流程图如图109所示。,图109 主程序流程图,(2)初始化子程序用于对端口进行复位操作,将显示用的字符数据从字符表中装入内存单元50H6FH中。字符表中的每个文字占用8个地址单元。 (3)显示子程序显示子程序由显示功能选择程序和显示控制程序组成。显示功能选择程序: 负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。,显示子程序: 负责对指定8个地址单元的数据进行输出显示。显示一个完整文字的时间约为8ms。在显示子程序中,1ms延时程序是用调用键扫描子程序的方法实现的。图1010为逐字显示及向上滚动显示方式

14、时的显示控制程序流程图。 (4)按键扫描程序用于将按键的状态扫描至20H单元的低三位(20H.0、20H.1、20H.2)中。同时在程序中利用按键扫描程序代替显示程序中的1ms延时程序,既可以提高按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。,图1010 逐字显示及上移显示程序流程图,2、主要程序模块清单 主程序:START: MOV 20H,#00H ;20H内存单元清0SETB 00H ;20H.0位置1 START1: LCALL CLEARMEN ;调用上电初始化子; 程序JB 00H,FUN0 ;20H.0位为1,执行FUN0JB 01H,FUN1 ;20H

15、.1位为1,执行FUN1JB 02H,FUN2 ;20H.2位为1,执行FUN2AJMP START1,初始化程序:CLEARMEN: MOV A,#0FFH ;四端口置1MOV P1,A MOV P2,A MOV P3,A MOV P0,A MOV DPTR,#TAB;取“电子设计”字;符表首址CLR A MOV 21H,A ;21H-24H内存单元清0MOV 22H,A MOV 23H,A MOV 24H,A MOV R3,A ;R3寄存器清0,MOV R1,#50H ;设字符表移入内存;单元首址MOV R2,#20H;设查表次数(32次) CLLOOP: MOVC A,A+DPTR;查表

16、字符数据移入;内存单元MOV R1,AMOV A,R3INC A MOV R3,A INC R1 DJNZ R2,CLLOOP;是否已查表32;次,未完转CLLOOPRET,TAB: DB 0EFH,83H,0ABH,83H,0ABH,83H,0EEH,0E0H ; 电DB 0FFH,0C7H,0EFH,83H,0EFH,0EFH,0CFH,0EFH ; 子DB 0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H ; 设DB 0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH ;计,键扫描子程序:KEYWORK:MOV P1,#0FFH;置输入状

17、态JNB P1.0,KEY1 ;P1.0为0(键按下)转KEY1JNB P1.1,KEY2 ;P1.1为0(键按下)转KEY2JNB P1.2,KEY3 ;P1.2为0(键按下)转KEY3 KEYRET: RET KEY1: LCALL DL10MS ;按键1功能处理,延;时10ms削抖动JB P1.0,KEYRET ;是干扰转KEYRET结束SETB 00H ;置逐字显示方式标志;(20H.0=1)CLR 01H CLR 02HRET ;子程序返回,KEY2: LCALL DL10MS;按键2功能处理JB P1.1,KEYRETSETB 01H ;置上移显示方式标志;(20H.1=1)CLR

18、 00HCLR 02H RET KEY3: LCALL DL10MS ; 按键3功能处理JB P1.2,KEYRET SETB 02H ;置左移显示方式标志;(20H.2=1)CLR 01H CLR 00H RET,显示功能选择程序:FUN0:MOV 30H,#80H;逐字显示,1帧显示时间;(约1s)MOV 31H,#08H ;换帧跳转步距为8LJMP DISP1 ;转显示子程序DISP1 FUN1:MOV 30H,#0AH ;上移显示,1帧显示时间;(约80ms)MOV 31H,#01H ;换帧跳转步距为1LJMP DISP1 ;转显示子程序DISP1 FUN2:LJMP DISP2 ;左

19、移显示,显示控制程序:DISP1: MOV B,#50H ;显示数据首址MOV R4,30H ;放入1帧显示时间控制数据 MOV R5,31H ;放入跳转步距控制数据 LOOP: LCALL DISPLAY ;调用显示子程序一次DJNZ R4,LOOP ;1帧显示时间未到再转;LOOP循环MOV R4,30H ;1帧显示时间到,重装初值MOV A,B,CJNE A,#68H,CONT;不是末地址转CONTAJMP START1 ;是末地址,一次显示结束;跳回START1 CONT:ADD A,R5 ;次帧扫描首址调整MOV B,A AJMP LOOP ;转LOOP进行次帧扫描,显示子程序:DI

20、SPLAY: MOV A,#0FFH MOV P0,A ;关显示数据MOV P2,A ;关扫描MOV R6,#0FEH ;赋扫描字MOV R0,B;赋显示数据首地址MOV R7,#08H ;一次扫描8行 DISLOOP: MOV A,R0 ;取显示数据MOV P0,A ;放入P0口MOV P2,R6 ;扫描输出(显示;某一行)LCALL DL1MS ;亮1毫秒INC R0 ;指向下一行数据地址MOV A,R6 ;扫描字移入A,RL A ;循环左移一位MOV R6,A ;放回R6DJNZ R7,DISLOOP ;8行扫描未完转 DISLOOP;继续RET ;8行扫描结束1毫秒延时子程序:DL1M

21、S: MOV R3,#64H ;100(10+2)s LOOPK: LCALL KEYWORKDJNZ R3,LOOPKRET,五、总结与提高该课程设计中,可以看出LED点阵显示的控制是在七段LED数码管显示控制的基础上扩展实现的,二者都是采用动态扫描方式进行设计,从原理上是完全相同的。在这个课题的基础上,还可扩展多个LED点阵显示以实现更加复杂的分批显示模式及中文字幕的显示。,课题三 电子万年历的设计与制作一、实训目的熟悉DS12887时钟日历芯片的特性及设置方法,DS12887芯片与单片机的接口电路及其设计方法; 学会模块化程序设计方法。,二、课题要求制作一个可调万年历。要求如下: 内定时

22、间为2000年1月1日12点00分00秒,提供给新产品或换电池时使用。 时间调整:开机时,光标停在“年”,移动光标依次修改年、月、日、时、分、秒。 每按P1.0一次,光标依年、月、日、时、分、秒顺序移动。 每按P1.1一次,光标所在位置的值加1。 每按P1.2一次,光标所在位置的值减1。 采用LCD液晶显示器显示。,三、背景资料 时钟日历芯片DS12887:,能够自动产生年、月、日、时、分、秒等时间信息, 芯片内部带有锂电池,外部掉电时,其内部时间信息能够保持10年之久; 有12小时制和24小时制两种工作模式; 时间的表示方法有两种:二进制数表示和BCD码表示。 用户可对DS12887进行编程

23、以实现多种方波输出, 用户可对其内部的三路中断通过软件进行屏蔽。,1、引脚说明Vcc:直流电源+5V输入,当Vcc的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息; 当Vcc的输入小于+3V时,DS12887会自动将电源切换到内部自带的锂电池上,以保证内部的电路能够正常工作。,图1011 DS12887引脚图,当Vcc输入为+5V时,用户可以访问DS12887内RAM中的数据,并可对其进行读、写操作;,GND:地 MOT:总线模式选择当MOT接Vcc时选用Motorola总线模式,当MOT接GND时选用Intel总线模式。 SQW:方波输出当供

24、电电压Vcc大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。 AD0AD7:双向地址/数据总线。 AS:地址有效输入。 DS/ :数据选通/读允许当MOT接Vcc时作为数据选通;当MOT接GND时,作为读允许输入。,R/ :读/写允许输入。若MOT接Vcc,该引脚为高电平时读操作,为低电平时写操作;若MOT接GND,该引脚作为写允许输入。:片选输入。低电平有效。:中断请求输出。低电平有效。:复位端。低电平有效,复位操作不影响时钟日历工作。 NC:空引脚。,2、存储器分配与设置DS12887片内RAM与寄存器地址分配见图1012。DS1288

25、7带有128字节片内RAM:,10字节的时标寄存器:用来存储时间信息,地址00H09HCPU可以通过读取时标寄存器获得时间与日历值,也可以编程设置其初值,时标寄存器的值可以用二进制或BCD码表示。 4字节的控制寄存器:用来存储控制信息,地址0AH0DH用户可通过对控制寄存器编程实现从SQW引脚输出多种不同频率的方波,并可对其内部的三路中断通过软件进行屏蔽。 114字节作为通用RAM供用户使用,地址为0EH7FH。,1012 片内RAM与寄存器地址分配,时标寄存器的数据格式,见下表所示。,控制寄存器的格式寄存器A 用于选择时钟频率、中断周期和SQW输出频率,格式如下:,UIP:更新周期标志。当U

26、IP=1时,表示芯片正处于或即将开始更新周期,在此期间不允许读写时标寄存器;当UIP=0时,表示没有更新周期,此时可读时标寄存器。DV2DV0:芯片内部振荡器RTC控制位。当芯片复位后500ms开始第一个更新周期。将这3位设置成010,可使芯片以内置的32.768kHz的振荡频率工作。RS3RS0:周期中断可编程方波输出速率选择位。这4位不同的组合可以产生不同的方波输出,程序可以通过设置寄存器B的SQWE和PIE位控制是否允许周期中断方波输出。RS3RS0与中断周期及SQW输出频率的对应关系如表103所示。,表103 时钟频率选择,寄存器B 主要用于设置芯片的工作状态,格式如下:,SET:允许

27、更新周期位。可读/写,不受信号的影响。当SET=0时,芯片处于正常更新状态;当SET=1时,芯片正常更新被禁止。 PIE、AIE、UIE:分别为周期中断、闹钟中断、更新周期结束中断允许位。各位分别为“1”时允许发出相应的中断,由端输出。其中,UIE位在复位或设置SET为1时清零。,SQWE:方波输出允许位。 当SQWE=1,按寄存器A输出速率选择位所确定的频率输出方波; 当SQWE=0,SQW脚保持低电平。 DM:时标寄存器格式选择位。 DM=0,为BCD码; DM=1,为二进制码。 24/12:24小时或12小时模式设置位。 24/12=1,选择24小时工作模式; 24/12=0,选择12小

28、时工作模式。 DSE:夏令时允许标志位。,寄存器C 为中断标志位寄存器。特点:程序读寄存器C或复位后,该寄存器的内容将自动清零。格式如下:,IRQF:中断申请标志位。该位逻辑表达式为:IRQF = PF PIE+AF AIE+UF UIE。当IRQF=1时,IRQ引脚将输出低电平。,当DSE=1时,夏时制设置有效。在四月的第一个星期日的1:59:59 AM,调到3:00:00 AM;在十月的最后一个星期日的1:59:59 AM,调到1:00:00 AM。 当DSE=0无效。,寄存器D 为状态标志寄存器,只有一个标志位VRT(D7),其余各位均为0。格式如下:,VRT:芯片内部RAM与寄存器内容

29、有效标志位。该位为“1”时,表示芯片内部RAM和寄存器内容有效。读该寄存器后,该位将自动置“1”。,PF、AF、UF:这三位分别为周期中断、闹钟中断、更新周期结束中断标志位。只要满足各中断的条件,相应的中断标志位将置“1”。寄存器C的D3D0位为0,不使用。,四、硬件设计硬件电路见图1013。采用AT89C51单片机作控制器,时钟频率为12MHz。显示器可采用LED显示,但由于LED数码显示所需的数码管较多,这里选用LCD显示器实现。P1.0P1.2口分别接开关K1、K2、K3,分别用于光标的移动及整定时间时的数字调整。,图1013 万年历硬件原理图,五、软件设计1、内部控制寄存器命令字设置

30、(1)DS12887初始化:给寄存器A、B、C、D送控制字(片选有效)(0AH)=20H 设置DS12887时钟频率为32.768kHz,DV2DV0=010;(0BH)=82H 设置DS12887更新周期停止,可进行时钟设定,时间和日期采用BCD码,时间单元为24小时计时方式。 (2)DS12887开始计时:设置(0BH)=12H 由UIE=1激活,实现时钟输出显示更新。 (3)LCD液晶显示控制器设置(略),2、程序结构设计(1)主程序 用于实现初始化操作,包括中断设置、DS12887时钟芯片及LCD液晶显示控制器的初始化设置等。流程图见1014所示。 (2)外部中断0服务程序用于实现DS

31、12887时钟芯片更新值的输出及显示操作。流程图见1015所示。 (3)按键扫描子程序用于将三个按键的输入状态扫描至89C51相应的寄存器中,进行光标移动、加1或减1的处理。,(4)显示子程序用于将显示缓冲区数据依次输出到LCD显示器上。 (5)加1处理子程序将加1按键的输入状态转换为对相应存储单元的加1操作,并将BCD码转换成ASCII码送显示缓冲区。 (6)减1处理子程序将减1按键的输入状态转换为对相应存储单元的减1操作,并将BCD码转换成ASCII码送显示缓冲区。 (7)内定时间写入子程序用于将内定时间00年1月1日12点00分00秒输入DS12887相应的时标寄存器中。,图1014 主

32、程序流程图图 1015 中断服务程序流程图,3、主要程序模块清单 主程序:ORG 0000HAJMP MAINORG 0003AJMP EX0INT MAIN: MOV SP,#60H ;设置堆栈指针ACALL BUSY ;调用检测LCD是否忙;的子程序MOV A,#01H ;LCD清屏MOV DPTR, #8100H ;送LCD指令寄存地址MOVX DPTR,AACALL LCDFIRST ;调用LCD初始化程序,MOV IE,#81H ;外部中断0允许MOV A,#20H ;对DS12887的寄存;器A赋初值MOV DPTR,#020AH;送DS12887的寄;存器A的地址MOVX DPT

33、R,AMOV A,#82H;对DS12887的寄存器B;赋初值MOV DPTR,#020BH;送DS12887的寄;存器B的地址MOVX DPTR,AMOV DPTR,#020EH;读DS12887寄存器0E;的内容MOVX A, DPTR,CJNE A,#01H,LOOP;为0则未设内定;时间SJMP LOOP1 LOOP: ACALL RAMSTART ;调用内定时间写入子;程序 LOOP1:ACALL DISP ;调用成组字符显示子程序MOV A,#12H;启动DS12887开始计时MOV DPTR,#020BH MOVX DPTR,A LOOP2:ACALL KEYSCAN;调用键盘扫

34、描子程序SJMP LOOP2,中断服务子程序: EX0INT: PUSH ACC ;现场保护PUSH PSWMOV DPTR,#020CH ;读C寄存器,;清除中断标志位IRQFMOVX A, DPTRMOV R2,#00H ;光标位置偏移值 EX01: MOV DPTR,#CUR;LCD光标位置表首地址MOV A,R2MOVC A,A+DPTR;读取光标地址值ACALL BUSY ;检测LCD是否忙?MOV DPTR,#8100H;送LCD指令寄存器地址MOVX DPTR,AMOV DPTR,#TIM;DS12887内部时标寄存器;表首地址,MOV A,R2MOVC A,A+DPTR;读时标

35、寄存器的地址MOV DPTR,#0200H;送时标寄存器首址MOV DPL,A;指向相应时标寄存器地址MOVX A, DPTR ;读相应时标寄存器的内容ACALL BCDACSII;调用BCD码转换ACSII码子程序ACALL DISP1 ;调用单字符显示子程序INC R2;指向下一时间单元的处理CJNZ R2,#06H,EX01ACALL CURRET;调用光标复位子程序POP PSW;恢复现场POP ACCRETICUR:DB 82H,85H,88H,8BH,8EH,91H ;LCD“年月日时分秒”光标地址表TIM: DB 09H,08H,07H,04H,02H,00H ;时;标寄存器“年

36、月日时分秒”地址,内定时间写入子程序:RAMSTART:MOV A,#00H ;写入00秒MOV DPTR,#0200HMOVX DPTR,AINC DPTRINC DPTRMOVX DPTR,A ;写入00分MOV A,#12HMOV DPTR,#0204HMOVX DPTR,A ;写入12时MOV A,#01HMOV DPTR,#0207H,MOVX DPTR,A ;写入1日INC DPTRMOVX DPTR,A ;写入1月INC DPTRMOV A,#00H;写入00年MOVX DPTR,AMOV DPTR,#020EH ;设定已设置内定时;间标志MOV A,#01HMOVX DPTR,ARET,六总结与提高该课程设计中,为了正确地访问时间和日期信息,使用了更新结束中断(UIE=1)的方式实现时间和日期的读取。DS12887的使用非常灵活,读者也可用查询UIP位的方式或设定周期中断速率的方式来实现时间与日期的读取。为了使万年历的程序设计更加完善,还可在此基础上,增加闹钟定时程序等相关内容。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报