资源描述
______________________________________________________________________________________________________________
综合实验二:液晶显示模拟多通道数据采集系统
一:实验目的
1):掌握和理解单片机总线工作模式下各信号线的跳变及相应的时序。特别要了解ALE及RD、WR信号线在总线方式下的时序。
2):在总线方式下各相应指令的结构。
3):外围接口芯片的地址选择方式。
4):了解LCD模块的使用说明及特别是指令说明。
二:实验内容
采用总线方式构架一个多路数据采集系统。并将采样数据分二行在液晶显示模块上进行实时显示。随着被采样电压值的变化液晶显示器显示的值跟随变化(即连续采样)。显示数值为实际的电压值。
C H 4: xx H CH5:xx H
C H 6: xx H CH0:xx H
三、.LST文件
ORG 0000H
0000 020080 LJMP MAIN
ORG 0003H
0003 020200 LJMP ADCHANGE
ORG 0080H
MAIN:
0080 758160 MOV SP,#60H ;初值设定
0083 3120 ACALL JIANC
0085 00 NOP
0086 3108 ACALL LCD
0088 902300 MOV DPTR,#2300H ;2300->写命令
008B 7480 MOV A,#80H ;
008D F0 MOVX @DPTR,A
008E 3120 ACALL JIANC
0090 7E80 MOV R6,#80H ;R6指示显示位置
0092 7F34 MOV R7,#34H ;R7指示显示的数字4,5,6,0
0094 11D9 ACALL SHOWCH
0096 7E89 MOV R6,#89H
0098 0F INC R7
0099 11D9 ACALL SHOWCH
009B 7EC0 MOV R6,#0C0H
009D 0F INC R7
009E 11D9 ACALL SHOWCH
00A0 7EC9 MOV R6,#0C9H
00A2 7F30 MOV R7,#30H
00A4 11D9 ACALL SHOWCH
MAIN1:
00A6 7830 MOV R0,#30H;R0存放A/D部分的临时存储调试地址
00A8 7A03 MOV R2,#03H
00AA 902004 MOV DPTR,#2004H
STARTAD:
00AD C2D5 CLR F0
00AF D288 SETB IT0
00B1 D2AF SETB EA
00B3 D2A8 SETB EX0
00B5 F0 MOVX @DPTR,A
00B6 30D5FD LOOP:JNB F0,LOOP
00B9 DAF2 DJNZ R2,STARTAD
00BB 11BF ACALL DASEND
00BD 80E7 SJMP MAIN1
DASEND:
00BF 902100 MOV DPTR,#2100H;先选通da第一级缓冲
00C2 E530 MOV A,30H
00C4 F0 MOVX @DPTR,A
00C5 902200 MOV DPTR,#2200H;选通da第二级缓冲
00C8 F0 MOVX @DPTR,A
00C9 902000 MOV DPTR,#2000H ;选通ad通道0
00CC C2D5 START2:CLR F0
00CE D288 SETB IT0
00D0 D2A8 SETB EX0
00D2 D2AF SETB EA
00D4 F0 MOVX @DPTR,A
00D5 30D5FD LOOP1:JNB F0,LOOP1
00D8 22 RET
;显示CH
SHOWCH:
00D9 902300 MOV DPTR,#2300H ;2300->写命令
00DC EE MOV A,R6 ;确定写入位置
00DD F0 MOVX @DPTR,A
00DE 3120 ACALL JIANC
00E0 902302 MOV DPTR,#2302H;2302->写数据
00E3 7443 MOV A,#43H ;字母c的ascII
00E5 F0 MOVX @DPTR,A
00E6 3120 ACALL JIANC
00E8 7448 MOV A,#48H ;字母h的ascII
00EA F0 MOVX @DPTR,A
00EB 3120 ACALL JIANC
00ED EF MOV A,R7 ;字母R7的ascII
00EE F0 MOVX @DPTR,A
00EF 3120 ACALL JIANC
00F1 743A MOV A,#3AH ;字母:的ascII
00F3 F0 MOVX @DPTR,A
00F4 3120 ACALL JIANC
00F6 7406 MOV A,#06H
00F8 2E ADD A,R6
00F9 902300 MOV DPTR,#2300H
00FC F0 MOVX @DPTR,A
00FD 3120 ACALL JIANC
00FF 902302 MOV DPTR,#2302H
0102 7448 MOV A,#48H
0104 F0 MOVX @DPTR,A
0105 3120 ACALL JIANC
0107 22 RET
;液晶初始化子程序
LCD:
0108 902300 MOV DPTR,#2300H
010B 743F MOV A,#3FH
010D F0 MOVX @DPTR,A
010E 3120 ACALL JIANC
0110 7401 MOV A,#01H
0112 F0 MOVX @DPTR,A
0113 3120 ACALL JIANC
0115 740F MOV A,#0FH
0117 F0 MOVX @DPTR,A
0118 3120 ACALL JIANC
011A 7406 MOV A,#06H
011C F0 MOVX @DPTR,A
011D 3120 ACALL JIANC
011F 22 RET
;检测液晶显示器工作状态子程序
JIANC:
0120 C082 PUSH DPL
0122 C0E0 PUSH ACC
0124 00 JIA: NOP
0125 902301 MOV DPTR,#2301H;
0128 E0 MOVX A,@DPTR
0129 20E7F8 JB ACC.7,JIA
012C D0E0 POP ACC
012E D082 POP DPL
0130 22 RET
ORG 0200H
ADCHANGE:
0200 E0 MOVX A,@DPTR
0201 F6 MOV @R0,A
0202 5109 ACALL SHOWV;调用显示函数
0204 A3 INC DPTR
0205 08 INC R0
0206 D2D5 SETB F0
0208 32 RETI
0209 00 SHOWV:NOP;显示函数
020A C082 PUSH DPL
020C C083 PUSH DPH
020E BA0304 CJNE R2,#03H,C02;利用r2来确定lcd显示位置指针R6
0211 7E84 MOV R6,#84H;R2为03H说明此时采集的为4通道,故显示位置在84h
0213 4128 AJMP OUTC;跳出比较
0215 BA0204 C02: CJNE R2,#02H,C01
0218 7E8D MOV R6,#8DH ;R2为02H说明此时采集的为5通道,故显示位置在8Dh
021A 4128 AJMP OUTC
021C BA0104 C01: CJNE R2,#01H,C00
021F 7EC4 MOV R6,#0C4H ;R2为01H说明此时采集的为6通道,故显示位置在C4h
0221 4128 AJMP OUTC
0223 BA0002 C00: CJNE R2,#00H,OUTC
0226 7ECD MOV R6,#0CDH ;R2为00H说明此时采集的为0通道,故显示位置在CDh
0228 00 OUTC:NOP
0229 EE MOV A,R6
022A 902300 MOV DPTR,#2300H
022D F0 MOVX @DPTR,A;待写入的光标位置在R6
022E 3120 ACALL JIANC
0230 E6 MOV A,@R0
0231 C4 SWAP A ;先写ad结果的高位
0232 540F ANL A,#0FH
0234 900250 MOV DPTR,#TAB;利用movc查表ascii码
0237 93 MOVC A,@A+DPTR
0238 902302 MOV DPTR,#2302H
023B F0 MOVX @DPTR,A
023C 3120 ACALL JIANC
023E E6 MOV A,@R0;显示ad结果低位
023F 540F ANL A,#0FH
0241 900250 MOV DPTR,#TAB;利用movc查表ascii码
0244 93 MOVC A,@A+DPTR
0245 902302 MOV DPTR,#2302H
0248 F0 MOVX @DPTR,A
0249 3120 ACALL JIANC
024B D083 POP DPH
024D D082 POP DPL
024F 22 RET
0250 303132
0253 333435
0256 363738
0259 394142
025C 434445
025F 46 TAB:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H
END
四、实验心得和体会
通过这次实验,我了解了ADC0809和DAC0832的一些信息,对LCD模块也有了一定的了解。在模电里学到的LM358在这次实验中也有应用。这次实验作为一次综合实验,难度较大,第一次分实验的程序可以从书本中直接得到,总程序却需要自己写,因此磕磕绊绊,遇到了很多困难。这个程序缺少一个延时子程序,因此最后显示的内容闪动太快。
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
精品资料
展开阅读全文