本文主要描述 PCF8563 的中斷輸出功能,并給出相應的范例。范例實現每1s 從/ INT腳產生一次中斷輸出的功能。用戶可以修改范例中定時器時鐘源和倒計數數值寄存器的值,以得到滿足自己需要的中斷輸出周期,輕松實現PCF8563 中斷輸出功能。
上傳時間: 2013-11-08
上傳用戶:阿譚電器工作室
用EasyFPGA030開發套件,游戲電路是模擬乒乓球比賽,可供兩人游戲。甲乙各持一按鍵作為球拍,實驗板上一行16只發光二極管為乒乓球運動軌跡,用一只亮點代表乒乓球,它可以在此軌跡上左右移動。擊球位置應在左右端第2只發光二極管位置,若擊球鍵恰好當球到達擊球位置時按下,則發出短短的擊球聲,球即向相反方向移動,若按鍵偏早或偏晚,則擊球無效,無球聲發出,球將繼續向前運行至移位寄存器末端,并停止在該位置上不動也可以設計為亮點熄滅,此時判擊球者失敗,記分板上給勝球者加1分,再經過1s后,亮點自動按乒乓球比賽規則移到發球者的擊球位置上,發球者按動擊球按鍵,下一次比賽開始。
標簽: 模擬
上傳時間: 2013-11-12
上傳用戶:hopy
溫濕度傳感器 sht11 仿真程序 sbit out =P3^0; //加熱口 //sbit input =P1^1;//檢測口 //sbit speek =P2^0;//報警 sbit clo =P3^7;//時鐘 sbit ST =P3^5;//開始 sbit EOC =P3^6;//成功信號 sbit gwei =P3^4;//個位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//報警音 sbit bjled =P0^1;//報警燈 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取轉換結果 uchar seth;//高時間 uchar setl;//低時間 uchar seth_mi;//高時間 uchar setl_mi;//低時間 bit hlbz;//高低標志 bit clbz; bit spbz; ///定時中斷程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//產生時鐘 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延時/////// delay(int i) { while(--i); } ///////顯示處理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定時0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //開始計時 ET0=1; //開定時0中斷 EA=1; //開全中斷 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上傳時間: 2013-11-07
上傳用戶:我們的船長
溫濕度傳感器 sht11 仿真程序 sbit out =P3^0; //加熱口 //sbit input =P1^1;//檢測口 //sbit speek =P2^0;//報警 sbit clo =P3^7;//時鐘 sbit ST =P3^5;//開始 sbit EOC =P3^6;//成功信號 sbit gwei =P3^4;//個位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//報警音 sbit bjled =P0^1;//報警燈 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取轉換結果 uchar seth;//高時間 uchar setl;//低時間 uchar seth_mi;//高時間 uchar setl_mi;//低時間 bit hlbz;//高低標志 bit clbz; bit spbz; ///定時中斷程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//產生時鐘 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延時/////// delay(int i) { while(--i); } ///////顯示處理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定時0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //開始計時 ET0=1; //開定時0中斷 EA=1; //開全中斷 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上傳時間: 2013-10-16
上傳用戶:黃蛋的蛋黃
流水燈 使用定時器控制,使發光二極管按照D8-D1,每隔1s滅一個的順序循
上傳時間: 2014-06-09
上傳用戶:ecooo
計數器0的實驗程序 intT0 取時鐘電路產生計數脈沖,程序使用計數器控制,使發光二極管按照D8-D1,每隔1s滅一個的順序循環
標簽:
上傳時間: 2015-07-04
上傳用戶:13215175592
紅外發射接收程序 1.圈數測量:紅外一體化接收頭,通過外部中斷引腳,1個信號加1 2.單位時間:定時器0,提供1s的時間信息 3.顯示單元:8位共陰數碼管,P0控制數碼,P2控制位碼 4.根據頻率,控制狀態
上傳時間: 2015-08-23
上傳用戶:wfl_yy
素數統計快速算法,采用分段賽選,統計10^9 以內素數個數時間在1s以內。
標簽: 快速算法
上傳時間: 2015-09-21
上傳用戶:youmo81
數字時控器 題目要求: 1、 在定時范圍1分鐘內,用開關設置兩個任意時刻t1和t2,到t1時能夠自動啟動某一過程,t2時停止該過程. 2、 定時精度1s 3、 時間由數碼管顯示. 4、要求計數器具有異步清零功能,計數控制功能
上傳時間: 2014-01-20
上傳用戶:ma1301115706
基于Intel 8253定時器的兩端Asm,包括配套電路,流程圖 1。設計基于ISA總線的Intel 8253 的接口電路,用Intel 8253 的1個通道作定時器,演奏C調的各個音符,利用查表程序的方法依次演奏,每個音符演奏1s,停0.5s 演奏三遍后退出程序 2。利用Intel 8253的一個通道產生一個100Hz的方波,用示波器測試信號的正確性 以產生的方波作為另一個通道門控信號。利用此通道測量其高電平的寬度,在PC機顯示屏上顯示其數值并退出程序
上傳時間: 2014-01-07
上傳用戶:aysyzxzm