永发信息网

单片机C51中数模转换的小问题 望大虾指点

答案:3  悬赏:40  手机版
解决时间 2021-08-17 01:38

小弟初学单片机

下面这个程序看了半天  又做死的改了很多地方在实验板上试了N久 还是没弄明白

大虾能帮忙看看不?

#include<reg51.h>

#define uchar unsigned char
#define uint unsigned int
sbit SPI_CLK = P1^1;
sbit SPI_DATA = P1^0;
sbit CS_DA = P1^2;

void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}

void da5615(uint da)
{
uchar i;
da<<=6;
CS_DA=0;
SPI_CLK=0;
for (i=0;i<12;i++)
{
SPI_DATA=da|0x8000;
SPI_CLK=1;
da<<=1;
SPI_CLK=0;
}

CS_DA=1;
SPI_CLK=0;
for (i=0;i<12;i++);
}

void main()
{
uint i=0;
while(1)
{
da5615(i);
i = i + 10;
Delay_1ms(10);
}
}

最佳答案

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int


sbit SPI_CLK = P1^1; 
sbit SPI_DATA = P1^0;
sbit CS_DA = P1^2;


void Delay_1ms(uint i)//1ms延时
{
 uchar x,j;
 for(j=i;j>0;j--)
  for(x=125;x>0;x--);
}


void da5615(uint da)
{
    uchar i;
    da<<=6;  
 CS_DA=0;
    SPI_CLK=0;
    for(i=0;i<12;i++)
    {
    SPI_DATA=da&0x8000;
    SPI_CLK=1;
    da<<=1;
    SPI_CLK=0;
    }


    CS_DA=1;
    SPI_CLK=0;
    _nop_();
}


void main()
{
    uint i;
    while(1)
    {
    for(i=0; i<0x3ff; i+=4)
    {
    da5615(i);
    Delay_1ms(200);
    }
    Delay_1ms(2000);
    }
}
在你程序上修改的,你试试看吧!


你程序里这句SPI_DATA=da|0x8000;这样写的结果是SPI_DATA永远都为1。


不知道你用的晶振是多少的,如果是12MHZ的, 就不用该;


如果是11.0592MHZ的,要把延时函数里for(x=125;x>0;x--);改为r(x=110;x>0;x--);

全部回答
你们也学单片机?

挺简单的,看看这篇文章“DA转换模块设计教程”

http://wenku.baidu.com/view/d5b97b6baf1ffc4ffe47ac84.html

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
李易峰粉丝口号,李易峰盗墓笔记的粉丝口号叫
中译英查错THERE WAS NOT HELD THE SPORTS ME
邵东县邵阳中国移动通信智海代理店地址在什么
10元怎么开通300M
暑假家长对老师的祝福,家长感谢老师的话
HP触控+360旋转的笔记本
在kanon游戏中有川澄舞这个人物吗
谁给我一个QQ西游的激活码?
1.新概念英语第二册有什么作用啊、?
炫舞上幸运金币怎么用啊?
黄桃鹦鹉好养吗,新手养什么样的鹦鹉比较好
精武堂里我怎么把装备卖不出去呢
以“我想_______”为题的作文,我不知道写什么
老城区洛阳金牛地暖(老城旗舰店)地址有谁知道
10级疾风戒子是多少攻击
推荐资讯
爱上你是对还是错
大冶市黄石老街烧烤巴厘龙虾(湛月店)地址在哪
世界上最美的歌曲是?
奥组词语有哪些,注的组词有哪些词语
跪求谁知道电信的3G无线网卡年付费超出送的时
夏天喝哪些茶解渴???
鉴定食物中含有较多淀粉,应采用什么实验材料
驿城区驻马店安之酸植物染发养发我想知道这个
阳新县黄石三江国际KTV地址在哪里啊
契约OL风暴勋章怎么得到
安装调试费,电脑安装调试
巨蟹座A型血男人适合什么样的女人
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?