pin19)。注意標出晶體頻率(選用12mhz),還有輔助電容30pf 3、接復位:res(pin9)。接上電復位電路,以及手動復位電路,分析復位工作原理 4、接配置:ea(pin31)。說明原因。 二、單片機內部i/o部件:(所為學習單片機,實際上就是編程控制以下i/o部件,完成指定任務) 1、四個8位通用i/o端口,對應引腳p0、p1、p2和p3; 2、兩個16位定時計數器;(tmod,tcon,tl0,th0,tl1,th1) 3、一個串行通信接口;(scon,sbuf) 4、一個中斷控制器;(ie,ip) 三、針對at89c52單片機,頭文件at89x52.h給出了sfr特殊功能寄存器所有端口的定義 四、c語言編程基礎: 1、十六進制表示字節0x5a:二進制為01011010b;0x6e為01101110。 2、如果將一個16位二進數賦給一個8位的字節變量,則自動截斷為低8位,而丟掉高8位。 3、++var表示對變量var先增一;var—表示對變量後減一。 4、x|=0x0f;表示為x=x|0x0f; 5、tmod=(tmod&0xf0)|0x05;表示給變量tmod的低四位賦值0x5,而不改變tmod的高四位。 6、while(1);表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;} 五、在某引腳輸出高電平的編程方法:(比如p1.3(pin4)引腳) #include<at89x52.h>//該頭文檔中有單片機內部資源的符號化定義,其中包含p1.3 voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 { p1_3=1;//給p1_3賦值1,引腳p1.3就能輸出高電平vcc while(1);//死循環,相當loop:gotoloop; } 注意:p0的每個引腳要輸出高電平時,必須外接上拉電阻(如4k7)至vcc電源。 六、在某引腳輸出低電平的編程方法:(比如p2.7引腳) #include<at89x52.h>//該頭文檔中有單片機內部資源的符號化定義,其中包含p2.7 voidmain(void)//void表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 { p2_7=0;//給p2_7賦值0,引腳p2.7就能輸出低電平gnd while(1);//死循環,相當loop:gotoloop; } 七、在某引腳輸出方波編程方法:(比如p3.1引腳) while(1)//非零表示真,如果為真則執行下面循環體的語句 { p3_1=1;//給p3_1賦值1,引腳p3.1就能輸出高電平vcc p3_1=0;//給p3_1賦值0,引腳p3.1就能輸出低電平gnd }//由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波
上一页 [1] [2]
|
|