91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

我是初學者,遇到了些問題

我是初學者,遇到了些問題
1,假如說一個程序有3條語句,分別為1,2,3.是不是一個機器周期執(zhí)行一條語句
2,如果是外部中斷的話,假如在執(zhí)行到語句1時,有中斷指令,就先執(zhí)行中斷指令,然后再回來執(zhí)行語句2?
3,如果是定時器/計數(shù)器中斷,是不是在啟動TR=1時程序就開始在后臺進行+1的操作了,與此同時程序在同步進行?如果是的話,以定時器為例,我想在執(zhí)行完語句1后延時再執(zhí)行語句2,但是按照定時器的+1運算和程序語句執(zhí)行是同步的,要是在定時器的定時時間還沒到時,程序已經(jīng)運行到語句2了怎么辦?

謝謝大家! 我的QQ:530883031  xscn1986@163.com
互相交流!
全部回復(3)
正序查看
倒序查看
njyd
LV.8
2
2007-02-27 19:24
  1、對51系列來說,一條指令至少一個機器周期,還有兩個、三個機器的周期的.
  2、基本上對,還要允許中斷.
  3、定時器可以認為是與CPU互相獨立的電路,除了對定時器控制的指令外,其他語句對定時器運行無關(guān).定時器靠硬件+1.
  你可以在語句1和語句2之間加上檢測定時器狀態(tài)的語句,當定時器達到狀態(tài)時再運行語句2.
  也可以用定時器中斷,中斷時運行語句2.
  如果延時不長可以用一小段程序延時.
0
回復
2007-02-28 08:27
@njyd
  1、對51系列來說,一條指令至少一個機器周期,還有兩個、三個機器的周期的.  2、基本上對,還要允許中斷.  3、定時器可以認為是與CPU互相獨立的電路,除了對定時器控制的指令外,其他語句對定時器運行無關(guān).定時器靠硬件+1.  你可以在語句1和語句2之間加上檢測定時器狀態(tài)的語句,當定時器達到狀態(tài)時再運行語句2.  也可以用定時器中斷,中斷時運行語句2.  如果延時不長可以用一小段程序延時.
我舉個例子吧,簡單些的.
void main()
{
   語句1;
   語句2;
   語句3;
}

void 定時器1() interrupt 3
{
  TH1=......
  TL1=......
}

我的意思是,如果一個機器周期是0.5秒,而且一個機器周期執(zhí)行一條語句.
            定時器的延時時間是1秒.
            所以說當程序運行時,主程序和定時器在同時工作(定時器打開),主程序在
            語句1、2、3、1、2、3......的執(zhí)行,我的目的是當執(zhí)行完1時延時1秒再執(zhí)
            行2,但是實際情況當定時器計數(shù)器記滿溢出之后置相應的溢出標志時是1秒此
            時剛好主程序中執(zhí)行完語句2,于是就在2結(jié)束后延時1秒了,沒有達到我的目
            的.
0
回復
njyd
LV.8
4
2007-03-05 22:46
@電源插頭
我舉個例子吧,簡單些的.voidmain(){  語句1;  語句2;  語句3;}void定時器1()interrupt3{  TH1=......  TL1=......}我的意思是,如果一個機器周期是0.5秒,而且一個機器周期執(zhí)行一條語句.            定時器的延時時間是1秒.            所以說當程序運行時,主程序和定時器在同時工作(定時器打開),主程序在            語句1、2、3、1、2、3......的執(zhí)行,我的目的是當執(zhí)行完1時延時1秒再執(zhí)            行2,但是實際情況當定時器計數(shù)器記滿溢出之后置相應的溢出標志時是1秒此            時剛好主程序中執(zhí)行完語句2,于是就在2結(jié)束后延時1秒了,沒有達到我的目            的.
  俺一直用匯編,你的例子看的有點迷糊.
  看你的意思,好象是1、2、3一直在循環(huán).那么不管定時器有無溢出,一秒鐘內(nèi)語句1、2、3已經(jīng)運行許多許多次了.
  如果一定要在1后一秒再運行2,可以在1后面開定時中斷,然后進入空循環(huán),在定時中斷后再運行2.當然也可以運行其他程序,在中斷處理程序中運行2.
  如果主程序衡環(huán)時間很短,也可以在中斷程序中設一個標志,主程序循環(huán)中不斷檢查這個標志,見到標志置位才運行2.當然循環(huán)中如果不見標志置位要跳過2.
0
回復
發(fā)
主站蜘蛛池模板: 堆龙德庆县| 泰来县| 宁都县| 彰化县| 双牌县| 定南县| 稷山县| 太仓市| 桦南县| 隆林| 东阿县| 尖扎县| 文成县| 建德市| 通山县| 兴文县| 霸州市| 关岭| 张家界市| 且末县| 仁寿县| 建阳市| 崇义县| 福安市| 吐鲁番市| 永仁县| 鄢陵县| 岫岩| 靖安县| 临湘市| 新津县| 安西县| 新龙县| 淮北市| 瑞金市| 武安市| 蒙城县| 清徐县| 安庆市| 额尔古纳市| 衡南县|