關(guān)于STC12C5410AD單片機PxM0,PxM1設(shè)置的問題
一個寄存器的設(shè)置不同,讓我程序調(diào)了好幾天!5555555~~~~~~~超汗~~~~
這個寄存器就是(I/O口工作類型設(shè)置)即PxM0,PxM1。
為什么這么郁悶?zāi)兀?
我一開始用的是STC12C5410AD系列單片機,這個系列的單片機I/O口類型配置如下:
PxM0 PxM1 I/O口模式
0 0 準(zhǔn)雙向口,普通8051 I/O 口模式
0 1 推挽輸出
1 0 高阻
1 1 開漏
我程序中要用的是PxM0=0x00; PxM1=0x01 也就是某I/O口(Px.0)設(shè)為推挽輸出; 程序正常按設(shè)定情況順利進行。
過了一個星期,我用STC12C5A60S2系列單片機來寫程序,其單片機I/O口類型配置如下:
PxM1 PxM0 I/O口模式
0 0 準(zhǔn)雙向口,普通8051 I/O 口模式
0 1 推挽輸出
1 0 高阻
1 1 開漏
我程序用的也是PxM0=0x00; PxM1=0x01 以為這個口也設(shè)成推挽輸出(在寫這個之前沒去認真看上面I/O口配置),結(jié)果就是程序不能按期進行啊??!
總是以為程序的其它地方錯了,或者是硬件有問題。程序改啊,硬件又重新連啊。。這樣重復(fù)了好幾好幾遍!!
(55555~~~~~~太汗)其實呢,我也看過了好幾次這款單片機的I/O口類型配置。總是被以前那款單片機
(STC12C5410AD)的配置思維左右??!。
可見STC的這一款單片機不同系列相同功能寄存器的配置還不一樣?。。。。。。。。。。。。。?
也就是這一點,花了我?guī)滋斓臅r間來搞!幸虧有51hei單片機論壇上的朋友幫助才搞定,所以搞學(xué)問還是不能麻虎啊。
評論