C源代码
//头文件
#include <reg51.h>
#include <INTRINS.H>
/******************************************
功能:驱动AD0832读取模拟电压数值,将AD转换
后的数值,使用数码管输出。
ADC0832的CHO(通道0)
是检测光敏电阻的电压变化。
驱动18b20测温数码管显示温度数值功能。
驱动步进电机完成百叶窗设计。
时间:2013-11-23
******************************************/
//宏定义
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电
#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电
#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电
#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电
#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电
#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电
#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电
#define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//AD相通电,其他相断电
#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电
#define BCD_PORT P0
//管脚定义
sbit DQ = P2^0; //定义ds18b20连接端口
sbit A1 = P2^1; //定义uln2003连接端口
sbit B1 = P2^2;
sbit C1 = P2^3;
sbit D1 = P2^4;
sbit ADC0832_CS = P2^5; //定义ADC连接端口
sbit ADC0832_DODI =P2^6;
sbit ADC0832_CLK = P2^7;
sbit zhanting1 = P3^4; //定义key连接端口
sbit zhanting2 = P3^5;
sbit fanxiang = P1^7;
sbit zhenxiang = P1^6;
sbit BCD6 = P1^5; //定义led连接端口
sbit BCD5 = P1^4;
sbit BCD4 = P1^3;
sbit BCD3 = P1^2;
sbit BCD2 = P1^1;
sbit BCD1 = P1^0;
//变量定义
uint temp; //温度缓存变量
uchar AD_Value; //LED数码管输出变量
uchar Speed; //速度、力矩
uchar fangxiang; //百叶窗开合方向
int huancun1,huancun2; //通用数字缓存
/******************************************/
// 数字显示数组,共阴
code uchar BCD[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40,0x39};
// /*0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,-,C*/
// 共阳数字显示数组0-9
uchar code BCDD[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
void dianji(void);
/******************************************/
//各级别延时子函数
//毫秒级延时函数
void mDelay(uchar delay)
{
uchar i;
for(;delay>0;delay--)
{
for(i=60;i>0;i--);
}
}
void DelayUs2x(unsigned char t)
{
while(--t);
}
void delay(unsigned int i)
{
while(i--);
}
void DelayMs(unsigned char t)
{while(t--)
{ //大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*****
*************************************************************/
//数码管显示函数
void DisplayBCD(uint temp)
{
BCD_PORT = BCDD[temp / 10000 %10]; //
你可能喜欢
- 资料下载
- C语言词法分析器
- 编译原理词法分析
- 源码分析
- 词法分析报告
- 世界名校课件资料下载地址3页
- 工业纯水机终端处理方法介绍资料下载10页
- 锅炉软化水设备高压给水标准资料下载6页
- 生活污水处理设备系统设计原则分析资料下载5页
- 全自动软化水设备工作流程资料下载4页
- 水处理设备电渗析脱盐原理资料下载4页
- C语言词法分析器3页
- C语言和C++兼容在一起写的词法分析器.DOC27页
- C语言词法分析器_源代码_风君版13页
- C_minus语言词法分析器的设计5页
- 基于C,C++的C语言词法分析器的设计与实现28页
- C语言词法分析器构造实验报告12页
- 编译原理与实现03第3章 词法分析24页
- 编译原理与实现03第3章 词法分析144页
- 编译原理-词法分析器2页
- 编译原理 词法分析器4页
- 第3章 词法分析 编译原理110页
- 北邮 编译原理 词法分析17页


