标题:
单片机电压表程序 数码管显示
[打印本页]
作者:
zxc123qaz
时间:
2016-12-22 15:15
标题:
单片机电压表程序 数码管显示
最近才学的电压表
0.png
(33.87 KB, 下载次数: 47)
下载附件
2016-12-23 02:48 上传
数字电压表的c语言单片机程序:
#include<reg52.h>
#include"intrins.h" /*头文件*/
#define uchar unsigned char
#define uint unsigned int
sbit OE=P2^7;
sbit EOC=P2^6;
sbit START=P2^5;
sbit CLK=P2^4;
sbit CS0=P2^0;
sbit CS1=P2^1;
sbit CS2=P2^2;
sbit CS3=P2^3; /*定义变量名*/
uint adval,volt;
uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void delayms(uint ms) /*延迟函数*/
{
uchar j;
while(ms--)
{
for(j=0;j<120;j++);
}
}
void ADC_read() /* adc初始程序 */
{
START=0;
START=1;
START=0;
while(EOC==0);
OE=1;
adval=P1;
OE=0;
}
void volt_result()
{
volt=adval*1.96;
}
void disp_volt(uint date) /*led显示程序*/
{
CS0=1;CS1=0;CS2=0;CS3=0;
P0=~((~tab[date/100])|0x80);
delayms(1);
P0=0xFF;
CS0=0;CS1=1;CS2=0;CS3=0;
P0=tab[date%100/10];
delayms(1);
P0=0xFF;
CS0=0;CS1=0;CS2=1;CS3=0;
P0=tab[date%10];
delayms(1);
P0=0xFF;
CS0=0;CS1=0;CS2=0;CS3=1;
P0=tab[date%100];
delayms(1);
P0=0xFF;
}
void t0()interrupt 1 /*定时中断开启*/
{
CLK=~CLK;
}
void t0_init() /*定时中断初始程序*/
{
TMOD=0x02;
TH0=0x14;
TL0=0x00;
TR0=1;
ET0=1;
EA=1;
}
void main(void)
{
t0_init();
while(1)
{
ADC_read();
volt_result();
disp_volt(volt);
}
}
复制代码
0.png
(52.87 KB, 下载次数: 39)
下载附件
2016-12-23 02:49 上传
数码管.zip
(65.63 KB, 下载次数: 48)
2016-12-22 15:15 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1