完成版基于单片机的数控直流电流源设计内容摘要:

电流极小。 (4) LED可同时显示预置电流值、实测电流值及当前量程档,便于用户操作及进行误差分析。 它的特点有:能获得高精度、低纹波、宽范围、稳定可靠、操作方便。 本系统创新点如下:(1)选用高精度的元器件,提高了电流的输出精度和输出范围;(2)通过系统自带键盘的控制,可根据需要随意设定电流。 本设计的不足之处:由于没有将实际作品做出来,我只能推断在设计中的功率管工作在不断的导通闭合状态,电路在纹波抑制方面应该还会有一些欠缺。 另外,由于电路中需要1欧的大功率电阻,因此一般选用康铜丝,康铜随着电流的变化,温度也随着升高,从而会导致存在一定的误差值。 在设计中画那些电路图时,为了画那些电路图我用到了实习时学习的protel软件。 在单位仅学习了两个星期,但在我的努力和指导老师的帮助下还是顺利完成了制图。 最后,我想说的就是谢谢在设计过程中帮过我的老师和同学。 其实,每做一次课程设计都会有很多感想,有很多收获,无论以后是否会从事这行业,这都将会对我们终身受益。 参考文献。 黄有全。 直流数控可调稳压电源的设计[J]. 电子设计工程 2009年07期:电子工业出版社,2007。 教学用基于单片机的可编程控制器设计[J]. 科技创新导报 2010年29期 :中国电力出版社,2007。 杜勇。 尤双枫。 基于单片机的数控直流稳压电源设计[J]. 新疆师范大学学报(自然科学版) 2007年01期:山东科学技术出版社,2002。 黄世震。 一种新型数控直流稳压电源的设计[J]. 通信电源技术 2006年02期:山东科学技术出版社,2002(2006重印):高等教育出版社,2000,黄科,:电子工业出版社,2006。 杨燕翔。 齐刚。 数控直流稳压电源设计[J]. 计算机测量与控制 2008年12期附录。 *******ZLG7289 PARAMETERS******* ZLG_BIT_CNT EQU 30H。 The number of data sended ZLG_REC_BUF EQU 31H。 The buffer of data sended ZLG_SEND_BUF EQU 32H。 The buffer of data received DA_LOW_NUM EQU 3FH。 The nuber to D/A DA_HIGH_NUM EQU 33H。 THE HIGE NUMBER TO DA ZLG_HIGH_NUM EQU 34H ZLG_LOW_NUM EQU 35H ZLG_HUNDRED EQU 40H。 The digit of hundred ZLG_DECIMAL EQU 41H。 The digit of decimal ZLG_ONE EQu 42H。 The digit of one ZLG_THOUSAND EQU 43H DISPLAY1 EQU 44H DISPLAY2 EQU 45H ZLG_CS EQU。 /CS of ZLG7289 ZLG_CLK EQU。 CLK of ZLG7289 ZLG_DATA EQU。 DIO of ZLG7289 ZLG_KEY EQU。 /KEY of ZLG7289 TLC5615_DIN EQU。 DIN of TLC5615 TLC5615_SCLK EQU。 SCLK of TLC5615 TLC5615_CS EQU。 /CS of TLC5615 TLC5615_KEY EQU。 DOUT of TLC5615 LCD_CS EQU LCD_SID EQU LCD_SCLK EQU。 *******DELAY PARAMETERS******* VAR_DELAY EQU 71H。 The variable for delay function VAR_DELAY_2 EQU 72H。 The variable for delay function。 ***************************************************************** org 0000H ljmp MAIN。 ***************************************************************** org 0030HMAIN: lcall sys_initialize LCALL LCD_INITIALIZE LCALL MAIN_DISPLAY LCALL DELAY LCALL FIRST_DISPLAY LCALL LCD_DISPLAY LCALL NUM_CHANGE lcall DA_change。 Start D/A change*/ MAIN_LOOP: jb ZLG_KEY,$。 Wait for keyboard mov ZLG_SEND_BUF,00010101B。 Send the mand of reading keyboard lcall zlg_send lcall zlg_receive。 Read the data of keyboard setb ZLG_CS。 Set standby mode mov r6,ZLG_REC_BUF CJNE R6,12,KEY13 LCALL NUM_ADD10 jmp MAIN_LOOP_NEXTKEY13: CJNE R6,13,KEY14 LCALL NUM_SUBB10 jmp MAIN_LOOP_NEXTKEY14: cjne r6,14,KEY15 LCALL NUM_ADD。 CORTURL NUMBER ADD jmp MAIN_LOOP_NEXTKEY15: cjne r6,15,MAIN_LOOP_NEXT LCALL NUM_SUBB。 CORTUREL NUMBER SUBBMAIN_LOOP_NEXT: lcall func_display LCALL LCD_DISPLAY LCALL NUM_CHANGE lcall DA_change。 Start D/A change jnb ZLG_KEY,$。 Wait the key to pop ajmp MAIN_LOOP ret。 main return。 *****************************************************************sys_initialize:。 Initialize TLC5615 clr TLC5615_SCLK setb TLC5615_CS setb TLC5615_DIN。 ***Initialize ZLG7289*** setb ZLG_CS setb ZLG_KEY setb ZLG_DATA lcall delay_50 mov ZLG_SEND_BUF,10100100B lcall zlg_send setb ZLG_CS。 Set standby mode /*Parameter initialize*/ mov DA_LOW_NUM,00H MOV DA_HIGH_NUM,00H mov ZLG_HUNDRED,00H mov ZLG_DECIMAL,00H mov ZLG_ONE,00H MOV ZLG_THOUSAND,00H MOV ZLG_HIGH_NUM,03H MOV ZLG_LOW_NUM,0FFH MOV DISPLAY1,00H MOV DISPLAY2,00H lcall delay_125ms RET。 ===============================================================LCD_INITIALIZE: LCALL DELAY LCALL DELAY LCALL DELAY mov a,00000001B。 CLEAR DISPLAY lcall LCD_WRITE_COMM mov a,00110000B。 FUNCTION SETTING lcall LCD_WRITE_COMM mov a,00000010B。 DDRAM SET TO 39。 00H39。 lcall LCD_WRITE_COMM MOV A,00000110B。 LCALL LCD_WRITE_COMM MOV A,00001100B。 DISPLAY ON LCALL LCD_WRITE_COMM MOV A,00000001B。 CLEARING SCREEN LCALL LCD_WRITE_COMM MOV A,10000000B。 SET DDRAM ADDRESS LCALL LCD_WRITE_COMM RET。 *****************************************************************。 Send DA number to TLC5615DA_change: clr TLC5615_SCLK clr TLC5615_CS。 Enable /CS mov a,ZLG_HIGH_NUM mov r7,2DA_SEND_LOOP1: mov c, mov TLC5615_DIN,c setb TLC5615_SCLK clr TLC5615_SCLK rl a djnz r7,DA_SEND_LOOP1。 ***Send the low 8 bits*** mov a,ZLG_LOW_NUM mov r7,8DA_SEND_LOOP: mov c, mov TLC5615_DIN,c setb TLC5615_SCLK clr TLC5615_SCLK rl a djnz r7,DA_SEND_LOOP。 ***End of sending the low 8 bits***。 Send 0,the extra bit clr TLC5615_DIN setb TLC5615_SCLK clr TLC5615_SCLK。 Send 0,the extra bit clr TLC5615_DIN setb TLC5615_SCLK clr TLC5615_SCLK setb TLC5615_CS。 Disable /CS,then start D/A ret。 ******************************************************************。 MAIN PRAMGRAM DISPLAY(GROUP\INIT)MAIN_DISPLAY: MOV A,090H LCALL LCD_WRITE_COMM MOV DPTR,TABLE2 LCALL WRITE_HZ1 LCALL DELAY2 LCALL DELAY2 LCALL DELAY2 LCALL DELAY2 MOV A,00000001B。 CLEARING SCREEN LCALL LCD_WRITE_COMM LCALL DELAY MOV A,091H LCALL LCD_WRITE_COMM MOV DPTR,CHINESE4 LCALL WRITE_headers2 LCALL DELAY2 LCALL DELAY2。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。