中断した理解

1541 ワード

51チップマシン割り込み源は5つあり、それぞれ外部割り込み0、外部割り込み1、タイマ0、タイマ1、シリアルポート割り込みである.大学の授业の本にしても、参考书にしても、単片机の本の中には一连のびっしりとした知识点が书かれていて、最后にコードを叩いて、それから多くの初心者が最初から最后まで勉强して、どのように书くか知っているようですが、书くことができません.この文章を読んでいる仲間たちは、あなたができるかどうかにかかわらず、できないかにかかわらず、編集者は私が当時どのように中断した経験を共有して、もっと多くの仲間たちが早く本を離れて、自作プログラミングの時代を開くことができます!!
さあ、本題に入りましょう.いったい何が中断したのですか.このプロセスを中断するには、プログラマーは何をする必要がありますか?私たちはこの2つの問題を持って、私たちがなぜ中断しなかったのかを探しています.まず、
1、使用したい割り込みはどれですか.該当するシーケンス番号を選択します.2、トリガーしたい条件は何ですか.3、中断してから何をしたいですか.
中断は何ですか.はっきり言って、例えばあなたは家でテレビを見て、それから電磁炉で水を煮てお茶を飲むつもりです.水がまだ開いていないときはもちろんテレビを見ていますよね.水が沸くまで待ってください.もちろん、水が沸くと信号があります.では、電磁炉を消したいと思ってください.この電磁気炉を消す動作はいわゆる中断である.電磁炉を消した後、お茶を飲んで、テレビを見たり、他のことをしたりします.中断後のこの過程は私たちの上の問題の3つ目です.中断後に何をしたいですか.さあ、皆さんも何が中断したのか分かりましたよね?私たちは本の書く内容のように複雑ではありません.私たちにとって、どのように51単片機を中断させ、それから、必要なものがあれば本を調べます.では、51単片機の中断をどのように書きますか?まず、主関数には、外部割り込み0を例に、次のコードがあります.
void main()
{
  EA=1;      //       ,  1    ,  0    
  EX0=1;    //      0,       1  EX1=1;
  IT0=0;    //      ,0       ,1       
  //       1  IT1=?
}
         
void interrupt_0()interrupt 0   //             
{
      ........................
}

多分以上の2つのステップです!次にプログラムコードを見てみましょう.中断の魅力を感じてみましょう.
#include
#define uchar unsigned char    //   
#define uint unsigned int   
sbit led=P1^0;                         //
void Delay(uint del)    //10             
{
        uint i,j;
        for(i=0; i