資源簡介
基于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
評論
共有 條評論