摘要:研究了用單片機控制的單相后備式方波輸出UPS的控制技術及實現,分析了系統的工作原理,給出了硬件實現電路和算法框圖,并測出了市電逆變相互轉換等主要實驗結果。關鍵詞:不間斷電源;單片機;推挽變換器
上傳時間: 2013-10-28
上傳用戶:1051290259
AT89LP216是一款低功耗、高性能CMOS8位單片機,它有2k字節ISPFlash存儲器。產品生產采用Atmel的高密度非易失性存儲器技術而且和工業標準de的MCS51指令集相兼容。AT89LP216基于一個加強性CPU內核,每時鐘周期讀取單子節指令。在經典8051結構中,每次讀取需要6個時鐘周期,使得執行指令需要12、24或者48個時鐘周期。在AT89LP216CPU中,指令只需要1到4個時鐘周期就可以達到傳統8051速度的6到12倍。70%的指令字節數與執行的時鐘周期數相等,而且其他指令只需要一個額外時鐘。在相同功耗下增強型CPU內核可達到20MIPS,而傳統8051CPU只能達到4MIPS。相反地,在相同的工作速率下,新CPU內核比傳統的8051擁有更低的時鐘速率和功耗。AT89LP216也擁有下列標準的特性:2K字節ISPFlash存儲器,128字節RAM、多達12個I/O口、2個16位定時器/計數器,兩PWM輸出,一個可編程看門狗定時器,一個全雙工串口,一個串行外圍接口,一個內部RC振蕩器,片上石英振蕩器和一個4級、6矢量中斷系統。AT89LP216里的兩個定時器/計數器增加了兩個新模式。模式0可以被設置為9到16位的定時器/計數器,模式1可被設置位16位自動裝載定時器/計數器。此外,定時器/計數器可以獨立驅動PWM輸出。AT89LP216里面的I/O口能被獨立配置為4種工作模式的其中一種。在準雙工模式中,I/O口的工作模式和傳統8051一樣。在輸入模式中,接口是三態門。推挽輸出模式提供足夠的CMOS驅動,開漏模式則起到一個下拉的作用。另外,Port1的所有8個引腳可以作為通用中斷接口。AT89LP216的I/O口能承受的電壓可超出電源電壓達到5.5V。當器件的電源電壓為2.4V而I/O口輸入5.5V時,所有I/O口的反向電流總和不超過100μA。
上傳時間: 2013-10-24
上傳用戶:曹云鵬
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
提出一種高性能全數字式正弦波逆變電源的設計方案。該方案分為前后兩級,前級采用推挽升壓電路將輸入的直流電升壓到350 V左右的母線電壓,后級采用全橋逆變電路,逆變橋輸出經濾波器濾波后,用隔離變壓器進行電壓采樣,電流互感器進行電流采樣,以形成反饋環節,增加電源輸出的穩定性。升壓級PWM驅動及逆變級SPWM驅動均由STM32單片機產生,減小了硬件開支。基于上述方案試制的400 W樣機,具有輸出短路保護、過流保護及輸入過壓保護、欠壓保護功能,50 Hz輸出時頻率偏差小于0.05 Hz,滿載(400 W)效率高于87%,電壓精度為220 V±1%,THD小于1.5%。
上傳時間: 2013-11-17
上傳用戶:guojin_0704
第八章 labview的編程技巧 本章介紹局部變量、全局變量、屬性節點和其他一些有助于提高編程技巧的問題,恰當地運用這些技巧可以提高程序的質量。 8.1 局部變量 嚴格的語法盡管可以保證程序語言的嚴密性,但有時它也會帶來一些使用上的不便。在labview這樣的數據流式的語言中,將變量嚴格地分為控制器(Control)和指示器(Indicator),前者只能向外流出數據,后者只能接受流入的數據,反過來不行。在一般的代碼式語言中,情況不是這樣的。例如我們有變量a、b和c,只要需要我們可以將a的值賦給b,將b的值賦給c等等。前面所介紹的labview內容中,只有移位積存器即可輸入又可輸出。另外,一個變量在程序中可能要在多處用到,在圖形語言中勢必帶來過多連線,這也是一件煩人的事。還有其他需要,因此labview引入了局部變量。
上傳時間: 2013-10-27
上傳用戶:xieguodong1234
Single-Ended and Differential S-Parameters Differential circuits have been important incommunication systems for many years. In the past,differential communication circuits operated at lowfrequencies, where they could be designed andanalyzed using lumped-element models andtechniques. With the frequency of operationincreasing beyond 1GHz, and above 1Gbps fordigital communications, this lumped-elementapproach is no longer valid, because the physicalsize of the circuit approaches the size of awavelength.Distributed models and analysis techniques are nowused instead of lumped-element techniques.Scattering parameters, or S-parameters, have beendeveloped for this purpose [1]. These S-parametersare defined for single-ended networks. S-parameterscan be used to describe differential networks, but astrict definition was not developed until Bockelmanand others addressed this issue [2]. Bockelman’swork also included a study on how to adapt single-ended S-parameters for use with differential circuits[2]. This adaptation, called “mixed-mode S-parameters,” addresses differential and common-mode operation, as well as the conversion betweenthe two modes of operation.This application note will explain the use of single-ended and mixed-mode S-parameters, and the basicconcepts of microwave measurement calibration.
上傳時間: 2014-03-25
上傳用戶:yyyyyyyyyy
電路板故障分析 維修方式介紹 ASA維修技術 ICT維修技術 沒有線路圖,無從修起 電路板太複雜,維修困難 維修經驗及技術不足 無法維修的死板,廢棄可惜 送電中作動態維修,危險性極高 備份板太多,積壓資金 送國外維修費用高,維修時間長 對老化零件無從查起無法預先更換 維修速度及效率無法提升,造成公司負擔,客戶埋怨 投資大量維修設備,操作複雜,績效不彰
上傳時間: 2013-11-09
上傳用戶:chengxin
C++完美演繹 經典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開C語言的內建函數指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數,圓的面積 */ /* 將比較數值大小的函數寫在自編include文件內 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結果:%d %d %d\n", a, b, c) } 程序執行結果: 由小至大排序之后的結果:1 2 3 可將內建函數的include文件展開在自編的include文件中 圓圈的面積是=201.0619264
標簽: my_Include include define 3.141
上傳時間: 2014-01-17
上傳用戶:epson850
一個LCD燈的小程序。不是我寫的。我只負責了調試。適用在ACEXEP1K30QC208-3上。我跑了SIMULATOR,管腳連接標示了。我也下在電路板上試過了,沒有問題。要用到實驗板上的兄弟們把CLK1改到TESTOUT3或者0就好了。綫幫助新手,人人有責。
上傳時間: 2015-04-10
上傳用戶:330402686
源代碼\用動態規劃算法計算序列關系個數 用關系"<"和"="將3個數a,b,c依次序排列時,有13種不同的序列關系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要將n個數依序列,設計一個動態規劃算法,計算出有多少種不同的序列關系, 要求算法只占用O(n),只耗時O(n*n).
上傳時間: 2013-12-26
上傳用戶:siguazgb