资源简介
基于FPGA的电压表,用数码管显示数值。ADC0809进行AD采集。

代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
/*************位定义***********************/
sbit OE = P3^0;
sbit EOC = P3^1;
sbit START = P3^2;
sbit clk = P3^3;
sbit dot=P1^7;
/*************赋值*************************/
uint digtial[4]getdataend;
uchar code dis[] = {0X3F0X060X5B0X4F0X660X6D0X7D0X070X7F0X6F};
uchar getdata;
//*************************************************
//函数名称:void delay1ms( unsigned char t)
//函数功能:延时函数
//返回类型:无
//使用说明:
// 1:产生需要的延时时间
//*************************************************
void delay1ms( unsigned char t)
{
unsigned char ij;
for( ; t; t--)
for(i=4; i>0; i--)
for(j=123; j>0; j--);
}
void time_time_clk() interrupt 1 using 0
{
TH0 = (65536-20)/256;//给高8位赋值
TL0 = (65536-20)%256;//给低8位赋值
clk=~clk;
}
//********************
//函数名称:void inint()
//函数功能:初始化定时器.ADC0809
//********************
void inint()
{
TMOD = 0x01;//选择工作模式 16位
TH0 = (65536-20)/256;//给高8位赋值
TL0 = (65536-20)%256;//给低8位赋值
EA = 1;//开总中断
ET0 = 1;//启动定时器0;
TR0 = 1;//开定时器0
START = 0;//给ADC0809赋初值
OE = 0;
}
//****************************
//函数名称:void display()
//函数功能:动态扫描,数码管显示电压值
//****************************
void display()
{
P2 = 0X0E;
P1 = dis[digtial[3]];
dot = 1;
delay1ms(10);
P1 = 0X00;
P2 = 0X0d;
P1 = dis[digtial[2]];
delay1ms(10);
P1 = 0X00;
P2 = 0X0b;
P1 = dis[digtial[1]];
delay1ms(10);
P1 = 0X00;
P2 = 0X07;
P1 = dis[digtial[0]];
delay1ms(10);
P1 = 0X00;
}
//*****************************
//函数名称:void AD()
//函数功能:将模拟电压转换为数字
//*****************************
void AD()
{
START = 0;
OE = 0;
START = 1;
START = 0;//启动AD转换
while(EOC == 0)
{
}//判断转换是否结束
OE = 1;//允许输出
getdata = P0;//将转换得到的数据赋给getdata
OE = 0;//关闭输出
getdataend = getdata*(5000/255);
digtial[3] = getdataend/1000; //最高位数值
digtial[2] = getdataend%1000/100;
digtial[1] = getdataend%100/10;
digtial[0] = getdataend%10;//最低位数值
}
void main()
{
inint();//定时器和ADC0809的初始化
while(1)
{
AD();//AD转换
display();//数码管显示
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 1296 2010-02-12 12:54 ADC0809_Opt.Bak
....... 0 2010-02-10 17:25 ADC0809_Uv2.Bak
文件 2363 2010-02-18 18:34 ADC0809.c
文件 135889 2010-02-18 18:00 Last Loaded ADC0809仿真.DBK
文件 1076 2010-02-18 18:15 动态.hex
文件 31 2010-02-12 13:23 ADC0809.lnp
文件 4046 2010-02-12 13:23 ADC0809.LST
文件 9000 2010-02-12 13:23 ADC0809.M51
文件 6031 2010-02-12 13:23 ADC0809.OBJ
文件 1296 2010-02-12 13:24 ADC0809.Opt
文件 6323 2010-02-12 13:23 ADC0809
文件 2555 2010-02-12 13:24 ADC0809.plg
文件 768 2010-02-25 22:16 ADC0809仿真.PWI
文件 135889 2010-02-25 22:06 ADC0809仿真.DSN
----------- --------- ---------- ----- ----
306563 14
- 上一篇:拉杆抽奖小demo
- 下一篇:ShatterToolkit
相关资源
- FPGA实现PID.v
- 基于FPGA的sdi视频传输工程(k7_sdi_rx
- FPGA彩条显示
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- 为什么工程师要掌握FPGA开发知识?
- 单片机和adc0809数字电压表
- 数字频率合成dds正弦波基于FPGA的DDS产
- 单片机、ADC0808809设计简易数字电压表
- Verilog FPGA UART串口控制器
- gmsk调制在FPGA上实现
- 一个简单的verilog编写的DMA IP CORE,和
- FPGA在步进电机驱动上的应用实例及代
- ADC0809数字电压表 LCD1602显示 汇编程序
- fpga实现频率测量
- FPGA开发-ChipScope教程
- 红外循迹小车VHDL程序
- 数字电压表(源程序 protues仿真)
- 基于FPGA的USB接口设计
- DE2模拟的交通红绿灯
- 一种抗SEU存储器电路的FPGA设计
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- nRF24L01无线模块在单片机与FPGA上的应
- 基于FPGA多协议转换网关设计
- fpga数字钟
- FPGA按键消抖
- 具有可编程环路补偿功能高密度电源
- FPGA系统中有源电容放电电路设计需注
- 玩转Altera FPGA:基于PLL分频计数的LE
评论
共有 条评论