求助 8051的一个题目 谢谢

[复制链接]
 楼主| liuyang520 发表于 2007-1-20 19:38 | 显示全部楼层 |阅读模式
小弟在学习8051单片机,这个题目不会做,请求大家给与指点&nbsp;谢谢啦<br />在一个晶振为12MHZ的80C51应用系统中,接有一片DAC0832,它的地址为7FFFH,输出电压为0-5V。请画出逻辑框图,编写一个程序,使其运行后,DAC能输出一个矩形波,波形占空比为1:4。高电平时电压为2、5V,低电平时电压为1、25V。
maychang 发表于 2007-1-21 01:26 | 显示全部楼层

这个题目条件有多余

又没有规定矩形波频率,那么单片机晶体频率是多少没有关系。<br />逻辑框图与绝对地址也没有关系。<br />0832与单片机如何连接,题目里没有说,那么从哪个口输出什么码,没办法写。
tyw 发表于 2007-1-21 09:19 | 显示全部楼层

DAC0832,地址为7FFFH限定了P2.7接CS选通端

当P2.7为&quot;0&quot;时选通0832D/A芯片<br />其余的线与CPU一一对应即可(D0~D7→P0.0~P0.7,WR1→WR)<br />0832的Vref接5V<br />当CPU对0832输出在00H~FFH范围时,D/A的电压输出量为0V~5V<br />矩形波高电平要求2.5V,只要送数7FH<br />矩形波低电平要求1.25V,只要送数3FH<br />占空比只要控制高,低电压的持续时间,若有频率要求,则需启用定时中断
stycx 发表于 2007-1-21 09:20 | 显示全部楼层

呵呵 楼主也懒了点吧

摆渡就可以找到很多<br /><br />若系统中只有一路模拟量输出或几路模拟量不需要同步输出的场合,则采用单缓冲器方式,如图6.29所示:图中ILE接+5V,片选信号/CS和传送信号/XFER都连到地址线A15,输入寄存器和DAC寄存器地址都是7FFFH,写选通输入线/WR1、/WR2都和单片机的/WR连接,单片机对&nbsp;DAC0832执行一次写操作,则把一个数据直接写入DAC寄存器,0832输出的模拟量随之发生变化。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;单片机执行下面的程序,将在运放输出端得到一个锯齿波电压<br />&nbsp;&nbsp;&nbsp;&nbsp;START&nbsp;:&nbsp;MOV&nbsp;&nbsp;DPTR,&nbsp;#7FFFH<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;A,&nbsp;#00H<br />&nbsp;&nbsp;&nbsp;&nbsp;LOOP&nbsp;:&nbsp;&nbsp;MOVX&nbsp;@DPTR,&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;AAJMP&nbsp;LOOP&nbsp;<br /><br />
 楼主| liuyang520 发表于 2007-1-21 19:26 | 显示全部楼层

谢谢

非常感谢大家的热心帮助,我是一个刚开始搞硬件的,因为工作需要,必须要拼命的学,现在在看8051,遇到这些问题确实不知道该怎么办?
 楼主| liuyang520 发表于 2007-1-21 21:05 | 显示全部楼层

这个程序还是有几点不懂!希望给予指点

刚刚查书找到了一段程序,如下:、<br />START:MOV&nbsp;&nbsp;&nbsp;DPTR,#7FFFH&nbsp;;选中DAC0832<br />STEP:&nbsp;MOV&nbsp;&nbsp;&nbsp;A,#dataH&nbsp;&nbsp;&nbsp;&nbsp;;置输出矩形波上限<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOVX&nbsp;&nbsp;@DPTR,A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;D/A转换<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACALL&nbsp;DELH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调用输出高电平延时程序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;A,#dataH&nbsp;&nbsp;&nbsp;&nbsp;;置输出矩形波上限<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOVX&nbsp;&nbsp;@DPTR,A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;D/A转换<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACALL&nbsp;DELL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;调用输出低电平延时程序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SJMP&nbsp;&nbsp;STEP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;重复执行<br />有以下几点不明白<br />1:这里的高低电平延时怎么实现?是通过定时器吗?有哪些方法能实现?<br />2:延时程序是怎么编的?<br />
清夜笛音 发表于 2007-1-22 11:14 | 显示全部楼层

^_^

学习中.....
 楼主| liuyang520 发表于 2007-1-22 19:12 | 显示全部楼层

大侠们,谢谢帮助了

谢谢大家
 楼主| liuyang520 发表于 2007-1-22 21:01 | 显示全部楼层

大侠们,谢谢帮助了

谢谢大家帮助我解决下这个问题,非常感谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部