学院:土木学院班级:交通021班姓名:葛晓鹏学号:021183
电位器提供的是模拟量,但为了方便简洁实际应用中往往通过数码管用数字显示。因此,需要进行模拟量与数字进行转换并由数码管输出。
1)所实现的功能描述
利用实验系统上的ADC0809转换器,由实验系统上的电位器提供其模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。
2)总体设计方案的描述
设置初始值---循环结构---显示结果
本设计课题的实现主要由对于ADC0809以及系统的初始化、启动A\D转换、通过循环将其转换为数字送至数码管、数字在数码管的显示等几个模块组成。
(包括所需设备、接线方式、以及资源分配)
所需设备:电位器 ADC0809 74LS90 74LS138 74LS240 8155
接线方式:把0809的零通道IN0用插针接至AIN1孔,CS4引脚接 8000H孔;
将ADC0809旁的JX6插座与扩展接口的JXD插座用一条多股线的两头插头连起来。
(包括划分功能模块,写出各个功能模块实现的功能)及程序流程图。
对于ADC0809以及系统的初始化:堆栈指针赋初值;数码管显示“”;8155初始化。
启动A\D转换:调用SSEE程序;启动AD转换器。
通过循环将其转换为数字送至数码管:设字位码初值;字型码;显示;指定要显示的数码管;找字型;显示值。
数字在数码管的显示:通过上面的循环结构完成显示结果。
系统复位
堆栈指针赋初值
数码管显示“”
8155初始化
调用SSEE程序
通过循环控制数码管要显示的值
启动A\D转换
将十六进制改为十进制
。
org 0000h
sel1: mov sp,#53h ;堆栈指针赋初值
mov 7eh,#00h
mov 7dh,#08h
mov 7ch,#00h
mov 7bh,#09h
mov 7ah,#10h
mov 79h,#10h ;数码管显示“0809。xx”
mov dptr,#0ff20h
mov a,#3
movx ***@dptr,a ;8155初始化
l018: lcall ssee ;调用SSEE程序
mov a,#00h ;启动A\D转换器
mov dptr,#8000h
movx ***@dptr,a
mov r7,#0ffh ;延时等待程序
l017: djnz r7,l017
movx a,***@dptr ;结果存入A
mov r0,#79h
call ptds
sjmp l018
ptds: mov r1,a ;保存R1
acall ptds1 ;执行PTDS1
acall ptds1
ret
ptds1: mov b,#10h ;将十六进制改为十进制
div ab
mov ***@r0,b
inc r0
ret ; 循环执行PTDS;PTDS1
ssee: setb rs1
mov r5,#05h ;循环5次
sse2: mov 30h,#20h ;设字位码初值
mov 31h,#7eh ;字型码
mo
葛晓鹏实验报告提交 来自淘豆网m.daumloan.com转载请标明出处.