数控电流源
组长: 组员:
主要实现功能(四号宋体)
设计、制作一能输出0~9 mA数控电流源。输出电流的大小可设定,并显示(一位小数),系统能自动检测输出电流的大小,并根据误差自动调整。
电路
附件:
/*******************************************************************************
*******************************************************************************/
#includereg52.h
#includeintrins.h
#includelcd.h
#includekanmengou.h
#includetlc1543.h
#define uchar unsigned char
#define uint unsigned int
void write_tlc5615(uint datum) ;
void delay1ms(uint k) //12MHz晶振,延时kms
{
uint i,j;
for(i=0;ik;i++)
for (j=0;j124;j++);
}
uchar Buffer[4] = {0};
uchar Buffer1[4] = {0};
sbit k1=P3^5;
sbit k2=P3^6;
void DA(uint j);
uchar code ASCII[13] = {0,1,2,3,4,5,6,7,8,9,.,-,A};
//sbit ADout=P3^0;
//sbit ADin=P3^1;
//sbit CS=P3^2;
//sbit CLK=P3^3;
sbit EOC=P3^7;
sbit din=P1^5;
sbit sck=P1^7;
sbit cs=P1^6;
uint code table[]={0x0000,0x000f,0x0010,0x0014,0x0100,0x0110,0x0115,0x1000,0x1500,0x2500,0x3500,
0x4100,0x4150,0x4000,0x4500,0x4550,0x4650,0x5650,0x8000,};
//uint code table[]={0x0000,0x000f,0x0017,0x001f,0x0027,0x002f,0x0030,
//0x6f,0x6a,0x67,0x60,
//0x5f,0x5c,0x5a,0x57,0x54,0x50,
//0x4f,0x4c,0x4a,0x47,0x44,0x40,
//0x3f,0x3a,0x37,
//};
//uint code table[]={0x0000,0x000f,0x0017,0x001f,
//0x6f,0x6a,0x67,0x60,
//0x5f,0x5c,0x5a,0x57,0x54,0x50,
//0x4f,0x4c,0x4a,0x47,0x44,0x40,
//0x3f,0x3a,0x37,0x30,0x2f,
//0x27,};
float T[]={0.0,1.8,2.3,2.4};
uint N[]={0,128,256,1024};
sbit CLK1 =P2^0;
sbit CS1 = P2^1;
sbit DIN1 = P2^2;
sbit Dout1= P2^3;
uint getdata,temp,temp1;
void delay(uint z);
uint readAD(uchar port);
void display();
void delay(uint z)
{
uint x,y;
for(x=z;x0;x--)
for(y=110;y0;y--);
}
void delay1(uchar time)
{
uchar m,n;
for(m = time;m 0;m--)
for(n = 240;n 0;n--);
}
void Main(void)
{
uchar i;
Delay_1ms(100); //启动等待,等LCM讲入工作状态
LcdInit(); //初始化1602液晶
SendString(1, 0, yushezhi: );
SendString(2, 0, cechuzhi: );
for(i=0; i20; i++)
{
Delay_1ms(100);
}
while(1)
{
if(!k1)
{
delay(10);
if(!k1)
i++;
wh
原创力文档

文档评论(0)