日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 電路:P0.0、P0.1 分別外接一個 LED,輸出高電平時,LED 發(fā)光?!  2.0 外接一個按鍵。請“不用延時程序”寫個這樣的程序:當按鍵不按的時候,LED(D1)先以1秒的時間快閃三下,然后再以3秒的時間慢

電路:P0.0、P0.1 分別外接一個 LED,輸出高電平時,LED 發(fā)光。
   P2.0 外接一個按鍵。
請“不用延時程序”寫個這樣的程序:
當按鍵不按的時候,LED(D1)先以1秒的時間快閃三下,然后再以3秒的時間慢閃三下。
若按下按鍵后,LED(D2)先以1秒的時間快閃三下,然后再以3秒的時間慢閃三下。
是不用“不用延時程序”寫的哦。(*^__^*)……

問題補充: 請用C語言寫。
當按鍵按下、松開,都應該立即轉(zhuǎn)到相應的 LED 先以1秒的時間快閃三下,然后再以3秒的時間慢閃三下。


;============================================
最佳答案:“不用延時程序”,就是要求用定時器控制時間,這和時鐘程序的思路是相同的。
下列程序,已經(jīng)調(diào)試成功:
//-----------------------------------------------
#include

unsigned char n_25ms, M1_n, M2_n, Last_p2, in_p2;
unsigned char code O_c[] = {
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00};
bit TT_f;
//-----------------------------------------------
void main()
{
P0 = 0;
TMOD = 0x01;
TH0 = (65536 - 12500) / 256;//12.5ms@12MHz
TL0 = (65536 - 12500) % 256;
TR0 = 1;
ET0 = 1;
EA = 1;
n_25ms = 0;
M1_n = 0;
TT_f = 0;
Last_p2 = P2;
while(1) ;
}
//-----------------------------------------------
void T0_INT() interrupt 1
{
TH0 = (65536 - 12500) / 256;//12.5ms@12MHz
TL0 = (65536 - 12500) % 256;
n_25ms++;
//**********************************按鍵檢測與狀態(tài)的變換
in_p2 = 8;
if (P2 == 255) in_p2 = 0;
M2_n = 8;
if (TT_f) M2_n *= 3;
if (P2 != Last_p2) {
Last_p2 = P2;
n_25ms = M2_n;
M1_n = 0;
TT_f = 0;
}
//**********************************
if (n_25ms == M2_n) { //如果到預定的時間
n_25ms = 0; //清零
M1_n++; //輸出下一個數(shù)據(jù)
if (M1_n == 8) { //輸出8個了?
M1_n = 0; //清零
TT_f = ~TT_f; //變更狀態(tài)
}
P0 = O_c[M1_n + in_p2];//輸出數(shù)據(jù)
}
}
//-----------------------------------------------
注意,P0口需要加上上拉電阻。
;============================================

;============================================
后記:

這個題目的要求有些令人費解,即要有定時中斷,還有按鍵的檢測,按鍵不變時,輸出還要有兩種花樣。

有人給出了如下的建議:
-------------------------------------------------
用定時器嗎!你先做出1秒的基準,3個基準就是3秒。
主函數(shù)用:
if(按鍵標志位位0) {
for(循環(huán)3次) {點亮LED1,一秒后,滅LED1}
for(循環(huán)3次) {等3秒,點亮LED1,3秒后,滅LED1}
else {
for(循環(huán)3次) {點亮LED1,一秒后,滅LED1}
for(循環(huán)3次) {等3秒,點亮LED2,3秒后,滅LED2}
}
沒有寫定時程序,自己寫吧
回答者: ---------- | 四級 | 2011-9-29 11:19
-------------------------------------------------
這個回答,缺少按鍵變化時,“即時”更改顯示位置的功能,LED 閃爍的也明顯不對。
這個回答,在主程序里面,放了這么多的循環(huán)!呵呵,這也太占用 CPU 的資源了。
這個回答,可以到原題網(wǎng)址看到原文。

做而論道寫的程序,思路和定時時鐘、定時的交通燈,基本一致。
在中斷函數(shù)中,僅僅用下面幾行,就進行了按鍵檢測與狀態(tài)的變換:

//**********************************按鍵檢測與狀態(tài)的變換
in_p2 = 8;
if (P2 == 255) in_p2 = 0;
M2_n = 8;
if (TT_f) M2_n *= 3;
if (P2 != Last_p2) {
Last_p2 = P2;
n_25ms = M2_n;
M1_n = 0;
TT_f = 0;
}
//**********************************

這些程序,每隔 12.5ms 才執(zhí)行一遍,執(zhí)行時,也用不上幾十微秒,對系統(tǒng)資源的占用,是很微小的。
這樣,主函數(shù),就幾乎可用全部的時間,執(zhí)行各種程序。

做而論道編寫的程序,完全沒有使用那么多的循環(huán),同樣可以滿足題目的要求,大家可以自己實驗。

上述的程序是如何解釋的,這就不好說了,讀者的水平參差不齊,有緣者自己領會吧。
;============================================


本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

廈門2026年3月27日 /美通社/ -- 當前,全球Mini/Micro LED產(chǎn)業(yè)正邁入產(chǎn)業(yè)化爆發(fā)的黃金周期,新型顯示技術加速重構(gòu)全球產(chǎn)業(yè)格局、重塑行業(yè)競爭秩序。三安光電湖北有限公司作為公司布局Mini/M...

關鍵字: LED MICRO 三安光電 NI

這款節(jié)省空間的器件在 5 mA電流下可提供高達 252 mcd 的發(fā)光強度, 能夠呈現(xiàn)CIE 1931色域內(nèi)色域三角形中的每一種顏色

關鍵字: 芯片 RGB LED

中國 上海,2026年3月25日——照明與傳感創(chuàng)新的全球領導者艾邁斯歐司朗(SIX:AMS)今日亮相2026第二十一屆汽車燈具產(chǎn)業(yè)發(fā)展技術論壇暨上海國際汽車燈具展覽會(ALE)。本屆ALE以“光馭未來:智能、綠色與安全的...

關鍵字: 智能前照燈 LED

March 4, 2026 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,隨著生成式AI興起,數(shù)據(jù)中心對高速傳輸?shù)男枨蟪掷m(xù)提升,原先應用在機柜內(nèi)(Intra-Rack)短距傳輸?shù)你~纜方案,將在傳輸密度與節(jié)能上面臨嚴...

關鍵字: 數(shù)據(jù)中心 生成式AI LED

奧地利Premst?tten /德國慕尼黑(2026年2月24日)——艾邁斯歐司朗(SIX: AMS)與深圳市美志光電技術有限公司(以下簡稱“美志光電”)就其在美國與德國市場未決的LED專利糾紛達成和解。

關鍵字: LED 發(fā)射器

Feb. 24, 2026 ---- 根據(jù)TrendForce集邦咨詢最新UV LED市場趨勢與產(chǎn)品分析,由于貴金屬、原物料與人工費用調(diào)漲,2026年第一季UV LED價格獲得支撐,客制化產(chǎn)品甚至有機會季增5%。在全球光...

關鍵字: LED 太陽光源模擬器

光耦合器對開關電源(SMPS)設計至關重要,它使得信號能夠安全、可靠地跨越電氣隔離邊界傳輸。而光耦合器的性能取決于適當?shù)钠眉霸诜答伩刂骗h(huán)路內(nèi)的正確集成;配置錯誤會導致不穩(wěn)定、瞬態(tài)響應不佳和調(diào)節(jié)性能下降。本文分為兩部分,...

關鍵字: 光耦合器 開關電源 LED

隨著汽車向移動智能終端演進,車內(nèi)座艙體驗成為競爭焦點。動態(tài)流水氛圍燈作為提升科技感與個性化體驗的關鍵配置,正從中高端車型快速滲透至更廣泛的車型市場。在這一趨勢下,如何在強化視覺交互的同時控制成本,成為產(chǎn)業(yè)鏈共同面對的核心...

關鍵字: 動態(tài)氛圍燈 驅(qū)動芯片 LED

這個項目是為我物理計算課程中的數(shù)據(jù)可視化項目而設計的。其核心理念是通過 LED 燈帶來展示飛機在天空中的位置,每盞 LED 燈都代表著一個位置。這些燈光會隨著飛機的活動而移動并改變顏色。

關鍵字: LED REST API 樹莓派 繼電器

該項目展示了在基于 FreeRTOS 的系統(tǒng)(運行于 Arduino Uno 上)中實現(xiàn)安全的數(shù)據(jù)共享訪問的實現(xiàn)方式。

關鍵字: LED ADC 數(shù)據(jù) Arduino
關閉