版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实训目的熟悉常用温度传感器AD590的特性及接口电路的设计方法;学会模块化程序设计方法二、课题要求制作一个水温自动控制系统,要求如下:温度设定范围4090,最小区分度1,标定误差1。用十进制数码显示水的实际温度。环境温度降低时,温度控制的静态误差1。 第10章 综合实训课题一 水温控制系统设计一、实训目的 第10章 综合实训课题一 水温控三、背景知识1、AD590温度传感器简介 AD590是美国AD公司生产的单片集成两端感温电流源。它的测温范围为-55+150,工作电压范围为4V30V,可以承受44V正向电压和20V反向电压,输出电阻为710M。它产生的电流与绝对温度成正比,非线性误差为0
2、.3。图101为AD590的引脚图,表101为AD590温度与电流的关系表。 (a)引脚 (b)封装 (c)图形符号 图101 AD590引脚、封装及图形符号三、背景知识表101 各温度与电流、电压参考关系表温度值AD590电流经10k电压V放大器输出V0(ADC0809的VIN)ADC0809的输出0C273.2A2.732V0V00H10C283.2A2.832V0.49V19H20C293.2A2.932 V0.98V32H30C303.2A3.032 V1.47 V4BH40C313.2A3.132 V1.96 V64H50C323.2A3.232 V2.45 V7DH60C333.2
3、A3.332 V2.94 V96H70C343.2A3.432 V3.43 VAFH80C353.2A3.532 V3.92 VC8H90C363.2A3.632 V4.41 VE1H100C373.2A3.732 V4.90 VFAH表101 各温度与电流、电压参考关系表温度值AD590电 AD590是电流输出型器件,必须利用接口电路将AD590输出的电流信号转换成电压信号,再经A/D转换器转换成数字信号,提供给单片机处理。在2、AD590接口电路表101中,列出了在不同温度值下的AD590的输出电流,通过图102的放大电路可将输出电流转换成05V的模拟电压。图102 温度采集电路 AD59
4、0是电流输出型器件,必须利用接口电路将AD四、硬件电路 硬件电路由单片机、温度检测模块、加热控制模块、键盘设定模块及数据显示模块构成。 1、单片机选择 由于系统对控制精度的要求不高,所以选用内部具有程序存储器芯片的AT89C51就可以满足要求了。 2、温度检测模块 温度检测模块由温度传感器、信号放大器及A/D转换器组成。由AD590将温度转换成电流信号再经信号放大器得到对应的模拟电压,再经ADC0809转换后接入单片机。如图103所示。四、硬件电路 1、单片机选择3、加热控制模块 加热控制信号经反相器反相后,驱动固态继电器(SSR)工作,从而接通或断开加热丝两端电源,实现对水的加热控制。加热控
5、制电路如图103所示。 为了使加热控制更加精确,系统采用了三组加热电炉丝组合实现,当温差小于5C时,仅A组加热丝工作;当温差在5C10C之间时,采用A、B两组加热控制;当温差大于10C时,采用A、B、C三组加热控制。4、键盘设定及数据显示模块 键盘扫描由11个按键及3位LED共阳极显示器组成。通过P1、P2口直接驱动键盘,为了简化显示接口,这里采用了串行口扩展LED显示器。如图103所示。3、加热控制模块图103 水温控制系统硬件原理图图103 水温控制系统硬件原理图五、软件设计1、程序结构设计(1)主程序 用于进行初始化处理,包括各端口的初始化,定时/计数器的设定、中断允许的设定等。同时进行
6、键盘的扫描输入。图104为主程序流程图。(2)定时中断服务程序 通过单片机内部的定时器T0进行50ms定时,再通过寄存器R6进行计数,以实现1s定时中断的要求。进入中断服务程序后,可进行当前温度的检测及显示,根据所测值与设定值比较进行温度控制等。图105为中断服务程序流程图。五、软件设计图104 主程序流程图 图105 定时中断服务程序流程图图104 主程序流程图 图105 (3)温度检测程序 温度检测采用每1s定时采样的方式,为了实现温度的准确检测,采用了平均值滤波法抗干扰。即连续4次启动ADC0809进行A/D转换,求取转换结果的平均值,存入指定单元,以得到检测温度值。图106为温度检测程
7、序流程图。(4)温度控制程序 通过比较键盘设定值与温度检测值的差别,按照一定的控制规律,控制输出口线的状态,实现三组加热丝的控制。图107为温度控制程序流程图。(5)温度显示程序 在每次温度检测后,进行一次温度显示刷新;在进行温度设定时,显示设定温度值。 (3)温度检测程序2、主要程序模块清单主程序: ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0030H MAIN: MOV SP,#60H MOV P1,#0FFH;关电炉,开显示 MOV SCON,#00H ;设置串行口工作 ;方式0,发送 MOV TMOD,#01H;定时器初始化 MOV TH
8、0,#3CH;50ms定时初值2、主要程序模块清单 MOV TL0,#0B0H MOV R6,#14H;1s定时用(50ms20次) MOV 5DH,#00H;显示缓冲区清零 MOV 5EH,#00H MOV 5FH,#00H ACALLDISP SETB ET0 SETB EA SETB TR0LM0:ACALL KEYSCAN;调用键盘扫描子程序(略), ;用于设定温度值AJMP LM0 MOV TL0,#0B0H图106 温度检测程序流程图 图107 温度控制程序流程图 图106 温度检测程序流程图 定时中断服务程序:T0INT:MOVTH0,#3CHMOVTL0,#0B0HDJNZ R
9、6,T0END;1s未到,中断返回CLRTR0CLREA MOVR6,#14H;恢复R6初值ACALLTADC;调用温度检测子程序ACALLXSCL;调用标度转换子程序ACALLDISP;调用显示子程序ACALLTCONT;调用温度控制子程序SETBTR0SETBEAT0END:RETI定时中断服务程序:温度检测子程序:TADC:MOV50H,#00H;清存检测值单元MOVB,#00HMOVR7,#04H ;设置转换次数MOVDPTR,#7FFFH;送ADC0809地址TT0:MOVX DPTR,A;启动A/D转换JBP3.2,$;等待转换结束MOVX A,DPTR;读A/D转换数据ADDA,
10、50HMOV50H,AJNCTT1;是否超出8位二进制范围INCB温度检测子程序:TT1:DJNZR7,TT0;4次转换是否完成CLRC;求4次A/D转换的平均值XCHA,BRRCAXCHA,BRRCACLRCXCHA,BRRCAXCHA,BRRCAMOV50H,A;平均值存50HRETTT1:DJNZR7,TT0;4次转换是否完成温度控制子程序:TCONT:MOVA,51HCLRCSUBBA,50H;设定值实测值MOVR0,AJNCCCPR;小于设定温度,接通相应加热器MOVP1,#0FFH;否则,关闭加热器AJMPCONENDCCPR:MOVA,R0SUBBA,#19HJCCCPR1温度控
11、制子程序: MOVP1,#0F8H;开三组加热器AJMP CONENDCCPR1:MOV A,R0SUBB A,#0CHJCCCPR2MOVP1,#0FCH;开两组加热器AJMP CONENDCCPR2:MOVP1,#0FEH;开一组加热器CONEND:RET MOVP1,#0F8H;开三显示子程序:DISP:MOVR2,#03H;显示数据的个数MOVR1,#5DH;显示缓冲区首址SETBP1.3DL0:MOVA,R1;取要显示的数MOVDPTR,#TABMOVC A,A+DPTR;查字型码MOVSBUF,A;送出数据DL1:JNBTI,DL1;是否输完一个字节CLRTI;清发送完标志INCR
12、1DJNZR2,DL0;三个数是否都显示完?RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H ;09字型码DB92H,82H,0F8H,80H,90H显示子程序:六、总结与提高 设计、调试大型程序时,应该:先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;接着根据各模块性质和功能将各模块细化,设计出程序流程图;最后根据各模块流程图编制具体程序。 调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。六、总结与提高 调试时应先调主程序,实现最基本最主 在这个
13、课题中,采用了软件滤波方式提高检测环节的准确,并且采用了三组加热控制提高了温度变化的精度。在此基础上,还可以增加液面检测、缺水报警电路及打印电路等其它辅助电路的设计,使这个控制系统更完善。单片机应用电子教案第10章-综合实训课件课题二 用88点阵显示器制作电子显示屏一、实训目的熟悉88点阵显示器与单片机的接口电路及其设计方法;学会模块化程序设计方法。二、课题要求 制作一个88点阵显示器。要求如下: 1. 显示“电子设计”四个文字; 2. 显示方式可由K1、K2和K3三个键选择: K1为逐字显示,K2为向上滚动显示,K3为向左滚动显示。课题二 用88点阵显示器制作电子显示屏一、实训目的三、硬件电
14、路 显示器采用AT89C51单片机作控制器,时钟频率为12MHz,88点阵显示器采用共阳极结构,其电路如图108所示。 P0作为字符数据输出口, P2为字符显示扫描输出口, P1.0P1.2口分别接开关K1、K2、K3, 通过改变电阻(270)的大小可改变显示字符的亮度,驱动用9012三极管。三、硬件电路图108 硬件电路图图108 硬件电路图四、软件设计1、程序结构设计(1)主程序 主程序用于对系统进行初始化,扫描按键开关状态,由按键标志位值(00H、01H、02H)决定显示的方式。主程序流程图如图109所示。四、软件设计 图109 主程序流程图 图1(2)初始化子程序 用于对端口进行复位操
15、作,将显示用的字符数据从字符表中装入内存单元50H6FH中。字符表中的每个文字占用8个地址单元。(3)显示子程序 显示子程序由显示功能选择程序和显示控制程序组成。 显示功能选择程序: 负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。(2)初始化子程序 显示子程序: 负责对指定8个地址单元的数据进行输出显示。 显示一个完整文字的时间约为8ms。 在显示子程序中,1ms延时程序是用调用键扫描子程序的方法实现的。图1010为逐字显示及向上滚动显示方式时的显示控制程序流程图。(4)按键扫描程序 用于将按键的状态扫
16、描至20H单元的低三位(20H.0、20H.1、20H.2)中。同时在程序中利用按键扫描程序代替显示程序中的1ms延时程序,既可以提高按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。 显示子程序: 图1010 逐字显示及上移显示程序流程图图1010 逐字显示及上移显示程序流程图2、主要程序模块清单主程序:START:MOV 20H,#00H ;20H内存单元清0 SETB 00H ;20H.0位置1START1:LCALL CLEARMEN ;调用上电初始化子 ; 程序 JB 00H,FUN0;20H.0位为1,执行FUN0 JB01H,FUN1;20H.1位为1,执行
17、FUN1 JB02H,FUN2;20H.2位为1,执行FUN2 AJMPSTART1 2、主要程序模块清单初始化程序:CLEARMEN: MOV A,#0FFH ;四端口置1 MOVP1,A MOV P2,A MOVP3,A MOVP0,A MOVDPTR,#TAB;取“电子设计”字 ;符表首址 CLR A MOV21H,A ;21H-24H内存单元清0 MOV 22H,A MOV 23H,A MOV 24H,A MOV R3,A ;R3寄存器清0 初始化程序: MOV R1,#50H ;设字符表移入内存 ;单元首址 MOV R2,#20H;设查表次数(32次)CLLOOP:MOVC A,A+
18、DPTR;查表字符数据移入 ;内存单元 MOV R1,A MOV A,R3 INC A MOV R3,A INC R1 DJNZ R2,CLLOOP;是否已查表32 ;次,未完转CLLOOP RET MOV 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 ;计TAB: DB 0EFH,
19、83H,0ABH,83H,0A键扫描子程序:KEYWORK:MOV P1,#0FFH;置输入状态 JNBP1.0,KEY1;P1.0为0(键按下)转KEY1 JNBP1.1,KEY2;P1.1为0(键按下)转KEY2 JNBP1.2,KEY3;P1.2为0(键按下)转KEY3KEYRET:RET KEY1:LCALL DL10MS ;按键1功能处理,延 ;时10ms削抖动 JB P1.0,KEYRET ;是干扰转KEYRET结束 SETB 00H ;置逐字显示方式标志 ;(20H.0=1) CLR 01H CLR 02H RET ;子程序返回键扫描子程序:KEY2:LCALL DL10MS;按
20、键2功能处理 JB P1.1,KEYRET SETB 01H ;置上移显示方式标志 ;(20H.1=1) CLR 00H CLR 02H RETKEY3: LCALL DL10MS ; 按键3功能处理 JBP1.2,KEYRET SETB 02H ;置左移显示方式标志 ;(20H.2=1) CLR 01H CLR 00H RETKEY2:LCALL DL10MS;按键2功能处理显示功能选择程序:FUN0:MOV 30H,#80H;逐字显示,1帧显示时间 ;(约1s) MOV 31H,#08H ;换帧跳转步距为8 LJMP DISP1 ;转显示子程序DISP1FUN1:MOV 30H,#0AH
21、;上移显示,1帧显示时间 ;(约80ms) MOV 31H,#01H ;换帧跳转步距为1 LJMP DISP1 ;转显示子程序DISP1FUN2:LJMP DISP2 ;左移显示显示功能选择程序:显示控制程序: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;不是末地址转CONT
22、 AJMP START1 ;是末地址,一次显示结束 ;跳回START1CONT:ADD A,R5 ;次帧扫描首址调整 MOV B,A AJMP LOOP ;转LOOP进行次帧扫描显示控制程序: CJNE A显示子程序:DISPLAY: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毫秒 IN
23、C R0 ;指向下一行数据地址 MOV A,R6 ;扫描字移入A显示子程序: RL A ;循环左移一位 MOV R6,A ;放回R6 DJNZ R7,DISLOOP ;8行扫描未完转 DISLOOP ;继续 RET ;8行扫描结束1毫秒延时子程序:DL1MS:MOVR3,#64H ;100(10+2)sLOOPK: LCALL KEYWORK DJNZ R3,LOOPK RET RL A ;循环左移一位五、总结与提高 该课程设计中,可以看出LED点阵显示的控制是在七段LED数码管显示控制的基础上扩展实现的,二者都是采用动态扫描方式进行设计,从原理上是完全相同的。在这个课题的基础上,还可扩展多个
24、LED点阵显示以实现更加复杂的分批显示模式及中文字幕的显示。五、总结与提高课题三 电子万年历的设计与制作一、实训目的熟悉DS12887时钟日历芯片的特性及设置方法,DS12887芯片与单片机的接口电路及其设计方法;学会模块化程序设计方法。课题三 电子万年历的设计与制作二、课题要求 制作一个可调万年历。要求如下:内定时间为2000年1月1日12点00分00秒,提供给新产品或换电池时使用。时间调整:开机时,光标停在“年”,移动光标依次修改年、月、日、时、分、秒。每按P1.0一次,光标依年、月、日、时、分、秒顺序移动。每按P1.1一次,光标所在位置的值加1。每按P1.2一次,光标所在位置的值减1。采
25、用LCD液晶显示器显示。二、课题要求三、背景资料时钟日历芯片DS12887:能够自动产生年、月、日、时、分、秒等时间信息,芯片内部带有锂电池,外部掉电时,其内部时间信息能够保持10年之久;有12小时制和24小时制两种工作模式;时间的表示方法有两种:二进制数表示和BCD码表示。用户可对DS12887进行编程以实现多种方波输出,用户可对其内部的三路中断通过软件进行屏蔽。 三、背景资料能够自动产生年、月、日、时、分、秒等时间信息, 1、引脚说明 Vcc:直流电源+5V输入 当Vcc的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当Vcc的输入小于+
26、3V时,DS12887会自动将电源切换到内部自带的锂电池上,以保证内部的电路能够正常工作。图1011 DS12887引脚图当Vcc输入为+5V时,用户可以访问DS12887内RAM中的数据,并可对其进行读、写操作; 1、引脚说明当Vcc的输入小于+4.25V时,禁止用户对GND:地MOT:总线模式选择 当MOT接Vcc时选用Motorola总线模式,当MOT接GND时选用Intel总线模式。SQW:方波输出 当供电电压Vcc大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。AD0AD7:双向地址/数据总线。AS:地址有效输入。DS/ :数据选
27、通/读允许 当MOT接Vcc时作为数据选通;当MOT接GND时,作为读允许输入。GND:地R/ :读/写允许输入。 若MOT接Vcc,该引脚为高电平时读操作,为低电平时写操作;若MOT接GND,该引脚作为写允许输入。 :片选输入。低电平有效。 :中断请求输出。低电平有效。 :复位端。低电平有效,复位操作不影响时钟日历工作。NC:空引脚。R/ :读/写允许输入。 2、存储器分配与设置 DS12887片内RAM与寄存器地址分配见图1012。 DS12887带有128字节片内RAM:10字节的时标寄存器:用来存储时间信息,地址00H09H CPU可以通过读取时标寄存器获得时间与日历值,也可以编程设置
28、其初值,时标寄存器的值可以用二进制或BCD码表示。4字节的控制寄存器:用来存储控制信息,地址0AH0DH 用户可通过对控制寄存器编程实现从SQW引脚输出多种不同频率的方波,并可对其内部的三路中断通过软件进行屏蔽。114字节作为通用RAM供用户使用,地址为0EH7FH。 2、存储器分配与设置10字节的时标寄存器:用来存1012 片内RAM与寄存器地址分配1012 片内RAM与寄存器地址分配时标寄存器的数据格式,见下表所示。地址单元功能十进制范围范 围十六进制码BCD码0秒059003B00591秒闹钟059003B00592分059003B00593分闹钟059003B00594时(12小时方式
29、)112010C AM,818C PM0112 AM,8192 PM时(24小时方式)023001700235时闹钟(12小时方式)112010C AM,818C PM0112 AM,8192 PM时闹钟(24小时方式)023001700236星期(星期天=1131011F01318月112010C01129年09900630099时标寄存器的数据格式,见下表所示。地址功能十进制范围范 控制寄存器的格式 寄存器A 用于选择时钟频率、中断周期和SQW输出频率,格式如下:D7D6D5D4D3D2D1D0UIPDV2DV1DV0RS3RS2RS1RS0控制寄存器的格式D7D
30、6D5D4D3D2D1D0UIPDV2UIP:更新周期标志。 当UIP=1时,表示芯片正处于或即将开始更新周期,在此期间不允许读写时标寄存器; 当UIP=0时,表示没有更新周期,此时可读时标寄存器。DV2DV0:芯片内部振荡器RTC控制位。 当芯片复位后500ms开始第一个更新周期。将这3位设置成010,可使芯片以内置的32.768kHz的振荡频率工作。RS3RS0:周期中断可编程方波输出速率选择位。 这4位不同的组合可以产生不同的方波输出,程序可以通过设置寄存器B的SQWE和PIE位控制是否允许周期中断方波输出。RS3RS0与中断周期及SQW输出频率的对应关系如表103所示。UIP:更新周期
31、标志。表103 时钟频率选择寄存器A选择位32.768kHz时钟频率RS3RS2RS1RS0中断周期SQW输出频率000000013.09625ms256Hz00107.8125 ms128 Hz0011122.070 s8.192 kHz0100244.141s4.096 kHz0101488.281s2.048 kHz0110976.5625s1.024 kHz01111.953125 ms512 Hz10003.90625 ms256 Hz10017.8125 ms128 Hz101015.625 ms64 Hz101131.25 ms32 Hz110062.5 ms16 Hz11011
32、25 ms8 Hz1110250 ms4 Hz1111500 ms2 Hz表103 时钟频率选择寄存器A选择位32.768kHz时 寄存器B 主要用于设置芯片的工作状态,格式如下:D7D6D5D4D3D2D1D0SETPIEAIEUIESQWEDM24/12DSESET:允许更新周期位。可读/写,不受信号的影响。 当SET=0时,芯片处于正常更新状态; 当SET=1时,芯片正常更新被禁止。PIE、AIE、UIE:分别为周期中断、闹钟中断、更新周期结束中断允许位。 各位分别为“1”时允许发出相应的中断,由端输出。其中,UIE位在复位或设置SET为1时清零。 寄存器B 主要用于设置芯片的工作状态,
33、格式如下:D 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小时工作模式。DSE:夏令时允许标志位。 SQWE:方波输出允许位。寄存器C 为中断标志位寄存器。 特点:程序读寄存器C或复位后,该寄存器的内容将自动清零。格式如下:D7D6D5D4D3D2D1D0IRQFPFAFUF0000IRQF:中断申请标志位。 该位逻辑表达式为:IRQF =
34、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无效。寄存器C 为中断标志位寄存器。D7D6D5D4D3D2D 寄存器D 为状态标志寄存器,只有一个标志位VRT(D7),其余各位均为0。格式如下:D7D6D5D4D3D2D1D0VRT0000000 VRT:芯片内部RAM与寄存器内容有效标志位。 该位为“1”时,表示芯片内部RAM和寄存器内容有效。读该寄存器后,该位将自动置
35、“1”。PF、AF、UF:这三位分别为周期中断、闹钟中断、更新周期结束中断标志位。 只要满足各中断的条件,相应的中断标志位将置“1”。寄存器C的D3D0位为0,不使用。 寄存器D 为状态标志寄存器,只有一个标志位VRT(四、硬件设计 硬件电路见图1013。采用AT89C51单片机作控制器,时钟频率为12MHz。显示器可采用LED显示,但由于LED数码显示所需的数码管较多,这里选用LCD显示器实现。 P1.0P1.2口分别接开关K1、K2、K3,分别用于光标的移动及整定时间时的数字调整。四、硬件设计 图1013 万年历硬件原理图 图1013 万年历硬件原理图五、软件设计1、内部控制寄存器命令字设
36、置(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服务程
37、序 用于实现DS12887时钟芯片更新值的输出及显示操作。流程图见1015所示。(3)按键扫描子程序 用于将三个按键的输入状态扫描至89C51相应的寄存器中,进行光标移动、加1或减1的处理。 2、程序结构设计(4)显示子程序 用于将显示缓冲区数据依次输出到LCD显示器上。(5)加1处理子程序 将加1按键的输入状态转换为对相应存储单元的加1操作,并将BCD码转换成ASCII码送显示缓冲区。(6)减1处理子程序 将减1按键的输入状态转换为对相应存储单元的减1操作,并将BCD码转换成ASCII码送显示缓冲区。(7)内定时间写入子程序 用于将内定时间00年1月1日12点00分00秒输入DS12887相
38、应的时标寄存器中。(4)显示子程序图1014 主程序流程图图 1015 中断服务程序流程图图1014 主程序流程图图 3、主要程序模块清单主程序: ORG0000H AJMPMAIN ORG0003 AJMPEX0INTMAIN: MOVSP,#60H;设置堆栈指针 ACALLBUSY;调用检测LCD是否忙 ;的子程序 MOVA,#01H ;LCD清屏 MOV DPTR, #8100H ;送LCD指令寄存地址 MOVXDPTR,A ACALLLCDFIRST;调用LCD初始化程序 3、主要程序模块清单 MOV IE,#81H;外部中断0允许 MOVA,#20H;对DS12887的寄存 ;器A赋初值 MOVDPTR,#020AH;送DS12887的寄 ;存器A的地址 MOVXDPTR,A MOVA,#82H;对DS12887的寄存器B ;赋初值 MOVDPTR,#020BH;送DS12887的寄 ;存器B的地址 MOVXDPTR,A MOV DPTR,#020EH;读DS12887寄存器0E ;的内容 MOVXA, DPTR MOV IE,#81H;外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应激性溃疡防治指南2026
- 2026年工程咨询投资专业技术人员职业资格考试模拟试卷及答案(共九套)
- (二模)太原市2026年高三年级模拟考试(二)历史试卷(含答案)
- 破局安全监控难题-优化策略提升服务体验
- 新时期初中班主任德育管理策略创新探究
- 企业合规管理部反商业贿赂风险排查与制度建设方案
- 资产评估会计实务操作指南
- 电力电子系统应用技术手册
- 智能仓储货物分拣流程手册
- 数据信息安全守秘承诺函电子版5篇
- 2026年国家机关事务管理局所属事业单位招聘备考题库(17人)及完整答案详解一套
- 2026年党章党纪党规应知应会知识测试题库(含答案)
- 2026年福建省泉州市石狮市初中毕业班模拟考试(中考一模)生物试卷(含答案)
- 社区三中一大工作制度
- DB31∕T 310028-2025 数据资源目录编制指南
- 2026校招:北京祥龙资产经营公司试题及答案
- 2025年郑州黄河护理职业学院单招职业适应性测试试题及答案解析
- 工程标准员培训课件
- 教育公共知识考试题库及答案
- 小学语文教学中写作能力培养的课题报告教学研究课题报告
- 律师协议书模板
评论
0/150
提交评论