/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定义 sfr WDT_CONTR = 0xe1;//stc2051的看门狗?????? /**********全局常量************/ //写卡的命令 #define write_command0 0//写密码 #define write_command1 1//写配置字 #define write_command2 2//密码写数据 #define write_command3 3//唤醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //读卡的时间参数us #define ts_min 250//270*11.0592/12=249//取近似的整数 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10调整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI总线 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//测试绿灯 sbit led_light1 = P1^5;//测试红灯 sbit led_light_ok = P1^1;//读卡成功标志 sbit fengmingqi = P1^5; /***********全局变量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存储卡上用户数据(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram uchar command; //第一个命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //缓存定时值,因用同一个定时器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //缓存定时值,因用同一个定时器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函数原型*****************/ //读写操作 void f_readcard(void);//全部读出1~7 AOR唤醒 void f_writecard(uchar x);//根据命令写不同的内容和操作 void f_clearpassword(void);//清除密码 void f_changepassword(void);//修改密码 //功能子函数 void write_password(uchar data *data p);//写初始密码或数据 void write_block(uchar x,uchar data *data p);//不能用通用指针 void write_bit(bit x);//写位 /*子函数区*****************************************************/ void delay_2(uint x) //延时,时间x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能频繁的复位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允许接收 //SCON =0x50; //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1, //REN=1允许接收 TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位) TCON = 0x40; //设定时器1 允许开始计时(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //启动定时器 WDT_CONTR = 0x3c;//使能看门狗 p_U2270B_Standby = 0;//单电源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//读卡 { EA = 0;//全关,防止影响跳变的定时器计时 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用唤醒功能来防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作码读0页 write_bit(0); write_password(&bankdata[24]);//密码block7 p_U2270B_CFE =1 ;// delay_2(516);//编程及确认时间5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断? while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定时器晚启动10个周期 //同步头 if((324 < a.W) && (a.W < 353)) ;//检测同步信号1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //读0~7块的数据 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8个位 { //等待下降沿的到来 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再赋值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//读卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//写卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//写密码:初始化密码 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 for(i = 0;i < 35;i++) { write_bit(1);//写数据位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//测试使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密码存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡参数:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密码写数据 { uchar data*data p; p = &bankdata[24]; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_password(p);//发口令 write_bit(0);//写锁定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//写数据 } else if(x == write_command3)//aor //唤醒 { //cominceptbuff[1]操作码10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密码 p_U2270B_CFE = 1;//此时数据不停的循环传出 } else //停止操作码 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密码 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密码 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作码10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//写新配置参数:pwd=0 //密码无效:即清除密码 DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密码 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密码 DATA = 0x80;//操作码10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//写新密码 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密码存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函数***********************************/ void write_bit(bit x)//写一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延时448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写0 } } /*******************写一个block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0数据 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //读卡 f_writecard(command1); //写卡 f_clearpassword(); //清除密码 f_changepassword(); //修改密码 } }
标签: 12345
上传时间: 2017-10-20
上传用户:my_lcs
产品型号:HT9B92 产品品牌:HOLTEK/合泰 封装形式:TSSOP48/LQFP48 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! RAM 映射 36×4 LCD 显示驱动器 概述 HT9B92 是一款存储器映射和多功能LCD控制驱动芯片。该芯片显示模式有144 点(36×4 )。 HT9B92 软件配置特性使得它适用于多种LCD应用,包括LCD 模块和显示子系统。HT9B92 通过双线双向 I2C 接口与大多数微处理器/ 微控制器进行通信。 功能特点 ● 工作电压:2.4V~5.5V ● 内部集成振荡电路 ● Bias: 1/2 or 1/3; Duty: 1/4 ● 带电压跟随器的内部LCD 偏置发生器 ● 提供VLCD 引脚来调整LCD 工作电压 ● I2C接口 ● 可选 LCD 帧频率 ● 多达36×4 位RAM 用来存储显示数据 ● 最大显示模式36×4:36 SEGs 和4 COMs ● 多种闪烁模式:不闪烁,0.5Hz,1Hz,2Hz ● 写地址自动增加 ● 低功耗省电模式 ● 采用硅栅极CMOS 制造工艺 ● 封装类型:48-pin TSSOP/LQFP ● 市面可兼容型号:元泰VINTEK:VKL44A TSSOP48封装,VKL144B QFN48(6MM*6MM)封装,VKL128 LQFP44封装,VKL060 SSOP24封装 ------ 同种脚位可以任意切换,少脚位更具性价比高,方便设计等特点。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:VKL144A 产品品牌:VINTEK/元泰 封装形式:TSSOP48 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! 超低功耗液晶LCD显示驱动芯片 概述 VKL144A是一款性能优越的字段式液晶显示驱动芯片,由于其驱动段位多达144段和超低功耗的工艺设计特点。还具有性能稳定和低价格优势、供货稳定,目前被业界广泛应用在众多的仪器仪表的产品上。比如手持式仪表、费率表、工控仪表、医疗仪器、专用测量仪表头等等设备上使用 功能特点 ● 液晶驱动输出: Common 输出4线 Segment 输出36线 ● 内置Display data RAM (DDRAM) 内置RAM容量:36*4 =144 bit ● 液晶驱动的电源电路 1/2 ,1/3 Bias ,1/4 Duty 内置Buffer AMP I2C串行接口(SCL, SDA) ● 内置振荡电路 ● 不需要外围部件 ● 低功耗设计 ● 搭载等待模式 ● 内置Power-on Reset电路 ● 搭载闪烁功能 ● 工作电源电压: 2.5-5.5V ★应用推荐: 各种费率表,电表、水表、气表、热表、各种计量专用表头。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:VKL144B 产品品牌:VINTEK/元泰 封装形式:QFN48L(6MM*6MM) 产品年份:新年份 原厂直销,工程服务,技术支持,价格更具优势! 超低功耗液晶LCD显示驱动芯片 概述 VKL144B是一款性能优越的字段式液晶显示驱动芯片,由于其驱动段位多达144段和超低功耗的工艺设计特点。还具有性能稳定和低价格优势、供货稳定,目前被业界广泛应用在众多的仪器仪表的产品上。比如手持式仪表、费率表、工控仪表、医疗仪器、专用测量仪表头等等设备上使用 功能特点 ● 液晶驱动输出: Common 输出4线 Segment 输出36线 ● 内置Display data RAM (DDRAM) 内置RAM容量:36*4 =144 bit ● 液晶驱动的电源电路 1/2 ,1/3 Bias ,1/4 Duty 内置Buffer AMP I2C串行接口(SCL, SDA) ● 内置振荡电路 ● 不需要外围部件 ● 低功耗设计 ● 搭载等待模式 ● 内置Power-on Reset电路 ● 搭载闪烁功能 ● 工作电源电压: 2.5-5.5V ★应用推荐: 各种费率表,电表、水表、气表、热表、各种计量专用表头。 HOLTEK合泰全系列产品 芯片介绍如下: 一.LCD液晶显示驱动控制器 HT1620 HT1620G HT1621 HT1621B HT1621G HT1622 HT1622G HT1623 HT1625 HT1626 HT16C21 HT16C22 HT16C23 HT16C24 HT1620 HT16220 HT1647 HT1650 HT1660 HT1670 HT16K23 HT9B92 HT9B92G HT9B95A HT9B95B HT9B95C HT16LK24 HT16L21 HT16L23 HT1611C HT1613C HT1616C (全部封装、规格形式 均有海量现货!) 二:LED/VFD控制、驱动器 HT16506 HT16511 HT16512 HT16515 HT16514 HT16561 HT16562 HT16565 HT16566 HT16523 HT16525 HT1632C HT16K33 HT16K33 HT16528-001 HT16528-002 HT16528-003 (全部封装、规格形式 均有海量现货!) 三.Touch Key触摸按键电路/ I/O Flash MCU BS801B/C BS802B/C BS804B/C BS804B/C BS806B/C BS808B/C BS812A-1 BS813A-1 BS814A-1 BS814A-2 BS816A-1 BS818A-2 BS8112A-3 BS8116A-3 BS83A02A-4 BS83A04A-3 BS83A04A-4 BS83B04A-4 BS83B08A-3 BS83B08A-4 BS83B12A-3 BS83B12A-4 (全部封装、规格形式 均有海量现货!) 四.HT7XXX全系列 微功耗LDO HT1015-1 HT71xx-1 HT71xx-2 HT71xx-3 HT71xx-3 HT75xx-1 HT75xx-2 HT75xx-3 HT73xx HT72xx HT78xx Power management(电源LDO稳压管理IC) HT71**为30MA稳压芯片 产品:HT7130,HT7133,HT7136,HT7144,HT7150 HT75**为100MA稳压芯片 产品:HT7530,HT7533,HT7536,HT7544,HT7550 HT73**为300MA稳压芯片 产品:HT7318,HT7325,HT7327,HT7330,HT7333,HT7335,HT7350 HT70**为电压检测芯片 产品:HT7022,HT7024,HT7027,HT7033,HT7039,HT7044,HT7050 HT77::为升压DC-DC芯片 产品:HT7727,HT7730,HT7733,HT7737,HT7750 LDO与探测器和数据收发:HT71DXX 高电源抑制比300mA双LDO稳压器:HT72Dxxxx 高电源抑制比300mA LDO稳压器:HT72BXX 高电源抑制比 150mA LDO稳压器:HT75BXX 高电源抑制比 500mA LDO稳压器:HT78BXX 3SOT89 T/R 电压检测器系列(小功率):HT70xxA-1 HT70xxA-2 HT70xxA-3 PFM升压DC-DC变换器:HT77xx HT77xxA HT77S10 HT77S11 PFM同步升压直流/直流转换器:HT77xxS HT77xxSA LED照明驱动:HT7L4811 HT7L4091 HT7L4091 HT7L2102 HT7L2103 HT7L2103 白光LED背光驱动:HT7936 HT7937 HT7938 HT7938A HT7939 HT7943 HT7945 降压直流-直流转换器:HT7465 HT7466 AC/DC PWM变换器:HT7A3942 HT7A6002 HT7A6003 HT7A4016 充电泵直流/直流转换器:HT7660 (全部封装、规格形式 均有海量现货!) 五:时钟IC及其他消费类IC HT1380 HT1380A HT1381 HT1381A HT1382 HT9200A HT9170 HT9172 HT9032 HT8970 HT9247 HT82V731 HT82V736 HT6221 HT6222 HT62104 HT12A\E HT12D\F (全部封装、规格形式 均有海量现货!) 六.电可擦除只读存储器 HT2201 HT24LC02 HT24LC02A HT24LC04 HT24LC08 HT24LC16 HT24LC32 HT24LC64 HT24LC128 HT24LC256 HT93LC46 HT93LC66 HT93LC86 (全部封装、规格形式 均有海量现货!) 七.各类编码/射频/解码器 HT12D HT12E HT12F HT6010 HT6012 HT6014 HT6026 HT6030 HT6032 HT6034 HT600 HT604L HT6207 HT680 HT6P20B HT6P20D HT6P40B2 HT6P40C2 HT6P40D2 HT6P40E2 HT6P40B2T3 HT6P40C2T3 HT6P40D2T3 HT6P40E2T3 HT6P423A HT6P423A HT6P427A HT6P433A HT6P437A HT12C2T3 HT12C2T4 HT12E2T3 HT12E2T4 HT12E2T4 HT16C2T3 HT16C2T4 HT16E2T3 HT16E2T4 HT16G2T3 HT16G2T4 HT9831 HT7610A HT7611A/B HT7612 HT7612B (全部封装、规格形式 均有海量现货!) 八.MCU(微控IC) HT48 系列 应用于遥控,电扇/电灯控制,洗衣机控制,电子秤,玩具及各种系统控制. 产品:HT48R05,HT48R06,HT48R30,HT48R50 HT49系列 应用于多种LCD DI低功耗应用,如电子秤,休闲产品,高阶的家用电器 产品:HT49R30,HT49R50 HT46带A/D系列 适用于充电器控制,电磁炉等 产品:HT46R47,HT46R22,HT46R23,HT46R24,HT46R51 HT46带A/D及LCD系列 适用于洗衣机控制器,相机控制器和带LCD显示的家用电器系列 产品:HT46R62,HT46R63,HT46R64 HT48RA系列适用于红外遥控器以及各种电子系统的控制器 (全部封装、规格形式 均有海量现货!) 九.放大器/音频放大器 /DA转换器 HT9231 HT9232 HT9234 HT9251 HT9252 HT9254 HT9274 HT9291 HT9292 HT9294 HT82V732 HT82V733 HT82V735 HT82V736 HT82V736 HT82V739 HT82V73 HT82V731 HT82V737 HT82V738 (全部封装、规格形式 均有海量现货!) 十.音调IC/发生器 /接收器 HT9200A HT9200B HT9170B HT9170D HT9172 HT8970 HT8972 (全部封装、规格形式 均有海量现货!) IC型号众多,未能一一收录。 芯片主要应用领域如下: ★显示模块:电子秤、无线麦克风、录音笔、影音多媒体、小家电周边 ★家电类:电风扇、电饭煲、玩具、冷气机、暖风机、空调扇、饮水机、抽油烟机、消毒柜、电热水器、面包机、豆浆机、咖啡壶、电冰箱、洗衣机控制器、空调控制板等。 ★通讯类:来电显示电话、无绳电话、IC电话、投币电话、对讲机等 ★玩具游戏类:无线遥控车、PS游戏机、跳舞毯、方向盘、手柄、电子枪、PS开机IC等。 ★计算机周边:显示器控制、PC-MOUSE、单/双滚、遥控MOUSE、键盘、手写板等。 ★智能卡类:IC卡煤气表、电能表、水表、IC读写器、IC卡门禁系统等。 ★汽车及防盗类:机车防盗器、********器、汽车天线控制器、里程表、汽车日历等。 ★医用保健类:电子针灸器、甩脂机、智能体温计、LCD显示血压计、跑步机、按摩器、按摩垫、按摩椅 等。 ★仪表类:电压表、瓦斯表、电池电压检测器、频率计、计数器、电度表、水位检测器等。 ★其它类:充电器、照相机、电子万年钟、自动给皂机、路灯控制器、呼叫服务器等
标签: TSSOP B92 HT9 LCD HT 9B 92 48 合泰 液晶驱动
上传时间: 2018-12-07
上传用户:shubashushi66
基于TMS320F2812 光伏并网发电模拟装置PROTEL设计原理图+PCB+软件源码+WORD论文文档,硬件采用2层板设计,PROTEL99SE 设计的工程文件,包括完整的原理图和PCB文件,可以做为你的学习设计参考。 摘要:本文实现了一个基于TMS320F2812 DSP芯片的光伏并网发电模拟装置,采用直流稳压源和滑动变阻器来模拟光伏电池。通过TMS320F2812 DSP芯片ADC模块实时采样模拟电网电压的正弦参考信号、光伏电池输出电压、负载电压电流反馈信号等。经过数据处理后,用PWM模块产生实时的SPWM 波,控制MOSFET逆变全桥输出正弦波。本文用PI控制算法实现了输出信号对给定模拟电网电压的正弦参考信号的频率和相位跟踪,用恒定电压法实现了光伏电池最大功率点跟踪(MPPT),从而达到模拟并网的效果。另外本装置还实现了光伏电池输出欠压、负载过流保护功能以及光伏电池输出欠压、过流保护自恢复功能、声光报警功能、孤岛效应的检测、保护与自恢复功能。系统测试结果表明本设计完全满定设计要求。关键词:光伏并网,MPPT,DSP Photovoltaic Grid-connected generation simulator Zhangyuxin,Tantiancheng,Xiewuyang(College of Electrical Engineering, Chongqing University)Abstract: This paper presents a photovoltaic grid-connected generation simulator which is based on TMS320F2812 DSP, with a DC voltage source and a variable resistor to simulate the characteristic of photovoltaic cells. We use the internal AD converter to real-time sampling the referenced grid voltage signal, outputting voltage of photovoltaic, feedback outputting voltage and current signal. The PWM module generates SVPWM according to the calculation of the real-time sampling data, to control the full MOSFET inverter bridge output sine wave. We realized that the output voltage of the simulator can track the frequency and phase of the referenced grid voltage with PI regulation, and the maximum photovoltaic power tracking with constant voltage regulation, thereby achieved the purpose of grid-connected simulation. Additionally, this device has the over-voltage and over-current protection, audible and visual alarm, islanding detecting and protection, and it can recover automatically. The testing shows that our design is feasible.Keywords: Photovoltaic Grid-connected,MPPT,DSP 目录引言 11. 方案论证 11.1. 总体介绍 11.2. 光伏电池模拟装置 11.3. DC-AC逆变桥 11.4. MOSFET驱动电路方案 21.5. 逆变电路的变频控制方案 22. 理论分析与计算 22.1. SPWM产生 22.1.1. 规则采样法 22.1.2. SPWM 脉冲的计算公式 32.1.3. SPWM 脉冲计算公式中的参数计算 32.1.4. TMS320F2812 DSP控制器的事件管理单元 42.1.5. 软件设计方法 62.2. MPPT的控制方法与参数计算 72.3. 同频、同相的控制方法和参数计算 8
标签: tms320f2812 光伏 并网发电 模拟 protel pcb
上传时间: 2021-11-02
上传用户:
基于TL494开关电源设计.doc基于TL494的DC-DC开关电源设计 摘 要 随着电子技术的高速发展,电子系统的应用领域越来越广泛,电子设备的种类也越来越多,电子设备与人们的工作、生活的关系日益密切。近年来 ,随着功率电子器件(如IGBT、MOSFET)、PWM技术及开关电源理论的发展 ,新一代的电源开始逐步取代传统的电源电路。该电路具有体积小,控制方便灵活,输出特性好、纹波小、负载调整率高等特点。 开关电源中的功率调整管工作在开关状态,具有功耗小、效率高、稳压范围宽、温升低、体积小等突出优点,在通信设备、数控装置、仪器仪表、视频音响、家用电器等电子电路中得到广泛应用。开关电源的高频变换电路形式很多, 常用的变换电路有推挽、全桥、半桥、单端正激和单端反激等形式。本论文采用双端驱动集成电路——TL494输的PWM脉冲控制器设计小汽车中的音响供电电源,利用MOSFET管作为开关管,可以提高电源变压器的工作效率,有利于抑制脉冲干扰,同时还可以减小电源变压器的体积。
上传时间: 2022-02-23
上传用户:
本文介绍了一种基于MSP430单片机的SPWM控制逆变器的设计及实现,MSP430单片机作为核心控制器,控制产生SPWM波,SPWM波控制驱动器从而控制全桥逆变电路,通过全桥滤波电路的直流电压信号转变为正弦波信号,并通过PID反馈控制算法使得输出电压信号稳定。
上传时间: 2022-03-27
上传用户:kent
基于TMS320F2812数字控制的三相逆变电源设计论文+原理图PCB摘要:随着社会的需求越来越高,传统的模拟电源的诸多缺陷越来越凸显, 本文在借鉴国内外相关研究的基础上,通过对空间矢量脉宽调制算法的分析,研究了数字信号处理器生成SVPWM 波形的实现方法及软件算法。并将相关方法应用于实践,研制了基于TMS320F2812数字控制的三相逆变电源,相关试验参数和结果表明:该设计提高了直流电压的利用率,使开关器件的损耗更小。此外,还提出了逆变电源闭环控制的PI控制算法,利用DSP的强大的数字信号处理能力,提高了系统的响应速度。经测试,系统实现了1~40V步进为1V的调压输出, 50Hz~1kHz步进2Hz的调频输出,输出电压恒定为36V时负载调整率小于5%。 关键词:全桥逆变,SVPWM,DSP1. 系统硬件设计3.1 不可控整流电路 采用整流桥加滤波,得到比较稳定的电压,电路如图3.1.1所示。 图3.1.1 不可控整流电路图电路实现AC-DC变换。本模块交流输入是经48V变压器将220V交流电压变压为48V交流电压后的输入电压,然后经过桥式整流器整流,再通过电容滤波,输出大小约为57.6V的直流电压。中间接一个保险丝来保护后面的元器件,或当后面电路短路时防止电容损坏。 一般来说,无法找到一个可以把电源的所有电流纹波都吸收的电容,所以通常用多个电容并联,这样流入每个电容的纹波电流就只有并联的电容个数分之一,每个电容就可以工作在低于它的最大额定纹波电流下,这里采用5个220µF的电容并联。另外输入滤波电容上一般要并上陶瓷电容(0.1µF),以吸收纹波电流的高频分量。两个20kΩ电阻的作用是使后
标签: 逆变电源
上传时间: 2022-05-05
上传用户:
part1也已上传:https://dl.21ic.com/download/part1-385449.html 本书系统介绍电容器的基础知识及在各种实际应用电路中的工作原理,包括 RC 积分、 RC 微分、滤波电容、旁路电容、去耦电容、耦合电容、谐振电容、自举电容、 PN 结电容、加速电容、密勒电容、安规电容等。本书强调工程应用,包含大量实际工作中的应用电路案例讲解,涉及高速 PCB、高频电子、运算放大器、功率放大、开关电源等多个领域,内容丰富实用,叙述条理清晰,对工程师系统掌握电容器的实际应用有很大的帮助,可作为初学者的辅助学习教材,也可作为工程师进行电路设计、制作与调试的参考书。第 1 章 电容器基础知识第 2 章 电容器标称容值为什么这么怪第 3 章 电容器为什么能够储能第 4 章 介电常数是如何提升电容量的第 5 章 介质材料是如何损耗能量的第 6 章 绝缘电阻与介电常数的关系第 7 章 电容器的失效模式第 8 章 RC 积分电路的复位应用第 9 章 门电路组成的积分型单稳态触发器第 10 章 555 定时芯片应用:单稳态负边沿触发器第 11 章 RC 多谐振荡器电路工作原理第 12 章 这个微分电路是冒牌的吗第 13 章 门电路组成的微分型单稳态触发器第 14 章 555 定时器芯片应用:单稳态正边沿触发器第 15 章 电容器的放电特性及其应用第 16 章 施密特触发器构成的多谐振荡器第 17 章 电容器的串联及其应用第 18 章 电容器的并联及其应用第 19 章 电源滤波电路基本原理第 20 章 从低通滤波器认识电源滤波电路第 21 章 从电容充放电认识低通滤波器第 22 章 降压式开关电源中的电容器第 23 章 电源滤波电容的容量越大越好吗第 24 章 电源滤波电容的容量多大才合适第 25 章 RC 滞后型移相式振荡电路第 26 章 电源滤波电容中的战斗机:铝电解电容第 27 章 旁路电容工作原理(数字电路)第 28 章 旁路电容 0.1μF 的由来(1)第 29 章 旁路电容 0 1μF 的由来(2)第 30 章 旁路电容的 PCB 布局布线第 31 章 PCB 平面层电容可以做旁路电容吗第 32 章 旁路电容工作原理(模拟电路)第 33 章 旁路电容与去耦电容的联系与区别第 34 章 旁路电容中的战斗机:陶瓷电容第 35 章 交流信号是如何通过耦合电容的第 36 章 为什么使用电容进行信号的耦合第 37 章 耦合电容的容量多大才合适
标签: 电容
上传时间: 2022-05-07
上传用户:
part2也已上传:https://dl.21ic.com/download/part2-385450.html 本书系统介绍电容器的基础知识及在各种实际应用电路中的工作原理,包括 RC 积分、 RC 微分、滤波电容、旁路电容、去耦电容、耦合电容、谐振电容、自举电容、 PN 结电容、加速电容、密勒电容、安规电容等。本书强调工程应用,包含大量实际工作中的应用电路案例讲解,涉及高速 PCB、高频电子、运算放大器、功率放大、开关电源等多个领域,内容丰富实用,叙述条理清晰,对工程师系统掌握电容器的实际应用有很大的帮助,可作为初学者的辅助学习教材,也可作为工程师进行电路设计、制作与调试的参考书。第 1 章 电容器基础知识第 2 章 电容器标称容值为什么这么怪第 3 章 电容器为什么能够储能第 4 章 介电常数是如何提升电容量的第 5 章 介质材料是如何损耗能量的第 6 章 绝缘电阻与介电常数的关系第 7 章 电容器的失效模式第 8 章 RC 积分电路的复位应用第 9 章 门电路组成的积分型单稳态触发器第 10 章 555 定时芯片应用:单稳态负边沿触发器第 11 章 RC 多谐振荡器电路工作原理第 12 章 这个微分电路是冒牌的吗第 13 章 门电路组成的微分型单稳态触发器第 14 章 555 定时器芯片应用:单稳态正边沿触发器第 15 章 电容器的放电特性及其应用第 16 章 施密特触发器构成的多谐振荡器第 17 章 电容器的串联及其应用第 18 章 电容器的并联及其应用第 19 章 电源滤波电路基本原理第 20 章 从低通滤波器认识电源滤波电路第 21 章 从电容充放电认识低通滤波器第 22 章 降压式开关电源中的电容器第 23 章 电源滤波电容的容量越大越好吗第 24 章 电源滤波电容的容量多大才合适第 25 章 RC 滞后型移相式振荡电路第 26 章 电源滤波电容中的战斗机:铝电解电容第 27 章 旁路电容工作原理(数字电路)第 28 章 旁路电容 0.1μF 的由来(1)第 29 章 旁路电容 0 1μF 的由来(2)第 30 章 旁路电容的 PCB 布局布线第 31 章 PCB 平面层电容可以做旁路电容吗第 32 章 旁路电容工作原理(模拟电路)第 33 章 旁路电容与去耦电容的联系与区别第 34 章 旁路电容中的战斗机:陶瓷电容第 35 章 交流信号是如何通过耦合电容的第 36 章 为什么使用电容进行信号的耦合第 37 章 耦合电容的容量多大才合
标签: 电容
上传时间: 2022-05-07
上传用户:
基于DSP28035的高速永磁无刷直流电机驱动系统,包括论文和软硬设计资料。摘要参赛作品为基于DSP28035的高速永磁无刷直流电机驱动系统。该系统以一台额定转速60 krpm的高速永磁无刷直流电机、交错并联的Buck电路以及全桥电路为硬件平台,以DSP28035为控制核心,实现了调压调速功能和基于坐标变换的无位置传感器新技术。为实现该系统要求,本作品充分利用了DSP28035的资源例如:CLA模块,模拟比较器、HPWM模块以及AD转换模块等。AbstractThis work is the drive system for a high speed permanent magnet burshless dc motor based on DSP28035. The hardware platform consists of a BLDC motor(rated speed is 60000rpm), a Buck circuit and an inverter. Under the control of DSP28035, this system can achieve the goal of adjusting the motor’s speed with voltage and the function of sensorless control based on the coordinate transformation. By making full use of resources of the core, such as CLA, analog comparator, HPWM and AD converters, the whole system can meet the requirements.1 引言高速永磁无刷直流电机驱动系统由于基波频率较高(一般在1kHZ以上),利用逆变桥斩波进行调速的控制方式通常会受到开关管开关频率的限制,因此该系统多采用三相全桥前级加Buck电路进承担调压调速的功能,而三相全桥主要承担逻辑换相的功能。然而,传统Buck电路所需电感的体积较大,增加了系统的体积,降低了系统的功率密度。
上传时间: 2022-05-08
上传用户:bluedrops
超声波换能器由于负载的变化以及外界环境的变化等因素,导致超声波电源的输出频率与谐振频率不匹配,从而使清洗效果不佳。超声波电源是超声清洗机的核心部分,为实现其高效稳定的工作,需要对其工作频率进行自动跟踪控制。为此,本文设计了基于单片机PIC16F886为控制核心的超声波电源,其额定输出功率为600W,工作频率为20kHz,并实现了对频率的实时跟踪控制。主要研究内容如下: 首先,根据超声波电源的性能指标要求,设计了超声波电源主电路系统,主电路系统由整流滤波电路、逆变电路、匹配电路等单元组成,逆变电路采用全桥逆变拓扑结构,文中对主电路系统进行了详细分析与设计,并采用Multisim仿真软件对主电路系统各个部分进行仿真。 其次,设计了超声波电源频率跟踪的控制方案,该控制方案采用锁相环频率跟踪的控制思路并结合PID控制方法。为此设计了相应的控制软件,采用C语言编写主程序、A/D转换程序、PID控制程序等。 最后,以PIC16F866单片机芯片为控制核心,设计了超声波电源控制系统,主要包括采样电路、驱动电路、单片机外围电路等,分析了其工作原理。并采用Proteus软件对控制系统进行仿真。仿真结果表明,所设计的超声波电源控制系统能实现频率自动跟踪,与超声波换能器相匹配,工作在谐振状态,达到了设计要求。
上传时间: 2022-06-11
上传用户:jason_vip1