⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 call517.c

📁 单片机C语言教程
💻 C
字号:
/****************************************************************/
/* 这是调用MAX517的汇编程序(MAX517.ASM)的C51程序。            */
/* 文件名CALL517.C。                                            */
/* 功能:本程序是通过调用汇编语言程序实现MAX517芯片的D/A转换。  */
/*    本程序中转换的十六进制值依次为10H,20H,40H,80H,0FFH,00H,   */
/*    OUT脚输出转换后的模拟信号,它既可用万用表的直流电压档测试 */
/*    ,也可用示波器的探头点在此处观察。                        */
/****************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

void delay1(uint x);
extern  uchar chai;            //把全局变量chai声明为外部变量
extern  uchar a_func(uchar);   //把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(0x10);    // 将十六进制值0x10送MAX517芯片作D/A转换
      delay1(1000);         // 延时
      chai=a_func(0x20);    // 将十六进制值0x20送MAX517芯片作D/A转换
      delay1(1000);         // 延时
      chai=a_func(0x40);    // 将十六进制值0x40送MAX517芯片作D/A转换
      delay1(1000);         // 延时
      chai=a_func(0x80);    // 将十六进制值0x80送MAX517芯片作D/A转换
      delay1(1000);         // 延时
      chai=a_func(0xff);    // 将十六进制值0xff送MAX517芯片作D/A转换
      delay1(1000);         // 延时 
      chai=a_func(0x00);    // 将十六进制值0x00送MAX517芯片作D/A转换
      delay1(1000);         // 延时    
      while(1);
}

⌨️ 快捷键说明

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