資源簡介
數控電壓源設計
1.輸出電壓:范圍0~+9.9V,步進0.1V,紋波不大于10mV;
2.輸出電流:100mA;
3.輸出電壓值由數碼管或液晶顯示;
4.由“+”、“-”兩鍵分別控制輸出電壓步進增減;

代碼片段和文件信息
//#include
#include?“AT89X51.h“
#include ???//包含對片外存儲器地址進行操作的頭文件
#define?uchar?unsigned?char
#define?uint?unsigned?int
int?val=0;
uchar?code?table0[]=“Voltage:“;
uchar?code?table1[]=“DC=.V“;
sbit?up_key=P3^0;
sbit?down_key=P3^1;
sbit?CS=P2^7;??????????//將CS位定義為P2.7引腳??
sbit?WR12=P3^6;????????//將WR12位定義為P3.6引腳??
sbit?rs=P3^3;
sbit?rw=P3^4;
sbit?lcden=P3^5;
void?delayms(int?x);
void?up();
void?down();
void?start();
void?write(uchar?com);
void?date(uchar?date);
void?lcd1602();
int?count=0;
main()
{??
uint?k;
P1=0X00;
rw=0;
start();
XBYTE[0x7fff]=0;
write(0x84);
for(k=0;table0[k]!=‘\0‘;k++)
{
date(table0[k]);
delayms(2);
}
write(0x80+0x44);
date(table1[0]);
date(table1[1]);
date(table1[2]);
while(1)
{
up();
down();
lcd1602();
}
}
void?delayms(int?x)
{?
int?ij;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void?up()
{
if(up_key==0)
{
delayms(20);
if(up_key==0)
{
if(count<100)
{
count=count+1;
XBYTE[0x7fff]=count;//將數據i送入片外地址07FFFH?,實際上就是通過P0口將數據送入DAC0832
}
while(up_key==0);
}
}
}
void?down()
{
if(down_key==0)
{
delayms(20);
if(down_key==0)
{
if(count>0)
{
count=count-1;
XBYTE[0x7fff]=count;//將數據i送入片外地址07FFFH?,實際上就是通過P0口將數據送入DAC0832
}
while(down_key==0);
}
}
}
void?start()//初始化
{
lcden=0;
write(0x38);
write(0x0f);
write(0x06);
write(0x01);
}
void?write(uchar?com)//寫命令
{?
rs=0;
P1=com;
delayms(1);
lcden=1;
delayms(1);
lcden=0;
}
void?date(uchar?date)//寫數據
{?
rs=1;
P1=date;
delayms(1);
lcden=1;
delayms(1);
lcden=0;
}
void?lcd1602()
{?
uint?t;
t=5*5.12/256.0*count*100;
write(0x80+0x47);
date(t/100+48);
date(table1[3]);
date(t/10%10+48);
date(t%10+48);
date(table1[4]);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-06-04?12:16??CNC_final\
?????目錄???????????0??2012-06-04?21:52??CNC_final\KEIL\
?????文件????????9504??2012-06-04?21:49??CNC_final\KEIL\CNC
?????文件????????1961??2012-06-04?21:49??CNC_final\KEIL\CNC.c
?????文件????????3191??2012-06-04?21:49??CNC_final\KEIL\CNC.hex
?????文件??????????39??2012-06-04?21:49??CNC_final\KEIL\CNC.lnp
?????文件????????5689??2012-06-04?21:49??CNC_final\KEIL\CNC.LST
?????文件???????11468??2012-06-04?21:49??CNC_final\KEIL\CNC.M51
?????文件????????9001??2012-06-04?21:49??CNC_final\KEIL\CNC.OBJ
?????文件?????????704??2012-06-04?21:52??CNC_final\KEIL\CNC.plg
?????文件??????156451??2012-06-01?11:55??CNC_final\KEIL\CNC.uvgui.CPL
?????文件??????153733??2012-05-31?11:18??CNC_final\KEIL\CNC.uvgui_CPL.bak
?????文件???????56615??2012-06-04?21:52??CNC_final\KEIL\CNC.uvopt
?????文件???????13415??2012-06-04?21:52??CNC_final\KEIL\CNC.uvproj
?????文件??????????33??2012-06-04?21:49??CNC_final\KEIL\CNC.__i
?????文件????????6986??2012-06-01?11:55??CNC_final\KEIL\CNC_uvopt.bak
?????文件???????13445??2012-05-30?08:44??CNC_final\KEIL\CNC_uvproj.bak
?????文件??????????19??2012-05-30?07:54??CNC_final\KEIL\ExtDll.iex
?????文件????????6376??2010-09-03?17:12??CNC_final\KEIL\STARTUP.A51
?????文件???????14048??2012-06-04?21:15??CNC_final\KEIL\STARTUP.LST
?????文件?????????749??2012-06-04?21:15??CNC_final\KEIL\STARTUP.OBJ
?????目錄???????????0??2012-06-06?21:34??CNC_final\Proteus\
?????文件??????105054??2012-06-05?08:56??CNC_final\Proteus\CNC.DSN
?????文件?????????768??2012-06-06?21:34??CNC_final\Proteus\CNC.PWI
?????文件??????103853??2012-06-04?21:52??CNC_final\Proteus\Last?Loaded?CNC.DBK
- 上一篇:OV7670+FIFO
- 下一篇:B樹第三節學習插入與刪除的思路與理論
評論
共有 條評論