1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > AD转换实验c语言原理图 我的AD/DA转换单片机实验 含原理图和源码

AD转换实验c语言原理图 我的AD/DA转换单片机实验 含原理图和源码

时间:2021-05-25 13:47:33

相关推荐

AD转换实验c语言原理图 我的AD/DA转换单片机实验 含原理图和源码

这是我上单片机实验课做的AD/DA相互转换显示的练习

用的proteus做的仿真实验

keil4编写的源程序

请大家多多指教

#include"reg52.h"

//宏定义

#define uchar unsigned char

#define uint unsigned int

//按键定义

sbit KEY1=P2^1;

sbit KEY2=P2^2;

//液晶控制引脚定义

sbit RS=P2^5;

sbit RW=P2^6;

sbit EN=P2^7;

//DAC定义

sbit CS_5615=P1^1;

sbit CLK_5615=P1^0;

sbit DAT_5615=P1^2;

//ADC定义

sbit CS=P3^5;

sbit CLK=P3^3;

sbit DIO=P3^4;

uint U;

uchar GETU=0;

bit flag=0;

uint a=0;

uint AD_val=0;

unsigned char Int,Dec;//分别储存转换后的整数部分与小数部分

uchar code tab1[]={"Welcome "};//固定字符

uchar code tab2[]={"adj power supply"};//固定字符

uchar code tab3[]={"Volt=.V"};//固定字符

uchar code tab4[]={""};//固定字符

uchar code tab5[]={"Short circuit!!!"};//固定字符

uchar code tab6[]={"Please restart!!"};//固定字符

//延时函数

void delay(uint xms)//延时函数,有参函数

{

uint x,y;

for(x=xms;x>0;x--)

for(y=121;y>0;y--);

}

//液晶写入指令函数

void write_1602com(uchar com)

{

RS=0;//数据/指令选择置为指令

RW=0;//读写选择置为写

P0=com;//送入数据

delay(1);

EN=1;//拉高使能端,为制造有效的下降沿做准备

delay(1);

EN=0;//en由高变低,产生下降沿,液品执行命令

}

//液晶写入数据函数

void write_1602dat(uchar dat)

{

RS=1;//数据/指令选择置为数据

RW=0;//读写选择置为写

P0=dat;//送入数据

delay(1);

EN=1;//en置高电平,为制造下降沿做准备

delay(1);

EN=0;//en由高变低,产生下降沿,液晶执行命令

}

//液晶初始化函数

void lcd_init()

{

uchar p;

write_1602com(0x38);//设置液晶工作模式,意思: 16*2行显示,5*7点阵,8位数据

write_1602com(0x0c);//开显示不显示光标

write_1602com(0x06);//整屏不移动,光标自动右移

write_1602com(0x01);//清显示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。