资源简介
通过51单片机搭建模拟电压转为数字电压的电路,用ADTLC549芯片实现模数转换,并且通过LED显示器显示出来。编译通过并且仿真运行可以达到想要的效果,实际搭建电路也可以实现但有轻微的闪烁。

代码片段和文件信息
#include
#include
#define uchar unsigned char
uchar voltage=0;
sbit CLK = P1^0;
sbit CS = P1^1;
sbit DATAOUT = P1^2;
sbit S1 =P2^0;
sbit S2 =P2^1;
sbit S3 =P2^2;
void delay(int);
void collect_voltage();
unsigned char code LEDMAP[] =
{
0x3f 0x06 0x5b 0x4f 0x66
0x6d 0x7d 0x07 0x7f 0x6f
};
void main(void)
{
uchar abcd;
//P2=0x0f;
S1=S2=S3=0;
P0=0x00;
for(d=0;d<20;d++)
delay(1000);
CS=1;
_nop_();
while(1)
{
collect_voltage();
//Delay(3);
P2=~0x04;
//S1=1;S2=0;S3=0;
a=voltage/51;
P0=LEDMAP[a]+0x80;
delay(100);
P2=~0x02;
//S1=0;S2=1;S3=0;
b=voltage%51/5;
P0=LEDMAP[b];
delay(100);
P2=~0x01;
//S1=0;S2=0;S3=1;
c=voltage%51%5*2;;
P0=LEDMAP[c];
delay(100);//这里要有足够的延时,否则采样可能还没结束,造成闪烁
//delay(10000);
}
}
void delay(int n)
{
int i;
for(i = 0; i < n; i++)
_nop_();
}
void collect_voltage()
{
uchar count temp;
uchar i;
temp = 0;
CS = 1;
CLK = 0;
CS = 0; //CS为低表示选中TLC549
_nop_();
//delay(10);
for(count = 0; count < 8; count++)
{
CLK = 1;
temp = (temp<<1) | DATAOUT; //CLK的高低电平之间每次读取一位,上次的那一位移到高位再加上这次的一位(DATAOUT)
CLK = 0;
}
CS = 1;
voltage = temp;//8次后采集到一个完整的数据
delay(20);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4626 2012-07-23 23:30 LED数码管5V数字电压表\1
文件 1369 2012-07-23 23:30 LED数码管5V数字电压表\1.c
文件 1024 2012-07-23 23:30 LED数码管5V数字电压表\1.hex
文件 35 2012-07-23 23:30 LED数码管5V数字电压表\1.lnp
文件 4061 2012-07-23 23:30 LED数码管5V数字电压表\1.LST
文件 7363 2012-07-23 23:30 LED数码管5V数字电压表\1.M51
文件 4389 2012-07-23 23:30 LED数码管5V数字电压表\1.OBJ
文件 1073 2012-07-24 01:05 LED数码管5V数字电压表\1.Opt
文件 810 2012-07-24 01:05 LED数码管5V数字电压表\1.plg
文件 2154 2012-07-08 19:26 LED数码管5V数字电压表\1.Uv2
文件 1071 2012-07-23 18:15 LED数码管5V数字电压表\1_Opt.Bak
文件 2154 2012-07-08 10:19 LED数码管5V数字电压表\1_Uv2.Bak
文件 188709 2012-07-06 09:28 LED数码管5V数字电压表\Backup Of new.DBK
文件 191519 2012-07-08 09:39 LED数码管5V数字电压表\Last Loaded new.DBK
文件 187499 2012-07-23 15:59 LED数码管5V数字电压表\Last Loaded new2.DBK
文件 964 2012-07-23 15:56 LED数码管5V数字电压表\new.PWI
文件 196062 2012-07-06 22:41 LED数码管5V数字电压表\new1.DSN
文件 187483 2012-07-23 16:00 LED数码管5V数字电压表\new2.DSN
文件 938 2012-07-23 16:00 LED数码管5V数字电压表\new2.PWI
文件 6376 2005-03-22 15:22 LED数码管5V数字电压表\STARTUP.A51
文件 14048 2012-07-23 23:30 LED数码管5V数字电压表\STARTUP.LST
文件 758 2012-07-23 23:30 LED数码管5V数字电压表\STARTUP.OBJ
目录 0 2012-10-11 20:56 LED数码管5V数字电压表
----------- --------- ---------- ----- ----
1004485 23
- 上一篇:jdk8安装包
- 下一篇:南自以太网103规约及上位机代码.zip
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- ADC0809数字电压表 LCD1602显示 汇编程序
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 数字电压表(源程序 protues仿真)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
评论
共有 条评论