电子开发 | 基础入门 | 电路原理图 | 婵犳鍠栭オ鎾垂娴煎瓨鍤嬪ù鍏兼綑閻愬﹪鏌熼鍡楁噺濠㈡牗绻涢幘瀵稿暡闁瑰嚖鎷� | PLC闂備胶纭堕弲鐐测枍閿濆鈧線鏁撻敓锟�   闂備線娼уΛ妤呮晝閵堝鈧懓顦圭€殿喚枪楗即宕橀埡鍐х钵婵犵數鍋涘Λ搴ㄥ垂閸濆嫸鑰块柟娈垮枤閸楁碍绻涢崱妯兼噮缂佲偓婢舵劖鍋i柛銉墯閺侀亶鎮楃喊澶嬪 Ctrl+D 闂備礁缍婂ḿ褔顢栭崨顔藉弿闁冲搫鎳庣紒鈺呮煙椤栨粌顣兼い銉﹀灴閺屻劌鈽夊Δ鍐ㄥ闂佸憡鏌ㄩ幊鎰板箯椤愶箑顫呴柍銉ュ帠閹查箖姊哄Ч鍥у閻庢凹鍙冨顐︻敋閳ь剟鐛幇顓熷缁剧増锚娴滈箖鏌ㄩ悤鍌涘濠电偞鍨堕幐鎾磻閹剧粯鍋g憸宥夊床閺屻儺鏁嗛柣鏂挎憸閳绘洟鏌eΟ澶稿惈妞ゅ繘浜堕幃纭咁槾闁哄苯顦遍幑銏犖熸笟顖涙〃闂侀潧顦介崹宕囩矆婢舵劖鐓熼柕蹇嬪€栧☉褔鏌i埄鍐噧妞ゆ洩缍侀崺鈧い鎺戝閻鏌熺€电ǹ孝缂佹梻鍋撶换娑㈠幢閹邦剛浼囩紓浣筋嚙椤戝鐛崘顔光偓锕傚箳閺冨偊绱�.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闂佸疇妫勯幊鎰板极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换鎴炴櫠濠婂牆绀冪€光偓鐎n剛顦梺鍝勭墐閸嬫捇鏌¢崒娑橆棆濠⒀勵殜婵″瓨绻濋崟顒佹瘎闁诲孩绋掗崝妤呭极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换妤咁敇閸濄儳涓嶆俊銈傚亾婵炲懏甯℃俊瀵糕偓锝呭缁€澶愭煟椤厾绁烽柣顓㈢畺瀹曟顢楅埀顒傛閿熺姴钃熼柕澶樼厛閸ゅ嫰鏌熼棃娑卞剰闁哥儑鎷� 闂佹椿婢€缁插鎯屾ィ鍐ㄧ妞ゆ巻鍋撶紒鎲嬬磿閹峰鏁嶉崟顓熸瘓闂侀潻绲婚崝濠囧焵椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
闂佸疇妫勫Λ妤€鐣烽崟顒€绶為柍杞扮贰閸斿懎霉閸忚壈澹樼€规洜鍠栭幃褔宕堕妸锔剧毣闁诲骸婀遍崑妯兼閿燂拷100 c闁荤姴娴傞崣鈧柍浼欐嫹 chm闂佸搫绉堕崢褏妲愰敓鐘参ラ柛灞剧箘閵堫偊鏌¢崒娑氭噧闁哥偛顕埀顒€婀遍、濠囶敋濞戞氨纾奸柛鈽嗗幘缁€澶愭偡閺囩偞顥犳繛鎻掞攻缁楃喓鈧綆浜為幗宥咁熆閼哥數鍟茬紒杈ㄧ箞瀹曟﹢宕ㄩ褍鏅eΔ鐘靛仩閿熴儵鍩€椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

单片机彩灯是怎样点亮

作者:佚名    文章来源:本站原创    点击数:2123    更新时间:2009-11-27

如用要获得0.5秒的时间,而单片机的指令周期是1μs0.5秒是1μs5000000倍,所以在程序编写中常用循环语句来完成时间的延长。而空循环一次操作需要2个机器周期的时间(注:这是在用无符号字符型变量作循环变量的情况下,同时是用变量减循环,具体可参看反汇编指令“DJNZ 存储单元 ,目标地址”的说明 ),下面就是一个完成0.5秒延时的程序。

程序是用C51编写的,由于C语言本身不依赖于硬件,便于在不同的单片机进行程序移植。C51与标准C语言主要语句是完全相同的,在程序编写中有不同的地方,在本书的附录中有较为详细的叙述,请参看附录B

void delay05s(void) //延时0.5秒子程序

{

unsigned char i,j,k; //声明三个无符号字符型变量i,j,k

for(i=5;i>0;i--)   //外循环,每次循环约0.1s,共延时为5*0.1s=0.5s

for(j=200;j>0;j--)//每次循环约0.5ms,所以延时约为200*0.5ms=100ms=0.1s

     for(k=250;k>0;k--);//最里面的循环,延时约为250*2us=500 us=0.5ms

}

完成发光二极管以1Hz的闪烁程序设计框图如图2-3所示。

LED

LED

程序开始

延时0.5

延时0.5

                            2-3 1Hz的闪烁程序设计框图

点亮一只发光二极管的完整的程序:(samp2-1.c

#include "reg51.h"              //包含头文件

#define uchar unsigned char   //为了书写简单,定义uchar表示无符号字符型

#define uint unsigned int   //定义uint表示无符号整型

#define ulong unsigned long //定义ulong 表示无符号长型

sbit light=P2^0;      //定义light变最表示P2.0

void delay05s(void) //定义延时0.5秒子函数,函数名为delay05s

{

unsigned char i,j,k;//声明i,j,k为无符号字符型变量

for(i=5;i>0;i--)   //外循环,每次循环约0.1s,共延时为5*0.1s=0.5s

for(j=200;j>0;j--)//每次循环约0.5ms,所以延时约为200*0.5ms=100ms=0.1s

     for(k=250;k>0;k--);//最里面的循环,延时约为250*2us=500 us=0.5ms

}

void main(void)               //主函数

{

while(1)                    // * while循环,当条件为真时(只有0为假)执行下面的循环体,由于条件恒为真,所以构成无限次循环 */

   {

     light=0;                //P2.0端输出低电平,使LED

     delay05s();             //延迟0.5

   light=1;               // P2.0端输出高电平,使LED

     delay05s();             //延迟0.5

   }

}

2、跑马灯

#include "reg51.h"              //包含头文件

#define uchar unsigned char    

void delay05s(void)     //延时0.5秒子程序

{

unsigned char i,j,k;

for(i=5;i>0;i--)  

for(j=200;j>0;j--)

     for(k=250;k>0;k--);

}

void main(void)               //主函数

{

   uchar i,j;

    while(1)                    //无限循环

   {

     j=0x01;

    /* j初始化为0X01,即0000 0001 */

    for(i=0;i<8;i++) // for循环,条件为i<8,执行下面的循环体,完成8次循环

      {

        P2=~j;

    /* ~j取反。j初始值为0X01,即0000 0001,将j各位取反后为1111 1110,输出到端口信号为“0LED就亮,为“1LED熄灭 */

        delay05s();      //延迟0.5

        j=j<<1;         /* j<<1为变量j中的值左移一位,最低位补“1,结果“0依次左移一位,发亮的LED也就左移一位*/

      }

   }

}

3 任意变幻的LED

控制程序如下(samp2-2.c):

#include "reg51.h"              //包含头文件

#define uchar unsigned char    

#define uint unsigned int

#define ulong unsigned long

//定义显示花样数据的数组

uchar dispcode[8]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff };

void delay05s(void) //延时0.5秒子程序

{

unsigned char i,j,k;

for(i=5;i>0;i--)  

for(j=200;j>0;j--)

     for(k=250;k>0;k--);

}

void main(void)               //主函数

{

   uchar i;

    while(1)                    //无限循环

   {

   

     for(i=0;i<8;i++)      //循环8次,实现显示8个对应花样

      {

        P2=dispcode[i];   /*数组dispcode中的各位数据就是LED所显示花样,

                            其中的0对就的LED亮,1对应的位LED     */

        delay05s();        //延迟0.5

      }

   }

}


Tags:单片机,彩灯,led,程序  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
闂佹眹鍨藉ḿ褔鎮哄▎蹇e殨闁逞屽墴瀹曪綁骞嬮悩鐢敌ч梺鎸庣⊕绾板秹鎯囪ぐ鎺撯挅闁糕剝鐟﹂崑鍛存煕濮橆剛澧曢柟顔兼川閻氶箖鎳¢妶鍡樻瘎闁诲孩绋掗崝鏇㈠春濡や焦濯存繝濞惧亾缂佹鐭傞幃鑺ユ媴閸愵亞鍞撮梺鎼炲劚婢ц棄鈻撻幋鐘电>闁瑰濮疯ぐ鏌ユ煥濞戞﹩鍞筶c閻庤鎮堕崕鑼暜閸洖绠柍褜鍓熷鐢告晸閿燂拷,濠碘槅鍨界槐鏇㈠极閹间礁鏋侀柟娈垮枟閺嗏晠鏌i婊冨姤闁伙讣鎷�,闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夌紒鈥宠唺A缂備焦绋戦ˇ閬嶆偤閹达附鏅ù锝堟閻ゎ噣鏌﹂埀顒勫礃椤忓懏姣勯柣鐘辫閸ㄦ澘霉濡偐纾鹃柟瀵稿Х瑜拌尙绱掗钘夊姢鐎规洘娲熼弫宥囦沪閼规壆顦伴悗瑙勬偠閸庢娊鍩㈤懖鈺傛殰闁割偅绻傞悘锟犳⒑椤愩倕小闁绘粠鍨跺畷鎰箔鐞涒€充壕闁稿本渚楅崑銊╁级閳轰線顎楅柛娅诲啠鏋栭柕濞垮劙缁ㄥ啿菐閸ワ絺鍋撻崘鎻掔稻婵炴潙鍚嬮〃鍛般亹閸ф鏅慨妯块哺閺嗏晠鎮楀☉娆忓缂佽鲸鍨垮畷锝夊箣閻樼數效闂佹寧鍐婚幏锟�
最新推荐
闁荤姍鍐仾闁哄绻濆畷鐘诲川椤掑倻鎲柡澶屽剳閹凤拷
 [闂傚倷绀侀幉锟犮€冮崱妞曞搫饪伴崟顒佺彿闂佸搫绋侀崢鑲┾偓姘槸铻栭柨鏇氱劍绾爼鏌曢崼顐喊闁哄矉绻濆畷鎺楁晜閽樺浼�]闂傚倷绀侀幉锟犲Φ閻愮數鐭嗗〒姘e亾濠碘€崇仛瀵板嫮浠︾粙澶稿濠电偞鍨电壕顓犳閹殿喚纾奸柛娆惷畵鍡欌偓瑙勬穿缁绘繂顕i幘顔藉亹鐎瑰壊鍠楀В鍫ユ⒒娴e憡鎯堥柣妤€妫濋獮鏍敃閿旇棄浠鹃梺鍛婃处閸撴盯鎮疯ぐ鎺撶叆闁绘洖鍊圭€氾拷100 c闂備浇宕垫慨鏉懨归崟顖氱闁跨噦鎷�
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]婵犵數鍋為崹鍫曞箰閹间絸鍥┾偓鍦О娴滃湱绱掗埀顒勬倻閻娀姊虹拠鎻掝劉闁告劘宕电槐鎾愁潩閸楃偛袣闂佸憡娲﹂崜娑€€呴悜鑺ュ仯闁诡厽甯掓俊浠嬫煕閳轰礁鈧灝顕i崼鏇熷€婚柛鈩冾殘娴犙冣攽閻愬弶锛嶉柡渚囩厺-TR
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]LM324闂備礁鎼ˇ顐﹀疾濠婂牆绀夐柡宥庡幖濡﹢鏌ㄩ悤鍌涘4~20mA闂備礁鎼ˇ閬嶅磿閹达箑绠柨鐕傛嫹1~5V闂傚倷鐒﹂惇褰掑垂瑜版帗鍊舵慨妯夸含閻牓鏌ㄩ悤鍌涘
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]LM386婵犵绱曢崑娑橈耿鏉堚晛鍨濇い鏍仦閸婂灚銇勯幒宥囧妽濠殿垱鎸抽弻鐔煎箲閹伴潧娈銈嗘煥閿曨亪寮诲☉婊呯杸闁瑰灝鍟崜璺侯渻閵堝啫鍔滈柟鐟版搐椤曪綁濡搁埡浣虹暰閻熸粌顑嗙粋宥夋晲婢跺鍘遍梺鎸庣箓閸燁偅淇婃總鍛婂仺妞ゆ牓鍊栫€氾拷
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]936闂傚倷鑳剁划顖滄暜閹烘鏅濋柕鍫濈墑娴滃綊鏌熺紒銏犳灍闁稿鍔岄湁闁挎繂鎳庨弳鐔兼煟閺傛寧鍤囬柡灞剧☉铻i柣鎾冲閻忎線姊虹拠鈥虫灈闁挎洦浜滈悾鐑藉醇閺囩喐娅㈤梺璺ㄥ櫐閹凤拷
 [闂傚倷绀侀幉锟犮€冮崱妞曞搫饪伴崟顒佺彿闂佸搫绋侀崢鑲┾偓姘槸铻栭柨鏇氱劍绾爼鏌曢崼顐喊闁哄矉绻濆畷鎺楁晜閽樺浼�]闂備胶鍎甸崜婵堟暜閹烘绠犻幖娣妽閺咁剟鏌熼柇锕€鍘撮柡瀣墵閺屾洝绠涢妷褏锛熼梺闈涚墛閹告娊骞冭ぐ鎺撳仏閻庢稒锚椤忥拷+濠电姷鏁搁崑鐐哄箰閹绢喖鐤炬繛鎴炲焹閸嬫捇鎯傞崨濠傤伓+闂傚倷鑳堕、濠勭礄娴兼潙纾块柟缁㈠櫘閺佸棝鏌i弬鍨倯闁稿骸绉归弻娑㈠即閵娿儰绨荤紓浣插亾闁跨噦鎷�
 [闂傚倸鍊风欢锟犲磻閸涱収娼╅柕濞炬櫅閺嬩線鏌曢崼婵愭Ч闁稿鍔戝濠氬醇閻旀亽鈧帡鏌熼挊澶屝ч柟顔款潐閹峰懘鎮烽幍顕呮О婵$偑鍊栭幐鎼佸箟閳ョ繀缂氭い蹇撶墱閺佸秵绻涢崱妯哄Е闁稿鎷�]S7-200PLC闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬娴滅偤骞愰幒妤€顫呴柕鍫濇閸撴娊姊虹紒妯烩拹婵″弶甯¢獮蹇涱敃閳锋艾缍婇幃顏堝川椤旂⒈浼� S7_2
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]S7-200闂備礁婀遍崢褔鎮洪妸鈺佺濠电姵鑹鹃崙鐘绘煕閹般劍娅囨い鈺冨厴閹鎷呴崨濠呯缂備讲鍋撻柛鏇ㄥ灡閻撴洟鐓崶椋庢偧闁告ɑ绮庣槐鎺楀箟鐎n偄顏�,STEP7
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]ModbusPoll闂傚倷绀侀幉锛勫垝瀹€鍕垫晢闁绘牕鐛沚usSalve闂傚倷鑳舵灙濡ょ姴绻橀獮蹇涙晸閿燂拷
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]STEP7濠电姷顣藉Σ鍛村垂椤忓牆绀堟繝闈涚墐閸嬫挸顫濋鐘冲櫚闂佸搫鑻惌浣虹不濞戙垹妫橀悹鎭掑妽閳诲苯鈹戦悙宸殶濠殿喕鍗冲畷鎰板即閻樺搫小闂佽法鍣﹂幏锟� Smart_
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]Modbus闂備浇宕垫慨鎾敄閸涙潙鐤柟鎯板Г閸庡﹥銇勯弽銊х煀闁搞劍绻堥弻娑㈠箻濡も偓閸婅崵鎲撮敓锟� v1.024 缂傚倸鍊搁崐椋庢閵堝绠柨鐕傛嫹
 [闂備礁鎼ˇ閬嶅磿閹版澘鍨傛い鏍ㄥ焹閺嬪酣鏌曡箛瀣伄閻忓繒鏁婚弻銊╂偆閸屾稑顏�]Modscan32闂傚倷绀侀幉锛勫垝瀹€鍕垫晢闁绘牕鐛泂im32,modb
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]89c51闂傚倷鑳舵灙缂佺粯鍔欒棟闂侇剙绉甸崑鐔哥箾閹存瑥鐏╂俊顐o耿濮婃椽顢曢敐鍥剁伇闂傚倸妫楃紞濠囧蓟閿濆鏁傞柛鈩冾殕閻濄垻绱撴担浠嬪摵闁绘侗妲漮tues
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]婵犵數鍋為崹鍫曞箰缁嬫5娲Χ婢跺﹦顦版俊銈忕到閸燁偊宕掗妸鈺傜厱闁绘劖娼欒ⅷotues婵犵數鍋涢顓熸叏閹€鏋栭柡鍥╁剳閼板潡鏌ㄥ☉妯侯伀闁活厽鐟╅幃妤呮晲鎼存繄鏁栫紒鐐緲缁夌數鎹㈠┑濠庢Ъ闂佸憡姊归〃濠囧箖閵夆晜鏅搁柨鐕傛嫹
 [闂傚倷鐒﹀鍨熆閳ь剛绱掗幓鎺濈吋闁诡垰鐭傞幃娆擃敆閸屻倖绁梺鑽ゅУ娴滀粙宕濆澶婃槬闁稿瞼鍋為崑锝吤归敐鍥ㄥ殌缂佲偓閸愨斂浜滈柟鍨鐎氾拷]51闂傚倷绀侀幉锟犮€冮崱妞曞搫饪伴崟顒佺彿闂佸搫绋侀崢鑲┾偓姘樀閺屾稑鈹戦崱妤婁患闂佺鍐垮姛缂佽鲸甯為埀顒婄秬閸╂牜鈧熬鎷� protues婵犵數鍋涢顓熸叏閹€鏋栭柡鍥╁剳閼板潡鏌ㄩ悤鍌涘
闂佸搫鐗冮崑鎾绘煛閸屾粌顣奸柡瀣暟缁晠鏁撻敓锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询