1、 专业:电子信息工程 姓名:彭嘉乔 学号:3130104084 日期:2015.06 地点:东3-409 实验报告 课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:液晶显示模拟多
2、通道数据采集系统 实验类型:________________同组学生姓名:赵中昊 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1、掌握和理解单片机总线工作模式下各信号线的跳变及相应的时序。特别要了解ALE及RD、WR信号线在总线方式下的时序。 2、在总线方式下各相应指令的结构。 3、外围接口芯片的地址选择方式。 4、了解LCD模块的使用说明及特别是指令说明。 二、实验器材 1、Mic
3、etek仿真器一台。 2、实验板一块。 3、PC机电脑一台。 三、实验内容 采用总线方式构架一个多路数据采集系统。并将采样数据分二行在液晶显示模块上进行实时显示。随着被采样电压值的变化液晶显示器显示的值跟随变化(即连续采样)。显示数值为实际的电压值。 C H 4: xx H CH5:xx H C H 6: xx H CH0:xx H 四、实验要求 1、ADC0809 对三路数据【通道4、通道5、通道6】进行采样,同时将通道4的采样结果送人DAC0832进行DA转换,再将DA输出电压接到AD的通道0进行转换并将4
4、个通道的实际值分分二行发送到液晶显示器上进行显示。显示效果如上图所示。 2、通过实验建立微处理器总线构架及系统内地址选择的等基本概念 3、掌握A/D转换器ADC0809、DAC0832及液晶显示模块的工作原理。 4、编写A/D、D/A转换及液晶显示模块的实验程序。 五、程序源代码及注释 ORG 0000H JMP MAIN ORG 0003H AJMP EXINT ORG 0030H MAIN: MOV R1,#50H //设定采样后的数据存放地址 MOV R2,#04H //设定四通道巡回采样 SETB IT0 //开外部中断
5、0 SETB EA //CPU允许中断 SETB EX0 //液晶初始化子程序 CD: MOV DPTR ,#2300H //写命令 MOV A ,#3FH //功能设置:总线宽度为8、两行显示、八位点阵显示 MOVX @DPTR ,A ACALL JIANC //检测液晶显示器工作状态子程序,检测忙位是否有效 MOV A ,#01H //清除屏幕 MOVX @DPTR ,A ACALL JIANC MOV A ,#0FH //开显示 MOVX @DPTR ,A ACALL JIANC MOV A ,#06H //移动光标 MOVX @DPTR
6、A ACALL JIANC MOV DPTR,#2003H MOVX @DPTR,A //启动AD转换 MAIN_1: NOP MOV 30H,#43H //显示固定字符 MOV 31H,#48H MOV 32H,#33H MOV 33H,#3AH MOV 36H,#48H MOV 37H,#20H MOV 38H,#20H MOV 39H,#43H MOV 3AH,#48H MOV 3BH,#34H MOV 3CH,#3AH MOV 3FH,#48H
7、 MOV 40H,#43H MOV 41H,#48H MOV 42H,#35H MOV 43H,#3AH MOV 46H,#48H MOV 47H,#20H MOV 48H,#20H MOV 49H,#43H MOV 4AH,#48H MOV 4BH,#36H MOV 4CH,#3AH MOV 4FH,#48H SJMP $ EXINT:
8、 //中断服务程序(四通道AD及第三通道DA) MOVX A,@DPTR //读转换结果 MOV @R1,A //存采样数据 NC DPTR //指向下一个模拟通道 INC R1 //指向数据存储区下一个地址 DJNZ R2,AGAIN_1 //没采完四个通道,跳转到AGAIN_1 DASAW:MOV DPTR,#2100H //采完四个通道执行对第4通道的DA转换,并指向输入寄存器 MOV A,51H MOVX @DPTR,A MOV DPTR,#2200H //选通DAC寄存器 MOVX @DPTR
9、A LCDTRANS: MOV A,50H //将50H采集后的数据分别的十位、各位分别存在34H、35H中 MOV B,#10 DIV AB MOV 34H,A MOV A,B MOV 35H,A MOV A,51H //将51H采集后的数据分别的十位、各位分别存在3DH、3EH中 MOV B,#10 DIV AB MOV 3DH,A MOV A,B MOV 3EH,A MOV A,52H //将52H采集后的数据分别的十位、各位分别存在44H、4
10、5H中 MOV B,#10 DIV AB MOV 44H,A MOV A,B MOV 45H,A MOV A,53H //将53H采集后的数据分别的十位、各位分别存在4DH、4EH中 MOV B,#10 DIV AB MOV 4DH,A MOV A,B MOV 4EH,A MOV A,34H //把存在各地址的数据转成ASCⅡ码 ACALL TRAN MOV 34H,A MOV A,35H MOV A,44H ACALL TRAN
11、 MOV 35H,A MOV A,3DH ACALL TRAN MOV 3DH,A MOV A,3EH ACALL TRAN MOV 3EH,A ACALL TRAN MOV 44H,A MOV A,45H ACALL TRAN MOV 45H,A MOV A,4DH ACALL TRAN MOV 4DH,A MOV A,4EH ACALL TRAN MOV 4EH,A AJMP MAIN_0 TRAN
12、 CLR C ADD A,#30H CJNE A,#3AH,JUDGE JUDGE: JC RE TRAN_1: ADD A,#07H RE: RET AGAIN_1:AJMP AGAIN //跳转到AGAIN MAIN_0: NOP NOP ACALL JIANC NOP NOP MOV DPTR ,#2300H MOV A ,#80H //置第一行显示位置 MOVX
13、@DPTR ,A NOP ACALL JIANC NOP MOV DPTR ,#2302H //液晶显示模块数据缓冲区地址 MOV R3 ,#10H //显示的个数 MOV R0 ,#30H //显示吗(ascii)的起始地址 MAIN_2: NOP NOP MOV A ,@R0 MOVX @DPTR ,A NOP ACALL JIANC NOP INC R0 DJNZ R3 ,MAIN_2 NOP NOP MOV DPTR ,#2300H MOV A ,#0C0H
14、//置第二行显示位置 MOVX @DPTR ,A NOP NOP ACALL JIANC MOV DPTR ,#2302H MOV R3 ,#10H MOV R0 ,#40H MAIN_3: NOP //每行16位显示 NOP MOV A ,@R0 MOVX @DPTR ,A NOP NOP ACALL JIANC NOP NOP INC R0 DJNZ R3 ,MAIN_3 NOP MOV R1,#50H MOV R2,#04H MOV DPTR,#2003H
15、MOV R5,#0FFH MOV R4,#0FFH MOV R6,#0FH WW: NOP //延时(使用三层嵌套循环),使延时长度适宜 DJNZ R4,WW MOV R4,#0FFH DJNZ R5,WW MOV R5,#0FFH DJNZ R6,WW AJMP AGAIN //检测液晶显示器工作状态子程序JIANC: NOP PUSH DPL JIAN_1: NOP MOV DPTR ,#2301H //读命令、检测忙标志 MOVX A ,@DPTR NOP JB ACC.7 ,
16、JIAN_1 //检测忙位是否有效。 POP DPL NOP RET AGAIN: MOVX @DPTR,A //再次启动AD转换 RETI //返回主程序 六、实验程序LST文件 符号 值 类型 AC = 00D6H CONST 常量 ACC = 00E0H CONST 常量 AGAIN = 018CH CODE 标号
17、 AGAIN_1 = 011DH CODE 标号 B = 00F0H CONST 常量 CY = 00D7H CONST 常量 DASAW = 00A6H CODE 标号 DPH = 0083H CONST 常量 DPL = 0082H CONST 常量 EA = 00AFH CONST 常量 ES
18、 = 00ACH CONST 常量 ET0 = 00A9H CONST 常量 ET1 = 00ABH CONST 常量 EX0 = 00A8H CONST 常量 EX1 = 00AAH CONST 常量 EXINT = 00A0H CODE 标号 F0 = 00D5H CONST 常量 F1 = 00D1H CON
19、ST 常量 IE = 00A8H CONST 常量 IE0 = 0089H CONST 常量 IE1 = 008BH CONST 常量 IP = 00B8H CONST 常量 IT0 = 0088H CONST 常量 IT1 = 008AH CONST 常量 JIANC = 017CH CODE 标号
20、 JIAN_1 = 017FH CODE 标号 JUDGE = 0118H CODE 标号 LCD = 003AH CODE 标号 LCDTRANS = 00B0H CODE 标号 MAIN = 0030H CODE 标号 MAIN_0 = 011FH CODE 标号 MAIN_1 = 0055H CODE 标号
21、 MAIN_2 = 0136H CODE 标号 MAIN_3 = 0154H CODE 标号 OV = 00D2H CONST 常量 P = 00D0H CONST 常量 P0 = 0080H CONST 常量 P1 = 0090H CONST 常量 P2 = 00A0H CONST 常量 P3 = 00
22、B0H CONST 常量 PCON = 0087H CONST 常量 PS = 00BCH CONST 常量 PSW = 00D0H CONST 常量 PT0 = 00B9H CONST 常量 PT1 = 00BBH CONST 常量 PX0 = 00B8H CONST 常量 PX1 = 00BAH CONST 常量
23、 RB8 = 009AH CONST 常量 RE = 011CH CODE 标号 REN = 009CH CONST 常量 RI = 0098H CONST 常量 RS0 = 00D3H CONST 常量 RS1 = 00D4H CONST 常量 SBUF = 0099H CONST 常量 SCON
24、 = 0098H CONST 常量 SM0 = 009FH CONST 常量 SM1 = 009EH CONST 常量 SM2 = 009DH CONST 常量 SP = 0081H CONST 常量 TB8 = 009BH CONST 常量 TCON = 0088H CONST 常量 TF0 = 008DH
25、CONST 常量 TF1 = 008FH CONST 常量 TH0 = 008CH CONST 常量 TH1 = 008DH CONST 常量 TI = 0099H CONST 常量 TL0 = 008AH CONST 常量 TL1 = 008BH CONST 常量 TMOD = 0089H CONST 常量
26、 TR0 = 008CH CONST 常量 TR1 = 008EH CONST 常量 TRAN = 0112H CODE 标号 TRAN_1 = 011AH CODE 标号 WW = 016FH CODE 标号 公有符号: 74 私有符号: 0 七、实验感想 通过本次实验,我掌握和理解了单片机总线工作模式下各信号线的跳变及相应的时序,了解了在总线方式下各相应指令的结构和外围接口芯片的地址选择方式,了解了LCD模块的使用说明及特别是指令说明,收获很大。 Welcome To Download !!! 欢迎您的下载,资料仅供参考! 精品资料






