欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機定時器實驗程序
[打印本頁]
作者:
lx80072
時間:
2019-7-3 22:20
標題:
單片機定時器實驗程序
定時器計數器綜合實驗
P1接8個LED燈,P3.7接1個LED燈,點動開關接P3.2 (INT0),負跳變產生中斷,P3.3 (INT1)用低電平觸發中斷。系統時鐘6M。
編寫程序實現如下功能:
① 主程序9只LED燈上電全滅。
② INT0中斷程序實現:按一次啟動定時器T0,再按一次停止。停止后恢復到上電狀態。
③ INT1中斷程序實現:按一次啟動定時器T1,再按一次停止。停止后恢復到上電狀態。
④ 定時器T0實現:P3.7所接1個LED燈亮滅閃爍,亮滅時間各為1S。
⑤ 計數器T1實現:記錄由T1口所輸入脈沖個數,以二進制形式在P1口連接的8只LED燈上顯示出來。
(提示:低電平觸發及時恢復高電平,以免中斷重入)
程序如下:
#include<reg51.h>
#include<intrins.h>
sbit p3_7=P3^7;
char t;
char k=0;
void main()
{
TMOD=0x51;
EA=1;
EX0=1;
EX1=1;
ET0=1;
ET1=1;
IT0=1;
IT1=1;
TR0=0;
TR1=0;
TL0=(65536-15536)%256;
TH0=(65536-15536)/256;
TL1=0;
TH1=0;
p3_7=0;
P1=0;
while(1);
}
void key0()interrupt 0
{
TR0=!TR0;
if(TR0==0)
{
TR1=0;
k=0;
P1=0;
p3_7=0;
}
}
void time0()interrupt 1
{
TL0=(65536-15536)%256;
TH0=(65536-15536)/256;
t++;
if(t==10)
{
p3_7=!p3_7;
t=0;
}
}
void key1()interrupt 2
{
TR1=!TR1;
TH1=0xff;
TL1=0xff;
if(TR1==0)
{
TR0=0;
k=0;
P1=0;
p3_7=0;
}
}
void time1()interrupt 3
{
TH1=0xff;
TL1=0xff;
k++;
P1=k;
}
復制代碼
作者:
admin
時間:
2019-7-4 23:10
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1