资源简介
用单片机和adc0809相连,做的数字电压表,量程0-5v
代码片段和文件信息
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit shj=P3^0;//串口数据口
sbit sck=P3^1;//串口时钟
sbit start=P2^1;
sbit oe=P2^0;
sbit eoc=P2^2;
uchar data led[4];
uchar tvdata;
uint temp;
uchar code dsp[]={0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x00x0};
void dis(uchar num) //写一个字节
{
uchar temp;
int i;
temp=dsp[num];
for(i=0;i<8;i++)
{
temp=temp<<1;
shj=CY;
sck=0;
sck=1;
}
}
void dis2(uchar num) //写一个字节
{
uchar temp;
int i;
temp=dsp[num]|0x08;//加小数点
for(i=0;i<8;i++)
{
temp=temp<<1;
shj=CY;
sck=0;
sck=1;
}
}
void leddisplay()
{
temp=tvdata*2*0.98;
led[0]=temp%10;
led[1]=(temp/10)%10;
led[2]=(temp/100)%10;
led[3]=(temp/1000)%10;
dis(led[3]);
dis(led[2]); dis(led[1]); dis2(led[0]);
}
void init()
{
P0=0xff;
start=0;
oe=0;
start=1;
start=0;
while(eoc==0);
oe=1;
tvdata=P1;
oe=0;
}
void delay()
{
uint xy;
for(x=30;x>0;x--)
for(y=120;y>0;y--);//历史证明,不能没有延时函数啊
}
void main()
{ uchar a=0;
//dis(2);
while(1)
{
init();
if(a!=tvdata)
{
a=tvdata;
leddisplay();
delay();//没有延时的话,很不稳定
}
else
{;}
delay();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 133350 2009-07-23 16:16 0809的串口显示电压\0809.DSN
文件 742 2009-07-26 11:28 0809的串口显示电压\0809.PWI
文件 0 2009-07-26 11:05 0809的串口显示电压\0809.SDF
文件 133360 2009-04-02 18:23 0809的串口显示电压\Last Loaded 0809.DBK
文件 6120 2009-07-26 10:03 0809的串口显示电压\ok
文件 1299 2009-07-26 10:03 0809的串口显示电压\ok.c
文件 2493 2009-07-26 10:03 0809的串口显示电压\ok.hex
文件 21 2009-07-26 10:03 0809的串口显示电压\ok.lnp
文件 4083 2009-07-26 10:03 0809的串口显示电压\ok.LST
文件 7949 2009-07-26 10:03 0809的串口显示电压\ok.M51
文件 6007 2009-07-26 10:03 0809的串口显示电压\ok.OBJ
文件 971 2009-07-26 10:03 0809的串口显示电压\ok.Opt
文件 374 2009-07-26 10:03 0809的串口显示电压\ok.plg
文件 2107 2009-07-26 10:03 0809的串口显示电压\ok.Uv2
....... 969 2009-07-23 16:16 0809的串口显示电压\ok_Opt.Bak
....... 1988 2009-07-23 16:16 0809的串口显示电压\ok_Uv2.Bak
文件 6376 2005-03-22 15:22 0809的串口显示电压\STARTUP.A51
文件 14048 2009-03-20 18:55 0809的串口显示电压\STARTUP.LST
文件 749 2009-03-20 18:55 0809的串口显示电压\STARTUP.OBJ
目录 0 2009-07-26 11:05 0809的串口显示电压
----------- --------- ---------- ----- ----
323006 20
- 上一篇:modbus通讯协议详解
- 下一篇:k
相关资源
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
- 直流伺服电机电路原理图(内附单片
- PIC 单片机定时器初值计算器
- 430系列单片机USBFET下载驱动
- 单片机 DS18B20 温度控制系统
- 单片机AT89s52控制GSM模块TC35i发短信,
- 单片机数字时钟包附电路图 源程序
评论
共有 条评论