手机版

基于压频转换芯片的数据采集系统设计程序 河南理工大学单片机课设

时间:2025-07-13   来源:未知    
字号:

程序 基于压频转换芯片的数据采集系统设计 河南理工大学单片机课设

1 源程序代码

/*****功能显示电压值****/

#include<STC10F08XE.H>

#include <intrins.h>

unsigned char code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9 unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7};

unsigned char disp[4];

int f,count,count1,vv;

sbit led=P2^0;

sbit led1=P2^1;

float v;

/*void Delay100ms() //@11.0592MHz

{

unsigned char i, j;

i = 180;

j = 73;

do

{

while (--j);

} while (--i);

}*/

void display(unsigned char firstbit,unsigned char num)//显示

{

static unsigned char i=0;

P1=0x00; //清空数据,防止有交替重影

P0=wei[i+firstbit]; //取位码

P1=disp[i]; //取显示数据,段码

i++; //扫描四次

if(i==num)

i=0;

}

void Init_Timer1(void)

{

TMOD|=0x10;

TH1=(65536-46080)/256;

TL1=(65536-46080)%256;

EA=1; //开总中断

ET1=1; //开定时器中断

EX0=1; //外部中断0开

IT0=1; //下降沿触发

//TR1=0; //开定时器开关

程序 基于压频转换芯片的数据采集系统设计 河南理工大学单片机课设

}

void main()

{

P1M0=0XFF; //推挽

P1M1=0X00;

Init_Timer1();

while(1)

{

display(0,4);

disp[3]=duan[vv%1000%100%10]; //各段显示

disp[2]=duan[vv%1000%100/10];

disp[1]=duan[vv%1000/100];

disp[0]=duan[vv/1000]|0x80;

}

}

void Timer1(void) interrupt 3 //定时器1

{

TH1=(65536-46080)/256; //延时50ms

TL1=(65536-46080)%256;

count1++;

if(count1==20) //计1s

{

count1=0;

f=count;

v=(f/13000.0)*4.7*1000.0; // 4.7为单片机的供电电压 乘以1000便于显示

//v=(f*2.09*4.5*0.1026*0.5)/1.71; // 这个是利用公式显示

vv=(unsigned int)v;

count=0;

led=~led; //指示而已

led1=~led1;

}

}

void ISR_Key(void) interrupt 0 //外部中断0

{

TR1=1; //开定时器开关

count++;

}

程序 基于压频转换芯片的数据采集系统设计 河南理工大学单片机课设

基于压频转换芯片的数据采集系统设计程序 河南理工大学单片机课设.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)