- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADC0804模数转换器程序实例.doc
ADC0804模数转换器程序1.实验任务:
从ADC0804 的模拟量通道输入0-5V 之间的模拟量,通过ADC0804 转换成数字量送给单片机,经单片机处理后在数码管上以十进制形成显示出来。
2.实验目的:
学习用单片机控制A/D模数转换。
3.实验原理:
ADC0804是8位全MOS中速A/D 转换器、它是逐次逼近式A/D 转换器,片内有三态数据输出锁存器,可以和单片机直接接口。单通道输入,转换时间大约为100us。ADC0804 转换时序是:当CS=0 许可进行A/D 转换。WR由低到高时,A/D开始转换,一次转换一共需要66-73 个时钟周期。CS与WR同时有效时启动A/D转换,转换结束产生INTR 信号(低电平有效),可供查询或者中断信号。当CS=0和RD=0 时可以读取数据结果。
4.实验原理图:5.实验源程序
org 00H
START:
mov p3,#0ffh
clr p3.3 ;CS=0 许可进行A/D 转换
CLR P3.5
nop
SETB P3.5 ;WR由低到高时,A/D开始转换
nop
jb p3.2,$ ;查询转换结束产生INTR 信号(低电平有效)
setb p3.3 ;停止A/D转换
nop
mov p1,#0ffh
clr p3.3 ;选中A/D
clr p3.4 ;读取转换数据结果数据结果 nop
setb p3.4 ;停止A/D读取
mov a,p1
setb p3.3
jisuan:mov B,#100
DIV AB ;将转换后的数除100,用来分离出百位
mov r3,A
MOV A,B
MOV B,#10
DIV AB ;除以10分离出十位
MOV r2,A
MOV r0,B ;将个位数寄存到R0
SETB P2.0
MOV R4,#40 ;设置数码管扫描次数
QQQQ:mov r1,#255
QQQ:setb p2.5 ;以下是数码管动态扫描显示
setb p2.4
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
clr p2.6
NOP
SETB P2.6
setb p2.4
MOV A,r2
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
NOP
SETB P2.5
setb p2.6
MOV A,r0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
NOP
CLR P2.4
DJNZ R1,QQQ
DJNZ R4,QQQQ
SJMP START
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
文档评论(0)