标题:产生锯齿波以及方波的C程序
取消只看楼主
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
 问题点数:0 回复次数:3 
产生锯齿波以及方波的C程序

产生锯齿波以及方波的C程序
产生锯齿波以及方波的C程序
产生锯齿波以及方波的C程序
产生锯齿波以及方波的C程序
放心吧 我都调试过的 没问题
//#pragma db oe sb

#include<reg51.h>

#include<absacc.h>

#define DAC0832 XBYTE[0x7fff] /* 定义DAC0832端口地址 */

#define uchar unsigned char

void delay(uchar t) { /* 延时函数 */

while(t--);

}

void saw(void) { /* 锯齿波发生函数 */

uchar i;

for (i=0;i<255;i++) {

DAC0832=i;

}

}

void square(void) { /* 方波发生函数 */

DAC0832=0x00;

delay(0x10);

DAC0832=0xff;

delay(0x10);

}

void main(void) {

uchar i,j;

i=j=0xff;

while(i--) {

saw(); /* 产生一段锯齿波 */

}

while(j--) {

square(); /* 产生一段方波 */

}

}

搜索更多相关主题的帖子: 方波 锯齿 
2006-11-04 19:56
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
得分:0 

他是一个头文件
是51单片机里面的
2006-11-04 20:06
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
得分:0 

#include<absacc.h>是一个头文件
里面的内容是
/*--------------------------------------------------------------------------
ABSACC.H

Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

#define CBYTE ((unsigned char volatile code *) 0)
#define DBYTE ((unsigned char volatile data *) 0)
#define PBYTE ((unsigned char volatile pdata *) 0)
#define XBYTE ((unsigned char volatile xdata *) 0)

#define CWORD ((unsigned int volatile code *) 0)
#define DWORD ((unsigned int volatile data *) 0)
#define PWORD ((unsigned int volatile pdata *) 0)
#define XWORD ((unsigned int volatile xdata *) 0)


#ifdef __CX51__
#define FVAR(object, addr) (*((object volatile far *) (addr)))
#define FARRAY(object, base) ((object volatile far *) (base))
#else
#define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L)))
#define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L)))
#define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L))
#define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
#endif

2006-11-04 20:08
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
得分:0 


是用来定义宏的
要是没有这些头文件
就不能定义像"#define DAC0832 XBYTE[0x7fff] /* 定义DAC0832端口地址 */"的宏指令

2006-11-05 20:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-100755-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.388245 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved