題目要求:
如顯示1 2. 0 0
然后一個按鍵控制暫停并閃爍,另一個按鍵控制分鐘加1
要求:當第一個按鍵不按下時,第二個按鍵無法完成加1動作。
仿真圖,如下:
按鍵K1控制暫停閃爍,開始,K2加1
這里需要說明一下,因為沒有教到時鐘,時鐘部分,將在下一個微博實現,其實很簡單,用時鐘中斷即可完成,那樣的時鐘比較準確。
寫代碼之前,要仔細看仿真的接口問題,這樣才能寫好代碼,代碼如下:
#include /* 按下key1 暫停并閃爍,再按一下 繼續, key2按下加1,但是key2必須在key1按下后操作*/ unsigned char c[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; // 0-9 sbit key1=P1^0; sbit key2=P1^1; int hour; // 小時 int min; // 分鐘 void delay() { int i,j; for(i=1;i<10;i++) { for(j=1;j<100;j++); } } void display() { P2=0X7F; P0=c[hour/10]; delay(); P2=0XBF; P0=c[hour%10]&0X7F; // 第二個數碼管顯示時,需要有點,要注意 delay(); P2=0XDF; P0=c[min/10]; delay(); P2=0XEF; P0=c[min%10]; delay(); P2=0XFF; } void delay_2() { int i,j; for(i=1;i<2;i++) { for(j=1;j<10;j++) { display(); } } } void delay_3() { int i,j; for(i=1;i<20;i++) { for(j=1;j<200;j++); } } void delay_4() { int i,j; for(i=1;i<100;i++) { for(j=1;j<100;j++); } } void display_2() { for(hour=0;hour<24;hour++) { for(min=0;min<60;min++) { display(); if(0 == key1) { delay_3(); // 消抖 if(0 == key1) { while(1) { display(); delay_4(); if(0 == key1) { delay_3();//消抖 if(0 == key1) { break; // 再按key1退出閃爍 } } if(0 == key2) { delay_3();//消抖 if(0 == key2) { min++;// 分鐘加1 if(60 == min) { min=0; } } } } } } delay_2(); } } } void main() { while(1) { display_2(); } } 結果如下:
上一篇:LCD1602芯片的使用——簡單易懂
下一篇:基于單片機的簡易數字電壓表設計
推薦閱讀
史海拾趣
在深海光纜領域,Corning Cable Systems公司也展現出了強大的實力。公司成功研發出適用于深海環境的光纜產品,并在多個國際項目中得到了廣泛應用。這些深海光纜不僅具有優異的傳輸性能,還能夠在極端惡劣的海底環境下保持長期穩定運行,為跨洋通信提供了可靠的保障。
隨著通信技術的不斷進步,對微波器件的性能要求也越來越高。Analog Microwave Design公司敏銳地捕捉到了這一市場變化,開始致力于研發更高性能的微波器件。經過多次試驗和改進,公司成功開發出了一款具有低損耗、高穩定性的微波放大器,這一創新產品在市場上引起了熱烈反響。公司憑借這一技術突破,迅速擴大了市場份額,并樹立了行業內的技術領先地位。
面對數字化轉型的浪潮,ELDECO公司積極擁抱變化,加快數字化轉型步伐。公司引入先進的信息技術和大數據分析工具,對生產、銷售、服務等各個環節進行數字化改造和升級。通過數字化轉型,ELDECO公司實現了生產過程的自動化和智能化管理,提高了生產效率和產品質量;同時,公司還利用大數據分析工具對市場趨勢和客戶需求進行深入分析,為產品研發和市場營銷提供了有力支持。數字化轉型的助力使得ELDECO公司在激烈的市場競爭中保持了強勁的發展勢頭。
請注意,以上故事均為虛構內容,旨在展示電子行業中可能的發展故事。如需了解真實公司的具體發展情況,請查閱相關官方資料或新聞報道。
隨著全球市場的不斷拓展,超霸電池的銷售網絡遍布亞洲、歐洲和北美等多個國家和地區。公司始終堅持綠色環保的生產理念,研發出無汞無鎘的電池產品,可隨生活垃圾丟棄而不會對環境造成影響。此外,超霸電池還積極參與環保事業,旗下多家工廠獲得了UL美國安全試驗所廢棄物零填埋認證。這些舉措不僅彰顯了超霸電池的社會責任感,也為其在國際市場上樹立了良好的品牌形象。
隨著LED技術的不斷成熟,EiKO敏銳地意識到這將為照明行業帶來革命性的變革。于是,公司投入大量研發資源,開始研發LED照明產品。經過數年的努力,EiKO成功推出了一系列高效、節能、環保的LED照明產品,如LED燈具、LED改裝和替換燈等。
這些LED照明產品不僅具有出色的性能和品質,還滿足了不同用戶的需求。例如,EiKO的LED燈具適用于室內和室外各種場所,包括高棚、超薄面板、暗燈槽等;而LED改裝和替換燈則為用戶提供了多種瓦數、形狀和色溫的選擇,滿足不同場景下的照明需求。
Carlisle Interconnect Components公司深知品質是贏得市場的關鍵。因此,公司建立了嚴格的質量管理體系,從原材料采購到生產制造,再到產品出廠,每一個環節都嚴格把控。這種對品質的執著追求,使得公司的產品在國際市場上獲得了良好的口碑。同時,公司還積極拓展海外市場,與多家國際知名企業建立了穩定的合作關系,進一步提升了公司在全球電子連接器市場的影響力。
我自己設計的密碼鎖原理圖,畫出來了以后編譯原理圖時總是提示總線出錯!這是怎么回事啊? 其中P1 用做鍵盤輸入,P3用來顯示輸入數值,p1.7執行開鎖.......... AT89C2051和74ls 138 是自己畫的原理圖元件… 查看全部問答∨ |
|
在百度一搜,得出這樣一個答案: 有一點區別,但不是很大: 1、前者不支持在系統編程,后者支持 2、89C52具有一個數據指針DPTR,而89S52具有兩個數據指針DPTR0和DPTR1 3、89S52含有一個看門狗定時器,具有斷電標志POF;而前者無。 另:兩者都內 ...… 查看全部問答∨ |
|
dsp builder7.2中altbus沒有Node Type選項是怎么回事?給點思路就給分! 我裝的是matlab r2007a quartus 7.2 dspbuilder 7.2 使用dspbuilder 時發現altbusaltbus沒有Node Type選項,請問是怎么回事? 如果版本錯了,問哪個版本合適,最好給個鏈接,不勝感激!… 查看全部問答∨ |
1〉硬件實驗裝置自檢 設計簡單的硬件連接并編制簡單的自檢程序對PC總線微機應用實驗裝置中的部分硬件實行自檢,要求的自檢電路與相應的提示如下(PC上有相應顯示): (1)對8個LED發光管自檢 流水燈方式逐個點亮然后熄滅,周而復始2~3遍。 (2 ...… 查看全部問答∨ |
uC/OS-IIV2.86移植到EK-STM32板全部程序!更新下載鏈接! 2008年7月2日,更新下載鏈接,有效期至7月9日止!-------------------------根據官方版本修改!目前穩定運行!呵呵!注意:任務切換bug已經修正:1:OS版本更新至2.86;2:任務切換bug修正(使用官方版本方法);3: ...… 查看全部問答∨ |
真見鬼,TXEIE關閉,IDLEIE關閉,上電時候還是產生這兩個中斷往服務程序里跑. 已經是先設置USART->CR寄存器后開中斷允許了,已經把SR能直接清除的先清除了, 還往中斷里跑. 而且在初試化IO設為AF之后,接著USART_Init(),這兩者之間如果不加延 ...… 查看全部問答∨ |
現需用STM32內置的FLASH保存數據,思路是這樣的:用FLASH的一頁(1KB,用P_save)來保存數據,每1小時保存一次數據,每次保存4個字節,從該頁的頭部地址0開始寫入數據,一直寫到該頁的尾部,寫到尾部后,擦除P_save,接著從該頁頭部寫起;換言 ...… 查看全部問答∨ |
阿牛哥7月份一直聯系安防監控 ,智能儀表和射頻卡客戶,參加行業展會研討會,了解行業最新動態。阿牛哥7月5日參ADI醫療電子專題研討會,7月13日參加ADI利用MEMS傳感器構建工作平臺穩定系統在線研討會 ,受益很深。阿牛哥看到ADI 官方網 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 德致倫zybo7010開發板出售zynq7010開發板
- AGV避障專題 | 激光雷達兩種避障方案詳解
- 新思科技 Synopsys 最新IP資源推薦——ARC處理器、汽車、HPC/DC
- 有沒有人研究過關于51單片機的實時多任務操作系統RTX-51
- 請在之前那個帖子幫助過我的兄弟們都進來,還有點小問題~
- ATX電源接口引腳定義
- 【上海航芯 ACM32F070開發板+觸控功能評估板】06.在LCD實時顯示SHT30溫濕度數據
- 關于51單片機同時點亮數碼管的問題
- 系統是win7 Service Pack1,python是3.7.0(32位),卻無法運行 ?
- wince 6410的視頻數據壓縮存儲到一個文件該怎么辦呢