标题: 51单片机固定频率、占空比的方波发生器仿真及代码DAC0832+LM324运放 [打印本页]

作者: meimei20062009    时间: 2023-1-28 19:32
标题: 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, 下载次数: 32)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1