大家都知道高性能的stc單片機是目前使用得越來越多的單片機,也是一款性能特別高的單片機,在這我給大家介紹一些使用這種單片機時應該注意的問題,這樣我們大家就能更好的使用它。
一個寄存器的設置不同,讓我程序調了好幾天!5555555~~~~~~~超汗~~~~
這個寄存器就是(I/O口工作類型設置)即PxM0,PxM1。
為什么這么郁悶呢?
我一開始用的是STC12C5410AD系列單片機,這個系列的單片機I/O口類型配置如下:
PxM0 PxM1 I/O口模式
0 0 準雙向口,普通8051 I/O 口模式
0 1 推挽輸出
1 0 高阻
1 1 開漏
我程序中要用的是PxM0=0x00; PxM1=0x01 也就是某I/O口(Px.0)設為推挽輸出; 程序正常按設定情況順利進行。
過了一個星期,我用STC12C5A60S2系列單片機來寫程序,其單片機I/O口類型配置如下:
PxM1 PxM0 I/O口模式
0 0 準雙向口,普通8051 I/O 口模式
0 1 推挽輸出
1 0 高阻
1 1 開漏
我程序用的也是PxM0=0x00; PxM1=0x01 以為這個口也設成推挽輸出(在寫這個之前沒去認真看上面I/O口配置),結果就是程序不能按期進行啊!!
總是以為程序的其它地方錯了,或者是硬件有問題。程序改啊,硬件又重新連啊。。這樣重復了好幾好幾遍!!
(55555~~~~~~太汗)其實呢,我也看過了好幾次這款單片機的I/O口類型配置。總是被以前那款單片機
(STC12C5410AD)的配置思維左右!!。
可見STC的這一款單片機不同系列相同功能寄存器的配置還不一樣!!!!!!!!!!!!!!
也就是這一點,花了我幾天的時間來搞!幸虧有51hei單片機論壇上的朋友幫助才搞定,所以搞學問還是不能麻虎啊。