找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2545|回复: 0
收起左侧

单片机+DAC0832三角波的产生和输出程序与Proteus仿真

[复制链接]
ID:808939 发表于 2021-7-19 14:55 | 显示全部楼层 |阅读模式
       本实验介绍三角波的产生和输出。并且可以通过本次实验加深定时器的应用。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
目前是三角波.PNG

单片机源程序如下:
  1. #include "reg51.h"
  2. #define u8 unsigned char
  3. u8 i=0;
  4. bit up=1;//up=1向上,0向下
  5. void delay(long d){while(d--);}
  6. //三角波    改成  正弦波
  7. void T0_init(void)
  8. {
  9.     TMOD = 0x01;
  10.     TH0 = 0x0FC;
  11.     TL0 = 0x18;
  12.     EA = 1;
  13.     ET0 = 1;
  14.     TR0 = 1;
  15. }

  16. void main (void)
  17. {
  18.         u8 k=0;
  19.         T0_init();
  20.         while(1)
  21.         {
  22.                 P1=k++;
  23.                 delay(10000);
  24.         }
  25. }

  26. void Timer0Interrupt(void) interrupt 1//1ms
  27. {
  28.     TH0 = 0x0FC;
  29.     TL0 = 0x18;
  30.        
  31.                 if(up==1)
  32.                 {
  33.                         P2=i++;
  34.                         if(i==255)up=0;
  35.                 }
  36.                 else
  37.                 {
  38.                         P2=i--;
  39.                         if(i==0)up=1;
  40.                 }
  41. }
复制代码
51hei.png
所有资料51hei提供下载:
定时器三角波.7z (99.93 KB, 下载次数: 26)

评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表