|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
51單片機程序 |
| 作者:zbeee 欄目:單片機 |
大家好: 偶是單片機菜鳥!!!!剛學習做程序,現在想做1個這樣功能的程序!希望大家指教下!! 我用2051 P10 P11 控制2個LED 想用 P31 P32做2個按鍵 上電LED1亮LED2滅然后當按下1鍵時LED1滅LED2亮 同時程序延時50秒 若在50秒內2鍵按下則延時從頭開始 指示燈狀態(tài)不變 若50秒沒無鍵按下則回到初始狀態(tài) 請問大家程序怎么做好??急!!!!!!急!!!!!!急!!!! |
| 2樓: | >>參與討論 |
| 作者: zljzlj 于 2006/7/17 14:42:00 發(fā)布:
先想好了! 先自己畫個流程圖 50S延時要用中斷累加方法,開啟后記時,如中斷就從新開始,這樣就完成了你的50S延時以及相應程序,按鍵和燈最好也用狀態(tài)的方法。 Ok |
|
| 3樓: | >>參與討論 |
| 作者: liu40231 于 2006/7/18 11:32:00 發(fā)布:
這很簡單呀 提供一個大概的模板吧 #include <Reg52.h> #define uint unsigned int #define uCHAR unsigned CHAR bit ok,readT; unsigned CHAR ms,recnum,order; void init_51(); void delay(uint x); sbit LED0 =P1^0; sbit LED0 =P1^1; main() { CHAR x,i,k; unsigned int addr,j; init_51(); LED0=0; LED0=1; while(1) { if(ms>20) { ms=0; recnum=0; } } } void delay(uint wu) { for(wu;wu>0;wu--); } Timer0() interrupt 1 { ok=1; ms++; } void init_51() { TMOD=0x21; SCON=0x40; PCON=0x80; REN=1; TH1=0xff; TL1=0xff; ET1=0; ES=0; IT0=1; EX0=0; ET0=1; EA=1; TR1=1; TR0=1; } 真正的mp3-diy.我的mp3,我做主 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |