1、_综合实验二:液晶显示模拟多通道数据采集系统一:实验目的 1):掌握和理解单片机总线工作模式下各信号线的跳变及相应的时序。特别要了解ALE及RD、WR信号线在总线方式下的时序。2):在总线方式下各相应指令的结构。3):外围接口芯片的地址选择方式。 4):了解LCD模块的使用说明及特别是指令说明。二:实验内容采用总线方式构架一个多路数据采集系统。并将采样数据分二行在液晶显示模块上进行实时显示。随着被采样电压值的变化液晶显示器显示的值跟随变化(即连续采样)。显示数值为实际的电压值。C H 4: xx H CH5:xx HC H 6: xx H CH0:xx H三、.LST文件 ORG 0000H0
2、000 020080 LJMP MAIN ORG 0003H0003 020200 LJMP ADCHANGE ORG 0080H MAIN:0080 758160 MOV SP,#60H ;初值设定0083 3120 ACALL JIANC0085 00 NOP0086 3108 ACALL LCD0088 902300 MOV DPTR,#2300H ;2300-写命令008B 7480 MOV A,#80H ;008D F0 MOVX DPTR,A008E 3120 ACALL JIANC0090 7E80 MOV R6,#80H ;R6指示显示位置0092 7F34 MOV R7,#3
3、4H ;R7指示显示的数字4,5,6,00094 11D9 ACALL SHOWCH0096 7E89 MOV R6,#89H0098 0F INC R70099 11D9 ACALL SHOWCH009B 7EC0 MOV R6,#0C0H009D 0F INC R7009E 11D9 ACALL SHOWCH00A0 7EC9 MOV R6,#0C9H00A2 7F30 MOV R7,#30H00A4 11D9 ACALL SHOWCH MAIN1:00A6 7830 MOV R0,#30H;R0存放A/D部分的临时存储调试地址00A8 7A03 MOV R2,#03H00AA 90200
4、4 MOV DPTR,#2004H STARTAD:00AD C2D5 CLR F000AF D288 SETB IT000B1 D2AF SETB EA00B3 D2A8 SETB EX000B5 F0 MOVX DPTR,A00B6 30D5FD LOOP:JNB F0,LOOP00B9 DAF2 DJNZ R2,STARTAD00BB 11BF ACALL DASEND00BD 80E7 SJMP MAIN1 DASEND:00BF 902100 MOV DPTR,#2100H;先选通da第一级缓冲00C2 E530 MOV A,30H00C4 F0 MOVX DPTR,A00C5 90
5、2200 MOV DPTR,#2200H;选通da第二级缓冲00C8 F0 MOVX DPTR,A00C9 902000 MOV DPTR,#2000H ;选通ad通道000CC C2D5 START2:CLR F000CE D288 SETB IT000D0 D2A8 SETB EX000D2 D2AF SETB EA00D4 F0 MOVX DPTR,A00D5 30D5FD LOOP1:JNB F0,LOOP100D8 22 RET ;显示CH SHOWCH:00D9 902300 MOV DPTR,#2300H ;2300-写命令00DC EE MOV A,R6 ;确定写入位置00DD
6、 F0 MOVX DPTR,A00DE 3120 ACALL JIANC00E0 902302 MOV DPTR,#2302H;2302-写数据00E3 7443 MOV A,#43H ;字母c的ascII00E5 F0 MOVX DPTR,A00E6 3120 ACALL JIANC00E8 7448 MOV A,#48H ;字母h的ascII00EA F0 MOVX DPTR,A00EB 3120 ACALL JIANC00ED EF MOV A,R7 ;字母R7的ascII00EE F0 MOVX DPTR,A00EF 3120 ACALL JIANC00F1 743A MOV A,#3
7、AH ;字母:的ascII00F3 F0 MOVX DPTR,A00F4 3120 ACALL JIANC00F6 7406 MOV A,#06H00F8 2E ADD A,R600F9 902300 MOV DPTR,#2300H00FC F0 MOVX DPTR,A00FD 3120 ACALL JIANC00FF 902302 MOV DPTR,#2302H0102 7448 MOV A,#48H0104 F0 MOVX DPTR,A0105 3120 ACALL JIANC0107 22 RET ;液晶初始化子程序 LCD:0108 902300 MOV DPTR,#2300H010B
8、 743F MOV A,#3FH010D F0 MOVX DPTR,A010E 3120 ACALL JIANC0110 7401 MOV A,#01H0112 F0 MOVX DPTR,A0113 3120 ACALL JIANC0115 740F MOV A,#0FH0117 F0 MOVX DPTR,A0118 3120 ACALL JIANC011A 7406 MOV A,#06H011C F0 MOVX DPTR,A011D 3120 ACALL JIANC011F 22 RET ;检测液晶显示器工作状态子程序 JIANC:0120 C082 PUSH DPL0122 C0E0 PU
9、SH ACC0124 00 JIA: NOP0125 902301 MOV DPTR,#2301H;0128 E0 MOVX A,DPTR0129 20E7F8 JB ACC.7,JIA012C D0E0 POP ACC012E D082 POP DPL0130 22 RET ORG 0200H ADCHANGE: 0200 E0 MOVX A,DPTR0201 F6 MOV R0,A 0202 5109 ACALL SHOWV;调用显示函数0204 A3 INC DPTR0205 08 INC R00206 D2D5 SETB F00208 32 RETI 0209 00 SHOWV:NOP
10、;显示函数020A C082 PUSH DPL020C C083 PUSH DPH020E BA0304 CJNE R2,#03H,C02;利用r2来确定lcd显示位置指针R60211 7E84 MOV R6,#84H;R2为03H说明此时采集的为4通道,故显示位置在84h0213 4128 AJMP OUTC;跳出比较0215 BA0204 C02: CJNE R2,#02H,C010218 7E8D MOV R6,#8DH ;R2为02H说明此时采集的为5通道,故显示位置在8Dh021A 4128 AJMP OUTC021C BA0104 C01: CJNE R2,#01H,C00021F
11、 7EC4 MOV R6,#0C4H ;R2为01H说明此时采集的为6通道,故显示位置在C4h0221 4128 AJMP OUTC0223 BA0002 C00: CJNE R2,#00H,OUTC0226 7ECD MOV R6,#0CDH ;R2为00H说明此时采集的为0通道,故显示位置在CDh0228 00 OUTC:NOP0229 EE MOV A,R6 022A 902300 MOV DPTR,#2300H022D F0 MOVX DPTR,A;待写入的光标位置在R6022E 3120 ACALL JIANC0230 E6 MOV A,R00231 C4 SWAP A ;先写ad结
12、果的高位0232 540F ANL A,#0FH0234 900250 MOV DPTR,#TAB;利用movc查表ascii码0237 93 MOVC A,A+DPTR0238 902302 MOV DPTR,#2302H023B F0 MOVX DPTR,A023C 3120 ACALL JIANC023E E6 MOV A,R0;显示ad结果低位023F 540F ANL A,#0FH0241 900250 MOV DPTR,#TAB;利用movc查表ascii码0244 93 MOVC A,A+DPTR0245 902302 MOV DPTR,#2302H0248 F0 MOVX DP
13、TR,A0249 3120 ACALL JIANC024B D083 POP DPH024D D082 POP DPL024F 22 RET0250 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 ToDownload !欢迎您的下载,资料仅供参考!精品资料