微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚悢铏圭<闁靛繒濮甸悘宥夋⒑缁嬪潡顎楁い锔诲灦閳ワ箓宕稿Δ浣告疂闂傚倸鐗婄粙鎴︼綖瀹€鈧槐鎾存媴閸濆嫮褰欓梺鎼炲劀閸滀礁鏅i梻浣筋嚙鐎涒晝绮欓幒鏇熸噷闂佽绻愬ù姘跺储婵傚憡绠掓繝鐢靛Т閿曘倝骞婃惔銏㈩洸闁诡垼鐏旀惔銊ョ倞鐟滄繈鐓鈧埞鎴﹀灳瀹曞洤鐓熼悗瑙勬礈閸犳牠銆佸鈧幃娆忣啅椤旈敮鍋撻幘顔解拻闁稿本鐟чˇ锕傛煙鐠囇呯瘈闁诡喚鍏樻俊鐤槼鐎规洖寮堕幈銊ヮ渻鐠囪弓澹曢柣搴㈩問閸犳牠鈥﹂悜钘夋瀬闁归偊鍘肩欢鐐测攽閻樻彃顏撮柛姘嚇濮婄粯鎷呴悷閭﹀殝缂備浇顕ч崐姝岀亱濡炪倖鎸鹃崐锝呪槈閵忕姷顦板銈嗘尵婵兘鏁嶅⿰鍫熲拺缂備焦锚婵箓鏌涢幘瀵告噰鐎规洘绻堟俊鍫曞幢濞嗘埈鍟庣紓浣鸿檸閸欏啴藟閹捐泛濮柍褜鍓熼幃妤€鈻撻崹顔界亪濡炪値鍘鹃崗姗€鐛崘顔碱潊闁靛牆鎳庣粣娑欑節閻㈤潧孝閻庢凹鍠涢崐鎾⒒閸屾艾鈧绮堟笟鈧獮澶愭晸閻樿尙顔囬梺绯曞墲缁嬫垵顔忓┑鍥ヤ簻闁哄啫鍊婚幗鍌炴煕閻旈攱鍣界紒杈ㄦ崌瀹曟帒顫濋钘変壕闁归棿绀佺壕褰掓煟閹达絽袚闁搞倕瀚伴弻銈夊箹娴h閿梺鎼炲妽濮婂綊濡甸崟顖氱闁告鍋熸禒濂告⒑閹肩偛濡奸柛濠傛健瀵鈽夐姀鈺傛櫇闂佹寧绻傚Λ娑⑺囬妷鈺傗拺闁芥ê顦弳鐔兼煕閻樺磭澧电€殿喖顭峰鎾偄閾忚鍟庨梻浣虹帛閸旓箓宕滃鑸靛仧闁哄洢鍨洪埛鎴犵磼鐎n偒鍎ラ柛搴$箲娣囧﹪顢曢敐鍥╃杽閻庢鍠涢褔鍩ユ径濠庢僵妞ゆ劧绲芥刊浼存⒒娴e憡鍟為柟绋挎閸┾偓妞ゆ巻鍋撻崡閬嶆煕椤愶絿绠ユ繛鎾愁煼閺屾洟宕煎┑鍥ф畻闂佺粯绋掔划鎾诲蓟閻旂厧绀勯柕鍫濇椤忥拷04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻宥夊煛娴e憡娈查梺缁樼箖濞茬喎顫忕紒妯诲闁芥ê锛嶉幘缁樼叆婵﹩鍘规禍婊堟煥閺冨浂鍤欓柡瀣ㄥ€楃槐鎺撴綇閵婏富妫冮悗娈垮枟閹歌櫕鎱ㄩ埀顒勬煃闁款垰浜鹃梺褰掝棑缁垳鎹㈠☉娆愮秶闁告挆鍛呮艾鈹戦悙鍙夊珔缂佹彃娼″顐︻敊鐏忔牗顫嶉梺闈涢獜缁辨洟宕㈤柆宥嗏拺闁告繂瀚弳濠囨煕鐎n偅灏扮紒缁樼洴閹崇娀顢楅埀顒勫几濞戙垺鐓熸繛鎴濆船濞呭秶鈧鍠曠划娆撱€佸Ο娆炬Ъ闂佸搫鎳忕换鍫濐潖濞差亝顥堟繛鎴炶壘椤e搫鈹戦悙棰濆殝缂佽尪娉曢崚鎺楊敇閻旈绐炴繝鐢靛Т鐎涒晝鈧潧鐭傚娲濞戞艾顣哄┑鈽嗗亝缁嬫帡寮查崼鏇熺劶鐎广儱妫涢崢閬嶆煟鎼搭垳绉甸柛鎾寸懄缁傛帡鏌嗗鍡欏幍濡炪倖娲栧Λ娑氬姬閳ь剚绻濈喊澶岀?闁稿繑锕㈠畷娲晸閻樿尙锛滃┑鐘诧工閸燁偆绮诲ú顏呪拻闁稿本鐟чˇ锕傛煙绾板崬浜滈悡銈夋煏婵炵偓娅呯痪鍓х帛缁绘盯骞嬪▎蹇曚患闂佺粯甯掗悘姘跺Φ閸曨垰绠抽柛鈩冦仦婢规洘绻濋悽闈浶涢柛瀣崌濮婃椽顢楅埀顒傜矓閹绢喗鍊块柛顭戝亖娴滄粓鏌熼崫鍕ラ柛蹇撶焸閺屾盯鎮㈤崫銉ュ绩闂佸搫鐬奸崰鏍х暦濞嗘挸围闁糕剝顨忔导锟�27闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻宥夊煛娴e憡娈查梺缁樼箖閻楃姴顫忕紒妯肩懝闁逞屽墴閸┾偓妞ゆ帒鍊告禒婊堟煠濞茶鐏¢柡鍛埣楠炲秹顢欓崜褝绱叉俊鐐€栧ú鏍涘☉銏犵濞寸厧鐡ㄩ幊姘舵煛瀹ュ海浜圭憸鐗堝笚閺呮煡鏌涢銈呮珡濞寸姭鏅涢—鍐Χ閸℃ǚ鎷瑰┑鐐跺皺閸犲酣锝炶箛鎾佹椽顢旈崨顓濈敾闂備浇顫夐鏍窗濡ゅ懎绠熷┑鍌氭啞閳锋垿鏌ゆ慨鎰偓鏇㈠几閸岀偞鐓曢幖杈剧稻閺嗩剚顨ラ悙鎻掓殭妞ゎ偅绮撻崺鈧い鎺戝閺勩儵鏌ㄩ悢鍝勑㈢紒鈧崘鈹夸簻闊洦鎸婚敍鏃傜磼鏉堛劎鍙€婵﹦绮幏鍛存惞閻熸壆顐奸梻浣藉吹閸犲棝宕归挊澶屾殾闁硅揪绠戠粻鑽ょ磽娴h疮缂氶柛姗€浜跺娲濞淬劌缍婂畷鏇㈠箮閽樺妲梺鎸庣箓濞茬娀宕戦幘鏂ユ灁闁割煈鍠楅悘鍫濐渻閵堝骸寮柡鈧潏銊р攳濠电姴娲ょ粻鐟懊归敐鍛喐闁告ɑ鎮傚铏圭矙閹稿孩鎷遍梺娲诲弾閸犳岸鎳炴潏銊ь浄閻庯綆鍋€閹风粯绻涙潏鍓у埌闁硅櫕鐟ㄩ妵鎰板箳閹存繄褰夋俊鐐€栫敮鎺楀磹婵犳碍鍎楁繛鍡樻尰閻撴瑩寮堕崼鐔峰姢闁伙附绮撻弻鈩冩媴缁嬪簱鍋撻崸妤€钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷� 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻锝呂熼懡銈呯仼闂佹悶鍎崝搴ㄥ储闁秵鐓熼煫鍥ㄦ礀娴犳粌顭胯缁瑩骞冮敓鐙€鏁嶆慨妯垮亹閸炵敻鏌i悢鍝ユ噧閻庢凹鍘剧划鍫ュ焵椤掑嫭鈷戦悗鍦濞兼劙鏌涢妸銉﹀仴闁靛棔绀侀埢搴ㄥ箣閻樼绱查梻浣筋潐閸庤櫕鏅舵惔锝囩幓婵°倕鎳忛埛鎺懨归敐鍛暈闁哥喓鍋為妵鍕敇閻愭惌妫﹂悗瑙勬礃閿曘垽寮幇鏉垮耿婵炲棗鑻禍鐐箾瀹割喕绨奸柛濠傜仛椤ㄣ儵鎮欓懠顑胯檸闂佸憡姊圭喊宥囨崲濞戙垺鍤戞い鎺嗗亾闁宠鐗忛埀顒冾潐濞叉﹢宕归崸妤冨祦婵せ鍋撻柟铏矒濡啫鈽夊▎鎴斿亾椤撱垺鈷掑ù锝呮啞閸熺偞绻涚拠褏鐣电€规洘绮岄埥澶愬閳╁啯鐝繝鐢靛仦閸垶宕瑰ú顏勭厱闁硅揪闄勯悡鏇熺箾閹寸們姘舵儑鐎n偆绠鹃柛顐ゅ枑缁€鈧梺瀹狀潐閸ㄥ潡骞冨▎鎴炲珰鐟滄垿宕ラ锔解拺閻犲洠鈧櫕鐏嗛梺鍛婎殕婵炲﹪濡存担鍓叉僵閻犻缚娅i崝锕€顪冮妶鍡楀潑闁稿鎹囬弻锝夋晲閸パ冨箣閻庤娲栭妶绋款嚕閹绢喖惟闁挎棁濮ら悵婊勭節閻㈤潧袨闁搞劎鍘ч埢鏂库槈閵忊晜鏅為梺绯曞墲閵囨盯寮稿澶嬪€堕柣鎰礋閹烘缁╁ù鐘差儐閻撶喐淇婇婵囶仩濞寸姵鐩弻锟犲幢韫囨梹鐝旈梺瀹狀潐閸ㄥ潡銆佸▎鎾村殟闁靛鍎遍弨顓熶繆閵堝洤啸闁稿鐩弫鍐Ψ閵夘喖娈梺鍛婃处閸ㄦ壆绮诲☉娆嶄簻闁圭儤鍨垫禍鎵磼闁秳鎲炬慨濠勭帛閹峰懐绮电€n偆绉烽柣搴ゎ潐濞叉﹢鏁冮姀銈冣偓浣割潩閹颁焦鈻岄梻浣告惈鐞氼偊宕濋幋鐐扮箚闁割偅娲栭獮銏ゆ煛閸モ晛啸闁伙綁绠栧缁樼瑹閳ь剙岣胯閹囧幢濞嗗苯浜炬慨妯煎帶閻忥妇鈧娲橀〃鍛存偩濠靛绀嬫い鎺戝€搁獮鍫熺節閻㈤潧浠滄俊顐n殘閹广垽骞嬩綅婢舵劕顫呴柍鈺佸暙瀵寧绻濋悽闈浶㈤柟鍐茬箻椤㈡棃鎮╅悽鐢碉紲闁哄鐗勯崝宀€绮幒妤佹嚉闁挎繂顦伴悡鐘测攽椤旇棄濮囬柍褜鍏欓崐鏇炲祫濡炪倖甯掔€氼參鍩涢幒鎳ㄥ綊鏁愰崨顔兼畼閻熸粎澧楃敮妤呭疾濠靛鐓忛柛顐g箖鐎氬懘鏌ら弶鎸庡仴婵﹥妞介、妤呭焵椤掑倻鐭撻柟缁㈠枟閸婂潡鏌涢…鎴濅簴濞存粍绮撻弻鐔煎传閸曨厜銉╂煕韫囨挾鐒搁柡灞剧洴閹垽宕妷銉ョ哗闂備礁鎼惉濂稿窗閺嵮呮殾婵炲棙鎸稿洿闂佺硶鍓濋〃蹇斿閿燂拷闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻宥夊煛娴e憡娈查梺缁樼箖閻楃姴顫忕紒妯肩懝闁逞屽墴閸┾偓妞ゆ帒鍊告禒婊堟煠濞茶鐏¢柡鍛埣楠炲秹顢欓崜褝绱叉俊鐐€栧ú鏍涘☉銏犵濞寸厧鐡ㄩ幊姘舵煛瀹ュ海浜圭憸鐗堝笚閺呮煡鏌涢銈呮珡濞寸姭鏅涢—鍐Χ閸℃ǚ鎷瑰┑鐐跺皺閸犲酣锝炶箛鎾佹椽顢旈崨顓濈敾闂備浇顫夐鏍窗濡ゅ懎绠熷┑鍌氭啞閳锋垿鏌ゆ慨鎰偓鏇㈠几閸岀偞鐓曢幖杈剧稻閺嗩剚顨ラ悙鎻掓殭妞ゎ偅绮撻崺鈧い鎺戝閺勩儵鏌ㄩ悢鍝勑㈢紒鈧崘鈹夸簻闊洦鎸婚敍鏃傜磼鏉堛劎鍙€婵﹦绮幏鍛存惞閻熸壆顐奸梻浣藉吹閸犲棝宕归挊澶屾殾闁硅揪绠戠粻鑽ょ磽娴h疮缂氶柛姗€浜跺娲濞淬劌缍婂畷鏇㈠箮閽樺妲梺鎸庣箓濞茬娀宕戦幘鏂ユ灁闁割煈鍠楅悘鍫濐渻閵堝骸寮柡鈧潏銊р攳濠电姴娲ょ粻鐟懊归敐鍛喐闁告ɑ鎮傚铏圭矙閹稿孩鎷遍梺娲诲弾閸犳岸鎳炴潏銊ь浄閻庯綆鍋€閹风粯绻涙潏鍓у埌闁硅櫕鐟ㄩ妵鎰板箳閹存繄褰夋俊鐐€栫敮鎺楀磹婵犳碍鍎楁繛鍡樻尰閻撴瑩寮堕崼鐔峰姢闁伙附绮撻弻鈩冩媴缁嬪簱鍋撻崸妤€钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
首页 > 应用设计 > 消费类电子 > 基于单片机做电风扇简易定时控制器

基于单片机做电风扇简易定时控制器

时间:07-06 来源:3721RD 点击:

自己的床头风扇的机械定时器坏掉了,准备51单片机给设计了一个.程序在实验板初步调试通过,等待元件寄到就可以做板子了,只是有点浪费单片机的资源。

一,设计思路:

开始通过手动键给单片机供电。直到电源指示灯LED4亮.单片机运行,继电器2工作给单片机供电。通过按键设置继电器2的工作时间,实现系统的自动断电,通过设置继电器1的工作时间,实现风扇的间歇转动,实现节能。

1.显示部分:通过按键,在风扇转动时间,暂停时间,和系统关闭剩余时间切换显示。数码显示两位,为"分"走时,其中系统关闭剩余时间为"小时"走时,LED为红,黄,蓝,分别点亮对应的风扇转动,暂停,和系统关闭剩余时间的状态。

2.按键部分:

lK1为时间调整移位键,按下此键,数码闪烁,同时对应的灯闪烁。在风扇转动时间,暂停时间,和系统之间切换

lK2为加一和状态切换显示键,当有K1按下,为时间加1。否则,在在风扇转动时间,暂停时间,和系统之间切换显示。

lK3为减1和备用键,当有K1按下,为时间加1,否则无效。

3.继电器部分:

l继电器1控制风扇的电源线,实现风扇的转动和暂时。

l继电器2控制单片机系统的电源,实现系统定时关闭。

二,原理图

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佽鍨庨崘锝嗗瘱闂備胶顢婂▍鏇㈠箲閸ヮ剙鐏抽柡鍐ㄧ墕缁€鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娆忓毈缂備降鍔岄妶鎼佸蓟閻斿吋鍎岄柛婵勫劤琚﹂梻浣告惈閻绱炴笟鈧妴浣割潨閳ь剟骞冨▎鎾崇妞ゆ挾鍣ュΛ褔姊婚崒娆戠獢婵炰匠鍏炬稑鈻庨幋鐐存闂佸湱鍎ら〃鎰礊閺嶃劎绡€闂傚牊渚楅崕鎰版煛閸涱喚鍙€闁哄本绋戦埥澶愬础閻愬樊娼绘俊鐐€戦崕鏌ユ嚌妤e啫鐓橀柟瀵稿仜缁犵娀姊虹粙鍖℃敾妞ゃ劌妫濋獮鍫ュΩ閳哄倸鈧鏌﹀Ο渚Ш闁挎稒绋戦埞鎴︽倷閺夋垹浜堕梺鐟扮-閸嬨倕鐣烽崼鏇ㄦ晢濞达綁鏅茬紓鎾剁磽閸屾瑧顦︽い鎴濇嚇閹ê鈹戠€n偄鈧灚銇勯幘璺烘瀺缂佽妫濋弻鏇㈠醇濠靛牏顔婇梺鍛婂笂閸楁娊寮诲☉銏″亞濞达綁鏅茬花鐣岀磽娓氬洤鏋︽い鏇嗗洤鐓″璺好¢悢鑽ょ杸闁规儳澧庢闂備浇妗ㄩ悞锕傚礉濞嗗繒鏆﹂柕濞炬櫓閺佸﹪鎮规笟顖滃帥闁衡偓閵娧呯=闁稿本鑹鹃埀顒勵棑缁牊绗熼埀顒勩€侀弽顓炵妞ゆ牗绋戝▓鎴︽⒑閸涘﹥灏柣鎺炵畵閿濈偤寮撮姀锛勫幍闂佺顫夐崝锕傚吹濞嗘垹妫柟顖嗗啯鍊梺閫涚┒閸斿矂锝炲⿰鍫濆耿婵°倐鍋撴鐐差儔濮婅櫣绮欏▎鎯у壉闂佸湱鎳撳ú顓㈢嵁閸愩劉鍫柛顐ゅ枎濞堢喖姊洪棃娑辨Ф闁稿寒鍣e畷鎴﹀箻鐠囨煡鏁滃┑掳鍊撻懗鍫曞矗閸℃稒鈷戦柛婵嗗婢跺嫭鎱ㄥΟ绋垮鐎规洘绻傞鍏煎緞鐎n剙骞嶉梻浣告啞閸旀ḿ浜稿▎鎾村€块柛娑橈攻閸欏繐鈹戦悩鎻掝伀閻㈩垱鐩弻鐔风暋閻楀牆娈楅悗瑙勬磸閸斿秶鎹㈠┑瀣<婵炴垶鐟ч弳顓㈡⒒閸屾艾鈧嘲霉閸パ呮殾闁汇垻枪缁愭鏌涢埄鍐槈缁炬儳娼¢弻鐔煎箚閻楀牜妫勭紓浣哄У閻擄繝寮婚弴锛勭杸闁哄洨鍎愰埀顒€鏈换娑氱箔閸濆嫬顫囬梺鍝勮嫰缁夌兘篓娓氣偓閺屾盯骞樼€靛憡鍣板銈冨灪瀹€鎼佸极閹版澘骞㈡繛鍡樺灩濡插洦绻濆▓鍨灍闁挎洍鏅犲畷銏ゅ礂閼测晩娲稿┑鐘诧工閹虫劗澹曟總鍛婄厽闁逛即娼ф晶顔姐亜鎼淬垻鐭婃い顏勫暟閳ь剚绋掕摫闁稿﹥鍔楅埀顒侇問閸犳鎮¢敓鐘偓浣肝旈崨顓狀槹濡炪倖鍨兼慨銈団偓姘偢濮婄粯鎷呴崨濠呯闁哄浜濈换娑㈠箻椤曞懏顥栫紓渚囧枛椤兘鐛Ο灏栧亾闂堟稒鎲告い鏃€娲熼弻锝夋偐閸欏宸堕梺鍛婁緱閸樺ジ鎮¢崒鐐粹拺閺夌偞澹嗛ˇ锕傛煟濡も偓閿曘儳绮氭潏銊х瘈闁搞儺鐏涜閺屾稑鈽夐崡鐐寸亪濠电偛鎳岄崐婵嗩潖閾忓湱鐭欐繛鍡樺劤閸擃剟姊洪崨濠冨鞍缂佽瀚伴獮鎴﹀閻橆偅鏂€闂佹悶鍎弲婵嬫儊閸儲鈷戠紒瀣濠€鎵磼鐎n偄鐏ラ柍璇茬Ч閺佹劙宕担鐟扮槣闂備線娼ч悧鍡欐崲閹烘绀嗗ù鐓庣摠閻撳繘鏌涢銈呮瀾闁稿﹥鍔栭〃銉╂倷閹绘帗娈茬紓浣稿€圭敮鐐哄焵椤掑﹦鍒伴柣蹇斿哺瀵煡顢楅埀顒勫煘閹达附鍊烽柡澶嬪灩娴犳悂鏌﹂崘顔绘喚闁诡喖缍婂畷鍫曞煛娴i攱顫曟繝娈垮枛閿曘劌鈻嶉敐澶婄闁绘ǹ顕ч悘鎶芥煣韫囷絽浜炲ù婊冪埣濮婄粯鎷呴挊澶婃優闂侀潻缍囬梽鍕┍婵犲洤鐐婃い鎺嗗亾缂佺姵鐓¢弻鏇$疀閺囩倫娑㈡煛閳ь剚绂掔€n偄鈧敻鏌ㄥ┑鍡欏嚬缂併劋绮欓弻娑欑節閸曨偂妲愬┑顔硷攻濡炶棄螞閸愵煁褰掑Χ閸℃瑦鍒涢悗瑙勬礃閿曘垺淇婇幖浣肝ㄦい鏃囨閺嬬姵绻濋悽闈浶ラ柡浣告啞閹便劑鎮滈挊澶嬬€梺鍛婄☉閿曘儵宕h箛娑欑厽闁硅揪绲鹃ˉ澶愭煛鐎b晝绐旈柡宀€鍠栧鑽も偓闈涘濡差喚绱掗悙顒€绀冩い顐㈩樀婵$敻宕熼姘敤濡炪倖鍔﹀鈧紒顔肩埣濮婅櫣绱掑Ο铏圭懆闂佽绻戝畝鍛婁繆閻㈢ǹ绀嬫い鏍ㄦ皑椤斿﹪姊洪悷鎵憼缂佽绉电粋鎺楁嚃閳哄啰锛滈梺缁樺姦閸撴瑩宕濋妶鍡愪簻妞ゆ挾濮撮崢瀵糕偓娈垮枛椤兘骞冮姀銈嗗亗閹艰揪缍嗗Σ鍫曟煟閻斿摜鐭婄紒缁樺浮瀵偊顢欑亸鏍潔闂侀潧楠忕槐鏇㈠储娴犲鈷戦悷娆忓閸斻倖銇勯弴銊ュ箹閻撱倝鏌熺紒銏犳灍闁绘挻鐟﹂妵鍕籍閸屾粍鎲樺┑鐐茬墛缁捇寮婚埄鍐╁闁荤喐婢橀~宥夋⒑鐠団€崇仭婵☆偄鍟村畷瑙勩偅閸愨晛娈ゅ銈嗗笂閻掞箑鈻嶉敃鈧埞鎴︽偐閸偅姣勬繝娈垮櫘閸欏啴鐛箛娑樼妞ゆ棁鍋愰ˇ銊ヮ渻閵堝懐绠伴柛鐔哄閵囨瑩骞庨懞銉㈡嫽婵炴挻鍩冮崑鎾绘煃瑜滈崜姘辩矙閹捐鐓橀柟鐑橆殕閻撴洟鏌¢崒婵囩《閼叉牠姊洪悷鎵暛闁搞劌缍婇崺鐐哄箣閻橆偄浜鹃柨婵嗙凹缁ㄨ崵绱掗幇顓犫槈妞ゎ亜鍟存俊鍫曞幢濡⒈妲梻浣烘嚀閸熻法绮旈悷鎵殾妞ゆ劏鎳¢弮鍫濆窛妞ゆ棁顫夌€氳棄鈹戦悙鑸靛涧缂佽弓绮欓獮澶愭晬閸曨剙顏搁梺璺ㄥ枔婵敻鎮″▎鎾寸叄闊浄绲芥禍婵嬫倶韫囨洘鏆柡灞界Х椤т線鏌涢幘纾嬪妞ゎ偅绻堟俊鎼佹晜閼恒儳褰挎繝寰锋澘鈧捇鎳楅崼鏇炵厴鐎广儱鎳夐弨浠嬫煟濡搫绾ч柟鍏煎姉缁辨帡鎮╅崹顐㈡畬闂傚洤顦甸弻銊モ攽閸℃瑥顣洪梺閫炲苯鍘哥紒顔界懄娣囧﹪骞栨担鍝ュ幐闂佺ǹ鏈划灞筋嚕閹惰姤鈷掑ù锝呮啞閹牓鏌涢悢鍝勨枅鐎规洘鍨块獮妯肩磼濡厧骞堥梺纭呭閹活亞妲愰弴銏℃櫖鐎广儱娲ㄧ壕濂稿级閸碍娅呭ù鐘洪哺椤ㄣ儵鎮欓弶鎴犵懆闁剧粯鐗曢湁闁挎繂鎳庣痪褔鎮楀顐ょ煓婵﹦绮幏鍛村川闂堟稓绉虹€殿喚鏁婚、妤呭礋椤掆偓娴狀參姊洪棃娴ュ牓寮插☉姘辩焼闁稿本澹曢崑鎾诲礂婢跺﹣澹曢梻浣告啞濞诧箓宕滃☉銏犲偍闁汇垹鎲¢埛鎴︽煙椤栧棗瀚々浼存⒑缁嬫鍎忛柟鍐查叄閹儳鐣¢幍顔芥畷闂侀€炲苯澧撮柛鈹惧亾濡炪倖甯掗崰姘缚閹邦厾绠鹃柛娆忣槺閻帞鈧鍣崑鍡涘箯閻樺樊鍟呮い鏂垮悑椤撳灝鈹戦悙宸殶濠殿喗鎸抽、鏍箛閺夋寧鐎梺鎼炲労閸撴岸鎮¢悢鍏肩厵闂侇叏绠戝楣冩煕閻旈绠婚柡灞剧洴閹瑩宕归锝嗙槗婵犳鍠栭敃锔惧垝椤栫偛绠柛娑樼摠閸ゅ秹鏌曟竟顖欒閸嬫挻绻濋崶銊㈡嫼闂傚倸鐗冮弲婵堢矓閸撲胶纾奸柣妯挎珪瀹曞矂鏌e☉鍗炴灕缂佺姵绋戦埥澶娾枎閹邦収浠ч梻鍌欐祰濞夋洟宕抽敃鍌氱闁跨噦鎷�...

三,程序清单

/*********************************************
系统名称:电风扇简易定时控制器
创键人:w418781840日期:2008.7.6
系统功能:
**********************************************/
/*********************************************
函数名称:声明区
功能描述:
**********************************************/
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineSEGP0//数码管段选.
#defineDIGP2//数码管位选
uchardis[2];//数码驱动组
ucharcodeTAB[]={0xC0,0xF9,0xA4,0xB0,0x99,//0-4共阳.
0x92,0x82,0xF8,0x80,0x90,0xff};//5-9,熄灭符
ucharstart,stop,close,sum,time;//各其本变量
ucharfliflag,cflag,zflag,x,y;//各标志位
uintcount_T0,count_T1,c_count;//计数变量
sbitK1=P3^7;//功能移位键
sbitK2=P3^2;//加一键和切换移位键.
sbitK3=P3^3;//减一.
sbitRLED=P2^2;//红灯,表风扇转动状态.
sbitYLED=P2^3;//黄灯,表风扇暂停状态
sbitBLED=P2^4;//蓝灯,表系统状态
sbitCLED=P2^6;//风扇控制位
sbitZLED=P2^7;//系统工作控制位
/*********************************************
函数名称:延时1MS函数
功能描述:显示调用.
**********************************************/
voiddelay1ms(ucharx)
{
uchari,j;
for(i=0;i<X;I++)
for(j=0;j<120;j++);
}

/*********************************************
函数名称:显示函数
功能描述:显示分走时,两位显示.
**********************************************/
voiddisplay(void)
{
uchari,scan=1;
for(i=0;i<2;i++)
{SEG=0xff;
DIG=~scan;
SEG=TAB[dis[i]];
delay1ms(5);
scan<<=1;
}
}
/*********************************************
函数名称:延时5MS函数
功能描述:按键消抖调用.
**********************************************/
voiddelay5ms(ucharx)
{
ucharj;
for(j=0;j<X;J++)
display();
}

/*********************************************
函数名称:初始化函数
功能描述:各变量初始化.
**********************************************/
voidinit()
{fliflag=0;//闪烁标志.
cflag=1;//风扇状态标志.
zflag=0;//转动标志.
x=30;//暂存
y=10;//暂存
CLED=1;//系统工作.
sum=0;//移位
start=30;//风扇转动时间
stop=10;//暂停时间.
close=5;//系统关闭剩余时间
count_T0=0;//T0,T1相关
count_T1=0;
c_count=0;
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
}
/*********************************************
函数名称:分离函数
功能描述:分离显示十位,个位
**********************************************/
voiddisnner(void)
{if(cflag==1)//1
{RLED=0;YLED=1;BLED=1;//红灯闪烁.
time=start;//显示转动时间.
}
if(cflag==2)
{RLED=1;YLED=0;BLED=1;
time=stop;
}
if(cflag==3)
{RLED=1;YLED=1;BLED=0;
time=close;
}
dis[0]=time/10;
dis[1]=time%10;
}
/*********************************************
函数名称:T0中断函数
功能描述:产生1分钟.
**********************************************/
voidtimer0(void)interrupt1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++count_T0==1200)//一分钟.
{count_T0=0;
if(zflag==0)//为0
{ZLED=1;//则转动.
if(start!=99)//转动时间为99,显示99,不切换标志.一直转动.
{
start--;//不,则倒计时.
if(start==0)
{zflag=1;//倒时时间到.切换标志.
cflag=2;
start=x;//重赋值
}
}
}
else
{ZLED=0;//否则暂停.
stop--;//倒计时计数.
if(stop==0)
{cflag=1;//时间到.
zflag=0;
stop=y;
}
}
if(close!=99)//系统时间为99,显示99,系统一直工作..
{if(++c_count==60)//对一分计数60,即一小时后.
{c_count=0;
close--;//做一小时倒计时.
if(close==0)//时间到,系统断电.
CLED=0;//低电平有效.
}
}
}
disnner();//分离.送显示/
}
/*********************************************
函数名称:T1中断服务函数
功能描述:调整时间闪烁用.
**********************************************/
voidtimer1(void)interrupt3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
if(++count_T1==6)//闪烁周期30MS
{
count_T1=0;
fliflag=~fliflag;//切换
if(fliflag==0)//标志有效.
{
if(sum==1)cflag=1;//选用状态闪烁.
if(sum==2)cflag=2;
if(sum==3)cflag=3;
disnner();//闪烁用.
dis[0]=10;//放熄灭符.
dis[1]=10;
}
else//否则,正常显示.
{
RLED=1;YLED=1;BLED=1;
dis[0]=time/10;
dis[1]=time%10;
}
}
}
/*********************************************
函数名称:键扫描函数
功能描述:调整时间
**********************************************/
voidscanner(void)
{if(K1==0)//为0,表有键按下.
{
delay5ms(100);//延时500MS.
if(K1==0)//还按下.刚退出.
{
while(K1==0)display();//等待释放.
delay5ms(2);//消抖.
cflag=1;//退出显示状态1.
count_T0=0;
TR0=1;//启动T0
TR1=0;//关闪烁
sum=0;//归位.
x=start;//暂存.
y=stop;//暂存.
}
else
{//否则,有移位键按下.
TR0=0;//时间走动停止.
TR1=1;//开闪烁.
sum++;//移位.
if(sum==4)
sum=1;
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top