资源简介
数据采集系统——ADC0808的应用,单片机编程,protues仿真,很好用,内有ADC0808/ADC0809的中文资料,很全,很详细
代码片段和文件信息
#include
#include
#define uint unsigned int
#define uchar unsigned char
void Adc_toString();
uchar AdcBuffer[6];
/***********1602液晶显示部分子程序****************/
//Port Definitions**********************************************************
sbit LcdRs = P2^5;
sbit LcdRw = P2^6;
sbit LcdEn = P2^7;
sfr DBPort = 0x80; //P0=0x80P1=0x90P2=0xA0P3=0xB0.数据端口
//内部等待函数**************************************************************************
unsigned char LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
LcdEn=0;
return DBPort;
}
//向LCD写入命令或数据************************************************************
#define LCD_COMMAND 0 // Command
#define LCD_DATA 1 // Data
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光标返回原点
void LCD_Write(bit style unsigned char input)
{
LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();//注意顺序
LcdEn=1; _nop_();//注意顺序
LcdEn=0; _nop_();
LCD_Wait();
}
//设置显示模式************************************************************
#define LCD_SHOW 0x04 //显示开
#define LCD_HIDE 0x00 //显示关
#define LCD_CURSOR 0x02 //显示光标
#define LCD_NO_CURSOR 0x00 //无光标
#define LCD_FLASH 0x01 //光标闪动
#define LCD_NO_FLASH 0x00 //光标不闪动
void LCD_SetDisplay(unsigned char DisplayMode)
{
LCD_Write(LCD_COMMAND 0x08|DisplayMode);
}
//设置输入模式************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00 // default
#define LCD_MOVE 0x01 // 画面可平移
#define LCD_NO_MOVE 0x00 //default
void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND 0x04|InputMode);
}
//初始化LCD************************************************************
void LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND0x38); //8位数据端口2行显示5*7点阵
LCD_Write(LCD_COMMAND0x38);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示 无光标
LCD_Write(LCD_COMMANDLCD_CLEAR_SCREEN); //清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增 画面不动
}
//液晶字符输入的位置************************
void GotoXY(unsigned char x unsigned char y)
{
if(x==0)
LCD_Write(LCD_COMMAND0x80|y);
if(x==1)
LCD_Write(LCD_COMMAND0x80|0xC0|y);
}
//将字符输出到液晶显示
void Print(unsigned char *str)
{
while(*str!=‘\0‘)
{
LCD_Write(LCD_DATA*str);
str++;
}
}
//液晶显示程序
void show()
{
Adc_toString();
GotoXY(00);
Print(“Current Voltage:“);
GotoXY(15);
Print(AdcBuffer);
}
/***********ADC0809数模转换部分子程序****************/
//端口定义*****************************************
sbit START=P3^1;
sbit OE=P3^2;
sbit EOC=P3^3;
//ADC转换程序
uchar ADC_Convert()
{
uchar num;
OE=0;
START=0;
START=1;//锁存通道地址
START=0;//启动AD
while(!EOC);//等待转化结束
OE=1;//允许输出
num=P1;
OE=0;//复位寄存器
return num;//返还num值
}
//ADC转换的数据转换成液晶显示形式
void Adc_toString()
{
float rt;
unsigned int t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9385 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0808
文件 3218 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0808.hex
文件 62 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0808.lnp
文件 13049 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0808.M51
文件 1400 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0808.plg
....... 55666 2013-06-17 15:37 数据采集系统——ADC0808的应用\ADC0808.uvopt
....... 13406 2013-06-17 15:32 数据采集系统——ADC0808的应用\ADC0808.uvproj
....... 55654 2013-06-17 15:36 数据采集系统——ADC0808的应用\ADC0808_uvopt.bak
....... 0 2013-06-17 15:26 数据采集系统——ADC0808的应用\ADC0808_uvproj.bak
文件 939008 2013-06-17 15:33 数据采集系统——ADC0808的应用\ADC0808芯片中文资料.doc
文件 3536 2013-06-20 02:14 数据采集系统——ADC0808的应用\ADC0809.c
文件 160016 2013-06-20 02:13 数据采集系统——ADC0808的应用\ADC0809.DSN
文件 536140 2013-06-20 02:07 数据采集系统——ADC0808的应用\ADC0809.EMF
文件 7559 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0809.LST
文件 9034 2013-06-17 15:34 数据采集系统——ADC0808的应用\ADC0809.OBJ
文件 768 2013-06-20 02:13 数据采集系统——ADC0808的应用\ADC0809.PWI
文件 160016 2013-06-20 02:13 数据采集系统——ADC0808的应用\Last Loaded ADC0809.DBK
文件 6376 2009-05-07 14:37 数据采集系统——ADC0808的应用\STARTUP.A51
文件 14069 2013-06-17 15:34 数据采集系统——ADC0808的应用\STARTUP.LST
文件 749 2013-06-17 15:34 数据采集系统——ADC0808的应用\STARTUP.OBJ
目录 0 2013-06-20 02:13 数据采集系统——ADC0808的应用
----------- --------- ---------- ----- ----
1989111 21
- 上一篇:一个比较完整的开源cad 图形程序
- 下一篇:Php 导出数据为EXCEL程序
相关资源
- 直流伺服电机电路原理图(内附单片
- PIC 单片机定时器初值计算器
- 430系列单片机USBFET下载驱动
- 单片机 DS18B20 温度控制系统
- 单片机AT89s52控制GSM模块TC35i发短信,
- 单片机数字时钟包附电路图 源程序
- STC12C系列单片机函数库
- MCGS与单片机通信
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 单片机控制的步进电机正反转和加速
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 基于89c51的数字钟
- DXP单片机常用的元件库
- 单片机控制74ls164程序
- 基于单片机交通灯设计
- 基于PIC单片机的万年历的设计
- PIC单片机延时计算器
- 51单片机频率计(很简单)
- 9s12单片机SPI功能代码
- 数字电压表(源程序 protues仿真)
- AT89S ISP下载编程软件(串口)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
评论
共有 条评论