找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1126|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机固定频率、占空比的方波发生器仿真及代码DAC0832+LM324运放

[复制链接]
跳转到指定楼层
楼主
任务名称:基于单片机的固定频率、占空比的方波发生器。
功能要求:产生固定频率和占空比的方波电压。
硬件要求:单片机芯片采用AT89C51,D/A转换器采用DAC0832,显示器使用LCD1602,运放使用LM324。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include "reg52.h"
  2. #include "intrins.h"
  3. #include "absacc.h"
  4. #define DAC0832 XBYTE[0x7fff]
  5. #define LCD_DATA         P1               
  6. unsigned char LcdBuf[2][16]={{"Square F: 100Hz"},{"Duty Cycle:50%"}};
  7. unsigned int Fr=100,D=50;
  8. unsigned int low,high;
  9. sbit LCD_RS                = P2^0;
  10. sbit LCD_RW                = P2^1;
  11. sbit LCD_E          = P2^2;

  12. void dellay(unsigned int h)
  13. {
  14.         while(h--);    //0.01MS
  15. }

  16. void WriteDataLcd(unsigned char wdata)
  17. {
  18.    LCD_DATA=wdata;
  19.    LCD_RS=1;
  20.    LCD_RW=0;
  21.    LCD_E=0;
  22.    dellay(1000);  
  23.    LCD_E=1;
  24. }

  25. void WriteCommandLcd(unsigned char wdata)
  26. {
  27.    LCD_DATA=wdata;
  28.    LCD_RS=0;
  29.    LCD_RW=0;
  30.    LCD_E=0;
  31.    dellay(1000);
  32.    LCD_E=1;
  33. }

  34. void lcd_init(void)
  35. {
  36.     LCD_DATA=0;
  37.     WriteCommandLcd(0x38);
  38.     dellay(1000);
  39.     WriteCommandLcd(0x38);
  40.            dellay(1000);
  41.         WriteCommandLcd(0x01);
  42.     WriteCommandLcd(0x0c);
  43. }


  44. void  display_xy(unsigned char x,unsigned char y)
  45. {
  46.     if(y==1)
  47.                    x+=0x40;
  48.         x+=0x80;
  49.         WriteCommandLcd(x);
  50. }

  51. void display_string(unsigned char x,unsigned char y,unsigned char *s)
  52. {
  53.         display_xy(x,y);
  54.         while(*s)
  55.         {
  56.                    WriteDataLcd(*s);
  57.                    s++;
  58.         }
  59. }
  60. void delayhus(unsigned int hus)
  61. {
  62.         unsigned int i,j;
  63.         for(i=hus;i>0;i--)
  64.                  for(j=11;j>0;j--);
  65. }
复制代码

Keil代码与Proteus8.13  Proteus7.5版本的仿真下载:(按键调节功能暂未加入,大家可以在此基础上改进)
固定频率、占空比方波发生器.rar (100.27 KB, 下载次数: 31)

评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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