#include
//stdio.h,string.h用于printf函数原型
#include
#include
sbit AD_CS = P1^2;
sbit AD_WR = P1^0;
sbit AD_RD = P1^1;
sbit AD_PORT = P0;
/**************************************
*
* 启动ADC
*
***************************************/
void AdcStart(void)
{
AD_CS = 0;
_nop_();
AD_WR = 0;
_nop_();
AD_WR = 1;
_nop_();
AD_CS = 1;
_nop_();
}
/**************************************
*
* 读取ADC值
*
***************************************/
int AdcRead(void)
{
int temp;
AD_PORT = 0xFF; //单片机读取AD值之前PORT口先写高
AD_CS = 0;
_nop_();
AD_RD = 0;
_nop_();
_nop_();
_nop_();
temp = P0;
_nop_();
AD_RD = 1;
_nop_();
AD_CS = 1;
_nop_();
return temp;
}
关键字:C51 ADC0804LCN
引用地址:
C51 ADC0804LCN 应用
推荐阅读最新更新时间:2024-03-16 16:20
C51单片机的PID程序编写
//主程序====================================================== #include “Main.h” #include “PID_f1.h” /* 。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。.. */ /* 。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。.. */ void main(void) { float x,y,z; while(1) { x = PID_Control(y,z); } } //PID子程序=====
[单片机]
Keil c51 U3字符显示错位问题的解决办法
相信很多人遇到多光标处显示的字符并不是正确的字符,可一直没有办法解决。 其实很简单,在Keil c目录下TOOLS.INI文件中第三行增加一条语句:ANSI=1就可以了。 看看我的这个配置文件内容: ORGANIZATION= HEYONG NAME= USER , wym ANSI=1(就加这一句) EMAIL= 498729914@qq.com BOOK0=UV3\RELEASE_NOTES.HTM( uVision Release Notes ,GEN) ARMSEL=1 PATH= c:\Keil\C51\ BOOK0=HLP\Release_Notes.htm( Release Notes ,GEN) BOOK1=
[单片机]
DS1302读写一体化C51源程序
DS1302读写一体化C51源程序 (hotpower) /*---------------------------------------------- DS1302读写一体化C51源程序 HotPower@126.com ------------------------------------------------*/ //打开DS1302 void TimeSpiOpen(void) { TIMECLK = 0; TIMERST = 0;//禁止DS1302 TIMEIO = 1;//释放数据总线 TIMERST = 1;//使能DS1302 } //关闭DS1302 void TimeSpiClose(v
[单片机]
51study实例-C51闹铃程序
#include atmelat89x52.h #include string.h #define comdir P3_2 #define wirespeaker P1_3 #define wiret0 T0 #define wiret1 T1 #define adr_delay1s 0x1086 #define adr_print10ms 0x1000 #define adr_print80ms 0x101A #define adr_screen_black 0x10BA #define adr_screen_clear 0x10CD #define adr_key_search 0X10EB #define adr_sou
[单片机]
51单片机c语言定义寄存器r,c51特殊功能寄存器定义及作用
单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。 c51主要特点 单片机C51语言兼备高级语言与低级语言的优点。 语法结构和标准C语言基本一致,语言简洁,便于学习。 单片机C51实验板 运行于单片机平台,支持的微处理器种类繁多,可移植性好。对于兼容的8051系列单片机,只要将一个硬件型号下的程序稍加修改,甚至不加改变,就可移植到另一个不同型号的单片机中运行。 具有高级语言的特点,尽量减少底层硬件寄存器的操
[单片机]
c51单片机之外部中断实验
c51单片机之外部中断实验(利用外部中断实现按键控制显示数字实现设置、加一、减一功能) 仿真图: 代码段: #include reg52.h #define uint unsigned int #define uchar unsigned char sbit P10=P1^0; uchar a=0;//T0中断次数 char c=0; //闪烁次数 uint b=0; //外部中断(S14问 uint z; //判断减一执行后是否开启加一按键 void delay(uint z); void display(); uchar code table ={0xc0,0xf9,0xa4,0xb0,0x99,
[单片机]
C51单片机指针变量的定义及应用
一。 指针变量的定义 指针变量定义与一般变量的定义类似,其形式如下: 数据类型 [存储器类型1] * [存储器类型2] 标识符; [存储器类型1] 表示被定义为基于存储器的指针。无此选项时,被定义为一般指针。这两种指针的区别在于它们的存储字节不同。一般指针在内存中占用三个字节,第一个字节存放该指针存储器类型的编码(由编译时由编译模式的默认值确定),第二和第三字节分别存放该指针的高位和低位地址偏移量。存储器类型的编码值如下: 存储类型IIdata/data/bdataxdatapdataCode编码值0x000x010xFE0xFF [存储类型2]用于指定指针本身的存储器空间。 1、 char * c_ptr; int *
[单片机]
ASM5无参数化调用C51函数的实现
摘要: 利用汇编模块对C51模块进行无参数化调用,从根本上避开了传统汇编模块和C51模块之间调用时的繁琐接口编程问题,并以实例验证了该方法的优越性和有效性。 关键词: ASM51汇编语言 C51语言 无参数化调用 MCS-51系列单片机在目前和今后的相当一段时间内都将是我国的单片机主流机种。但在早期的开发过程中,程序员不得不从深奥的汇编语言开始摸索,同时要求开发人员对硬件亦有相当的子解。相比而言,专用8051系列单片机设计的Franklin C51语言是一种通用的高级结构化的程序设计
[工业控制]