资源简介
基于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控制DDS_AD9850输出正弦波方波.zip
- QPSK调制解调器的设计及FPGA实现
- Altera DE10 Lite 用户手册
- NIOS II那些事儿(完整版)
- 基于DSP和FPGA的车牌识别系统设计和实
- FPGA 在图像中字符动态叠加
- c_ug902-vivado-high-level-synthesis中文.pdf
- AlteraFPGA应用设计》配套资料.rar
- 抢答器主要涉及按键防抖和6位数码管
- STM32与FPGA进行16位SPI通信
- FPGA数字频率计数码管显示
- 基于fpga的打地鼠小游戏
- 数字信号处理的FPGA实现.pdf
- Verilog语言生成正弦波
- 基于FPGA技术的俄罗斯方块游戏
- 基于ISE14.7中的RAM模块IP核,采用Veri
- 瑞昱8211PHY芯片配置FPGA代码
- VERILOG入门实验一 基于FPGA DDS正弦信号
- FPGADE2-115实验板+VGA显示+键盘控制+Qu
- FPGA数字信号处理一数字混频
- kintex7 fpga原理图设计
- FPGA_SDRAM测试程序每句注释+说明文档
- 基于8086FPGA软核的吃豆子游戏
- FPGA等精度测频法 ISE下verilog实现
- 基于OpenCL并行加速算法研究及其FPGA实
- 基于FPGA的串行通信实现与CRC校验 毕
- 基于VHDL十位奇偶校验器的设计
- 基于FPGA的出租车计价器设计
- 基于FPGA的DDS任意波形发生器
- 16位定点FFT-DSP的FPGA实现
评论
共有 条评论