keil 生成三角波dac0832_Proteus8.9 WINAVR编译器仿真ATmega16系列a15_DAC0823生成多波形

*本文及代码参阅彭伟《单片机C语言程序设计实训100例》

一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)

af3a419898e32f6165ea3c637d2bea6f.png

图1

二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示)

bc97edf400abc7266cc5cf7ae0950518.png

图2

7e07f11431927b725fa9c1fbf2411773.png

图3

9ab146e1d97a1b350cc3120876a0cc63.png

图4

三,点击Source Code标签。(如下图5所示)

4b769a8c3567b0cffa02fb07cad755bb.png

图5

四,编辑main.c 代码如Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a15_DAC0823生成多波形 (如下图6所示)

99fecfcfd8525800586fda9da04726f8.png

图6

五,Main.c 代码:

//-----------------------------------------------------------------

// 名称: 用DAC0832生成多种波形

//-----------------------------------------------------------------

// 说明: 本例运行时,通过切换开关,可分别输出锯齿波,三角波,正弦波

//

//-----------------------------------------------------------------

#include "myfunc01.h"

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

int main()

{

DDRA= 0xFF;

DDRB= 0x00; PORTB= 0xFF;

MCUCR |= 0x80;

while(1) {

if (S1_ON()) SawTooth_Wave();

else if (S2_ON()) Triangle_Wave();

else if (S3_ON()) Sin_Wave();

else if (S4_ON()) *DAC0832= 0xFF;

else _delay_ms(100);

}

}

Myfunc01.h

//******************************************************************************************

#ifndef _MYFUNC01_H_

#define _MYFUNC01_H_

//#define F_CPU 2000000UL

#include <avr/io.h>

#include <avr/interrupt.h>

#include <util/delay.h>

#define INT8U unsigned char

#define INT16U unsigned int

#define PI 3.1415926

#define DAC0832 (INT8U*)0xFFFE

//DAC0832接口地址定义

#define S1_ON() (PINB & _BV(PB0)) == 0x00

#define S2_ON() (PINB & _BV(PB2)) == 0x00

#define S3_ON() (PINB & _BV(PB3)) == 0x00

#define S4_ON() (PINB & _BV(PB4)) == 0x00

void SawTooth_Wave();

void Triangle_Wave();

void Sin_Wave();

#endif

六,点击构建工程按钮,编译工程。(如下图7所示)

8041f627e416cce0ec20683a21177611.png

图7

七,点击窗口左下方仿真按钮,可见虚拟示波器屏显示波形。 (如下图8,9,10所示)

c22cf684f8adb4b85a0b1ecd14926bad.png

图8

eb9b6da86042f5f211bab381ffaabd61.png

图9

49fc91550e63150e488755a90c9cd85a.png

图10

八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示)

cc2b43bb6e4942d64315bf4255a01b11.png

图11

附件下载:https://download.csdn.net/download/kaillen/12576428

件Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a15_DAC0823生成多波形在已安装Proteus8.9的计算机文件夹中打开即可

需要进一步了解,请加入QQ群:976235464

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值