数控电流源(第29组).doc

数控电流源 组长: 组员: 主要实现功能(四号宋体) 设计、制作一能输出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)

1亿VIP精品文档

相关文档