call515.c

来自「单片机C语言教程」· C语言 代码 · 共 45 行

C
45
字号
/******************************************************************/
/* 这是调用MAX515的汇编语言程序(MAX515A.ASM)的C51程序。         */
/* 文件名CALL515.C。                                              */
/* 功能:本程序是通过调用汇编语言程序实现MAX515芯片的D/A转换。    */
/*      程序中转换的十六进制值依次为0x0ffc,0x0804,0x0800,0x07fc   */
/*      ,0x0004,0x0000。VOUT脚输出转换后的模拟信号,它既可用万    */
/*      用表的直流电压档测试,也可用示波器的探头点在此处观察。     */
/******************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

void delay1(uint x);
extern  uchar chai;           //把全局变量chai声明为外部变量
extern  uchar a_func(uint);   //把a_func 声明为外部函数
uchar i;

void delay1(uint x)           //延时程序
{
 uchar tw;
 while (x-->0){
 for (tw=0;tw<125;tw++){;}
 }
}

void main()                   //主程序
{
      SP=0xcf;
      delay1(1000);
      EA=0;
      chai=a_func(0x0ffc);    // 将十六进制值0x0ffc送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      chai=a_func(0x0804);    // 将十六进制值0x0804送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      chai=a_func(0x0800);    // 将十六进制值0x0800送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      chai=a_func(0x07fc);    // 将十六进制值0x07fc送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      chai=a_func(0x0004);    // 将十六进制值0x0004送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      chai=a_func(0x0000);    // 将十六进制值0x0000送MAX515芯片作D/A转换
      delay1(1000);           // 延时
      while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?