基于C8051F360的波形发生器

锯齿波波形发生器

 

一、实验目的:

  1. 了解C8051F360单片机的DAC功能模块。
  2. 了解DAC电路的三种刷新模式:①写IDA0H刷新模式;②定时器溢出刷新模式;③外部引脚边沿刷新模式;
  3. 选择其中的一种模式实现模拟信号的输出,并编写程序在IDA0的引脚上输出波形信号。
  • 实验内容:

1、C8051F36X系统概述

C8051F36x器件是完全集成的混合信号片上系统型MCU。具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器的C8051F36x器件是真正能独立工作的片上系统。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。

C8051F36硬件连接图:

 

 

  • 实验步骤:

 

  1. 在断电的情况下连接电路、改接电路。 

将试验箱上的地和示波器上的地相接,将试验箱上波形输出口接入示波器的输入端。

  1. 使用EC6仿真器将实验箱和计算机的USB端口相连接。开启主副电源。
  2. 打开IDE仿真软件。
  3. 编写C51源程序,先在示波器上显示一根横线。
  4. 再调试波形显示程序。
  5. 调试程序,实现预定功能。

 

主程序和部分子程序如下

void main()
{
		
		InitDevice();					//F360初始化
	

	while(1)
	{
		square();

	}
}





/*********************子程序***************
函数功能:输出锯齿波
******************************************************/
void Sawtooth(void)			
	{
		uint x;
		for(x=1023;x>=0;x--)
		{
		IDA0L=(x<<6);
		IDA0H=(x>>2);
		delay(10);
		}
		return;
	}

void Triangle(void)
	{
		uint x;
	 	for(x=0;x<=1023;x++)
		{
		IDA0L=(x<<6);
		IDA0H=(x>>2);
		delay(1);
		}
	    for(x=1022;x>0;x--)
		{
		IDA0L=(x<<6);
		IDA0H=(x>>2);
		delay(1);
		}
		return;
	 }
void square(void)
	{


		IDA0L=0xc0;
		IDA0H=0xff;
		delay(200);
		delay(200);
				delay(200);
		IDA0L=0x00;
		IDA0H=0x00;
		delay(200);
		delay(200);
				delay(200);

	 }

完整程序见我上传的资源里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值