




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数控直流稳压电源design of numerical control d.c stabilized source based on scm目录设计任务与要求1摘要2一、方案论证与比较31.1控制器部分31.2 按键控制模块31.3显示部分3二、系统的具体设计及实现42.1系统总框图42.2硬件设计42.3 128*64液晶屏显示设计5数控直流稳压电源论文设计任务与要求一、 设计任务设计并制作一个直流可调稳压电源。二、 设计要求1、基本要求:1) 当输入交流电压为220v10%时,输出电压在0-13v可调;2) 额定电流为1a,且纹波不大于1mv;3) 使用按键设定电压,同时具有常用电平快速切换功能(3v、5v、6v、9v、12v),设定后按键可锁定,防止误触;4) 掉电后可记忆上次的设定值;5) 显示设定电压和测量电压、电流,显示精度为0.01v。6) 两级过流保护功能,当电流超过额定值的20%达5秒时,电路作断开操作;当电流超过额定值的50%时,电路立即断开。具有声音和光提示;。摘要在现代家庭中各种电器的不断出现,并要求着各种不同值的电源出现,使得家庭购买不同值得电源。数字化的也更加贴近人们的生活,因为它更加的直观,易被接受,大家都开始追求数字化的各类电子产品。数控直流电源有着直观,易操作,各种电压集一身, 输出精度和稳定性都较高等优点,所以越来越受广大人们的喜爱。以后家里的电视遥控,电动玩具等都可以共用一个电源。本系统以 amega16 avr单片机作为系统的核心,由d/a数字模拟转换模块、按键、12864液晶显示模块、at24c02等模块组成一个数控电源。该系统实现了 输出电压:范围 0 13 .0 v,纹波不大于10mv;输出电流:1a;输出电压值由12864液晶显示;由“”、“”四个按键控制输出电压不同大小的步进增减 。同时具有常用电平快速切换功能(3v、5v、6v、9v、12v),设定后按键可锁定,防止误触;掉电后可记忆上次的设定值。 关键词: mega16 单片机, 数控电源, d/a, a/d直流电源、lcd12864、at24c02、锁定、电压放大summary:in the modern family of the various appliances, and asked for a different value power, the family is the power to buy different. the digital has become even more to the peoples life, for it is more intuitive and easy to be accepted, everybody began to pursue the digital of electronic products. numerical dc power supply is intuitive and easy operation, the voltage is set, the output of precision and stability are higher, so it is becoming more and more extensive of the house.from now on, the tv remote control, electric toy all can share a power.the system for amega16 avr monolithic integrated circuit is the core of a system, the d a digital simulation exercise, buttons, 12864 lcd display, such as a numerical at24c02 composed of modules. the system power to output voltages : range of 013. 0 0 v, of waves, not greater than 10mv ; output current : 1a ; output value by 12864 lcd display ; by and four key control output voltage with the size of the step into the decrease. it can used a level rapidly function ( 3v, 5v, 6v, 9v, 12v ), and presses are lockable to prevent touch their combs. also it memories set value last time. keyword:mega16, monolithic integrated circuits, and d a, a dc power and spells lcd12864, at24c02, lock, voltage enlarged一、方案论证与比较1.1控制器部分方案一:采用at89s52单片机作为主控芯片。优点:at89s52作为一种比较成熟的单片机型号,广范应用于各领域技术比较熟练,价格相对便宜。缺点:其驱动能力不强方案二:采用amega16单片机作为主控芯片。优点:avr是51的升级版。amega16单片机功能强、高速度是其主要的优点,内部集成了较多的中断源和定时器资源及eeprom的优点,多种模式的pwm波形输出,很好地满足了本系统设计的要求。缺点:价格较at89s52单片机高。考虑到以上两种方案的优缺点,因本系统对单片机内部硬件资源的要求比较高,需要采用高速和功能强大的单片机型号。经比较,我们采用了方案二。1.2 按键控制模块方案一:采用矩阵键盘,由于按键多可实现电压值的直接键入。方案二:采用一般的电平判键按钮,实现方法很简单,但一个端口最多只实现8个按键。由于本数控电源设置需要用的按键功能多,故采用方案一。1.3显示部分方案一 使用lcd1602液晶显示。优点:介格便宜;操作简单,带中文字库,使用方便。缺点:显示的内容少(16格*2行),方案二 应用128*64液晶显示模块。128*64液晶可视面积大,介面美观,抗干扰能力强,调用方便简单,而且可以节省软件中断资源,应用串行连接,节省i/o口资源。对图形和曲线的显示实现起来比较简单,自带中文字库,显示信息量大。方案三 使用led灯显示 优点:操作简单 缺点:信息显示不直观通过比较,并结合本系统要显示是内容较多的要求,我们选节方案二。二、系统的具体设计及实现2.1系统总框图主控芯片板电压输出amega16 单片机lm324电压放大 led、蜂鸣器工作状态提醒at24c02数据存储12864液晶模块键盘模块ad558电流采样220整流滤波经7805转换供电图2-1、系统主控芯片板总框图2.2硬件设计2.3 128*64液晶屏显示设计本系统采用128*64中文液晶模块作为显示部分,能够显示汉字和字符,只要把需要显示的内容发给液晶模块,其便会自动显示,不时要定时扫描。为了节省io口资源,液晶模块和单片机的连联采用串行接口,只占用三个io口,连接图如下图2-3.1所示。 图2-3.1 128*64液晶连接图3.8整板电路硬件设计原理图完整的系统源代码#include #include #define uchar unsigned char#define uint unsigned intuint mega16_ad0() uint addata; ddra&=bit(pa0); porta&=bit(pa0); admux=0; adcsr=0x80; adcsr|=bit(adsc); while(!(adcsr&(bit(adif); addata=adcl; addata=addata+adch*256; return addata;#include#include#define uchar unsigned char#define uint unsigned int#define date_ddr ddrb#define date_port portb#define date_pin pinb#define cs_h date_port|=bit(2)#define cs_l date_port&=bit(2)#definesclk_hdate_port|=bit(4)#definesclk_l date_port&=bit(4)#definestd_hdate_port|=bit(3)#definestd_l date_port&=bit(3)/cs(rs) sclk(e) std(r/w)#definestd_out date_ddr|=bit(3)#definestd_in date_ddr&=bit(3)#definestd_in_date (date_pin&0x08)3/date_pin&0x08pb3std/#define rst_set date_port|=bit(4)/#define rst_clear date_port&=bit(4)#define psb_set date_port&=bit(5)#define date_ddr_out date_ddr|=0xe0extern delay(uint); /* * */unsigned char _flash ac_table=0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, ; /* */_flash unsigned char bmp8=/*- c:userscanwei luodesktop-1.bmp -*/*- x=128x64 -*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x4f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x4f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x47,0xff,0xf8,0x1f,0xff,0xe0,0x3f,0xff,0xc1,0xff,0xfe,0x0f,0xff,0xf1,0x00,0x00,0x44,0x00,0x08,0x10,0x00,0x20,0x20,0x00,0x41,0x00,0x02,0x08,0x00,0x11,0x00,0x00,0x44,0x00,0x08,0x10,0x00,0x20,0x20,0x00,0x41,0x00,0x02,0x08,0x00,0x11,0x00,0x00,0x44,0x00,0x08,0x10,0x00,0x20,0x20,0x00,0x41,0x00,0x02,0x08,0x00,0x11,0x00,0x00,0x44,0x00,0x08,0x10,0x00,0x20,0x20,0x00,0x41,0x00,0x02,0x08,0x00,0x11,0x00,0x00,0x44,0x00,0x08,0x10,0x00,0x20,0x20,0x00,0x41,0x00,0x02,0x08,0x00,0x11,0x00,0x00,0x47,0xff,0xf8,0x1f,0xff,0xe0,0x3f,0xff,0xc1,0xff,0xfe,0x0f,0xff,0xf1,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;void delayms(unsigned int t)unsigned int i;unsigned char j;for(i=0;it;i+)for(j=0;j300;j+)nop();/*:sendbyte():unsigned char dbyte:12864 :dbyte12864 */void sendbyte(unsigned char dbyte)unsigned char i;std_out; /for(i=0;i8;i+)sclk_l;nop();nop(); if(dbyte&0x80) std_h;/1 else std_l;/0 sclk_h;nop();nop();sclk_l;dbyte=dbyte1;/8/* : receivebyte:12864 : */unsigned char receivebyte(void)unsigned char i,temp1,temp2;temp1=temp2=0;std_in; /for(i=0;i8;i+)temp1=temp11;sclk_l;nop();nop();sclk_h;nop();nop(); sclk_l;if(std_in_date) temp1+;/std1for(i=0;i8;i+)temp2=temp2mcudo sendbyte(0xfc); /? /1111 1100,rw(1),rs(0),0while(0x80&receivebyte();/rs=0/* : writecommand: unsigned char cbyte : : cbyte */void writecommand( unsigned char cbyte )cs_h;checkbusy();sendbyte(0xf8);/11111 00 0,rw(0),rs(0),0delayms(10);sendbyte(0xf0&cbyte);/4delayms(10);sendbyte(0xf0&cbyte4);/cs_l;/* */void writedata( unsigned char dbyte )cs_h;checkbusy();sendbyte(0xfa); /11111 01 0,rw(0),rs(1),0delayms(10);sendbyte(0xf0&dbyte);delayms(10);sendbyte(0xf0&dbyte4);cs_l;/* */void putchar(unsigned char row,unsigned char col,unsigned char puts) writecommand(0x30);/0x34writecommand(ac_table8*row+col);writedata(puts);/1void putstr(unsigned char row,unsigned char col,unsigned char *puts) writecommand(0x30);/0x34writecommand(ac_table8*row+col);while(*puts != 0)if(col=8)/col=0;row+;if(row=4)/row=0;writecommand(ac_table8*row+col);writedata(*puts);/1puts+;/1if(*puts != 0)writedata(*puts);puts+;/1col+;/1 /* */void putnum(uchar row,uchar col,uchar number)putchar(row,col,number+48); /,0-9ascii48-57/void put2num(uchar row,uchar col,uchar number)putnum(row,col,number/10); /putnum(row,col+1,number%10); /void put4num(uchar row,uchar col,uint number)putnum(row,col,number/1000); /putnum(row,col+1,number/100%10); /putnum(row,col+2,number/10%10); /putnum(row,col+3,number %10); /22void putfloat1(uchar row,uchar col,float number) uchar shi,ge,shif,baif;shi=(uint)number)/10;ge=(uint)number)%10;shif=(uchar)(uint)(number*10)%10);baif=(uchar)(uint)(number*100)%10);if(shi=0)putchar(row,col, );else putnum(row,col,shi);putnum(row,col+1,ge);putchar(row,col+2,.);putnum(row,col+3,shif);putnum(row,col+4,baif);/13void putfloat2(uchar row,uchar col,float number) uchar ge,shif,baif,qianf;ge=(uint)number)%10;shif=(uchar)(uint)(number*10)%10);baif=(uchar)(uint)(number*100)%10);qianf=(uchar)(uint)(number*1000)%10);putnum(row,col,ge);putchar(row,col+1,.);putnum(row,col+2,shif);putnum(row,col+3,baif);putnum(row,col+4,qianf);/* */void location_xy_12864(unsigned char x,unsigned char y)switch(x)case 0:x=0x80;break;case 1:x=0x90;break;case 2:x=0x88;break;case 3:x=0x98;break;default:x=0x80;y=y&0x07;writecommand(0x30);writecommand(y+x);writecommand(y+x);/?/* */void lcmcleartxt( void )unsigned char i;writecommand(0x30);/writecommand(0x80);/ddramac80for(i=0;i64;i+) / 0x206416
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心脑血管健康课课件
- 心理学基础知识及课件
- 出轨婚姻协议书范本
- 童谣主题班会课件
- 法院和解还款协议书范本
- 2025年温泉水开发利用项目合作计划书
- 二零二五年度国际贷款咨询与汇率风险管理合同
- 2025年度电商一件代发合作商家支付结算服务合同
- 2025版瑜伽用品批发采购合同
- 二零二五叉车租赁与车辆保险代理服务合同
- 2025年北京市中考数学真题试卷及答案
- 软件项目需求调研报告样例
- 2025年安徽省中考数学试卷真题(含标准答案及解析)
- GB/T 19016-2021质量管理项目质量管理指南
- 88版干部履历表
- 1IEC62660-1中文电动道路车辆用二次锂离子蓄电池锂离子电池性能试验
- azxgj低压智能计量箱柜安装使用说明书
- 中国慢性髓性白血病诊疗指南更新
- 消防跑点培训材料
- 集料碱活性试验检测记录表(砂浆长度法)
- (完整版)汉密尔顿焦虑量表(HAMA)
评论
0/150
提交评论