如何利用51單片機(jī)設(shè)計(jì)計(jì)時(shí)器實(shí)現(xiàn)開啟,暫停計(jì)時(shí),暫停顯示,復(fù)位功能?
- 資格考試
- 2023-08-24 07:57:09
你好,想問你一下,如何用51單片機(jī)設(shè)計(jì)一計(jì)時(shí)器00.00到99.99,并且具有啟動(dòng)計(jì)時(shí)復(fù)位清零功能?
用單片機(jī)設(shè)計(jì)一個(gè)計(jì)時(shí)器,這很簡單,用四位數(shù)碼管顯示兩位整數(shù)、兩位小數(shù),用定時(shí)器定時(shí)10ms,就是0.01s,采用中斷方式對10ms計(jì)數(shù),最大數(shù)為9999,就是99.99秒了。再用兩個(gè)按鍵,51單片機(jī)中用數(shù)碼管做秒表時(shí)怎么用一個(gè)獨(dú)立按鍵控制開始和暫停,即第一次按下計(jì)時(shí),在按下時(shí)暫停?
其實(shí),控制秒表的啟動(dòng)和停止,很簡單。要做秒表,一定要用定時(shí)器吧,假如用T0,那開始初始化時(shí),不寫TR0=1,先不啟動(dòng)。 當(dāng)按一下鍵,再啟動(dòng),TR0=1,就開始計(jì)時(shí)了。 再 按一下鍵,就停止,TR0=0,就不計(jì)時(shí)了。 程序好寫,先 定義一個(gè)按鍵 sbit key=P1^1; //具體是哪個(gè) 鍵,你自己改 主程序中,判斷按鍵和啟動(dòng)/停止 if(key==0) { delay(); //具體延時(shí)時(shí)間自己定 if(key==0) { TR0=!TR0; //每按一次,取反 一次 while(key==0); } }51單片機(jī)中如何通過一個(gè)按鍵實(shí)現(xiàn)暫停與恢復(fù)?需要一個(gè)編程的思想
1、創(chuàng)建項(xiàng)目文件。
2、按鍵:S1=P3^2,點(diǎn)亮: led=P1^5。
3、創(chuàng)建C語言主函數(shù)。
4、創(chuàng)建循環(huán)效果,檢測效果。
while(1)
{
}
5、創(chuàng)建選擇效果。
6、當(dāng)按下時(shí),即暫停與恢復(fù)。
如何利用51單片機(jī)實(shí)現(xiàn)一個(gè)計(jì)時(shí)器?
方法一:用定時(shí)器中斷計(jì)時(shí)模式循環(huán)計(jì)時(shí)。 方法二:用CPU消耗時(shí)鐘周期指令計(jì)時(shí)(浪費(fèi)資源)。 思路: 用定時(shí)器中斷計(jì)時(shí),溢出時(shí)形成中斷信號(hào),標(biāo)識(shí)為一個(gè)基本周期t,所定時(shí)間T/t=n為周期循環(huán)數(shù),到時(shí)形成定時(shí)觸發(fā)信號(hào)。如何用c語言編程51單片機(jī)程序,滿足從0-4小時(shí)計(jì)時(shí),有清零,開始,暫停功能?
展開全文閱讀
上一篇
為什么全科通過考試但仍舊收到預(yù)定新考試的郵件?
下一篇
返回列表