
從上面的程序中可以看出:在C8051F020軟件編程中須首先設(shè)置看門狗定時器的工作狀態(tài),其次,要由內(nèi)部振蕩器控制寄存器OSCICN設(shè)置采用內(nèi)部時鐘還是外部時鐘工作,若選擇外部時鐘可通過外部振蕩器控制寄存器OSCXCN來選擇適當(dāng)?shù)念l率,本題目采用內(nèi)部時鐘,并通過時鐘控制寄存器CKCON選擇使用系統(tǒng)時鐘的12分頻。再次,若選擇的I/O口是低四個端口P0~P3作為工作口,需要設(shè)定寄存器XBR0、XBR1、XBR2(復(fù)位值為0),在本設(shè)計中未用到數(shù)字資源,故XBR0、XBR1的值為復(fù)位值,只需設(shè)定XBR2的值為40H允許功能選擇開關(guān)即可,若本設(shè)計中的P1.2換為P4.2,則無需設(shè)定寄存器XBR0、XBR1、XBR2,因為高端口P4~P7與交叉開關(guān)無關(guān)。最后還要選擇所用I/O口的輸出方式,P0、P1、P2、P3口分別由POMDOUT、P1MD-OUT、P2MDOUT、P3MDOUT端口輸出方式寄存器來選擇,寄存器中的某位置0為漏極開路輸出方式,置1則為推拉輸出方式。另外,由于C8051F020的專用寄存器比一般51單片機(jī)多,而8051指令不能識別它增加的專用寄存器,公司提供了所有的專用寄存器及相應(yīng)位的地址定義文件,用戶只需加一條$include(C8051F020.inc)指令即可。 該程序只需將與上面提到的幾點(diǎn)相關(guān)的指令去掉即為80C51的源程序(程序中已標(biāo)示)。當(dāng)然這僅僅是一個簡單的例子,并不能完全說明所有不同之處,但可說明它們典型的不同點(diǎn)。
5 結(jié)束語
C8051F020與80C51單片機(jī)的指令系統(tǒng)完全兼容,給用戶使用帶來了極大的方便,但它們的硬件結(jié)構(gòu)不同,因此在使用上有所區(qū)別,只有了解了它們之間的異同點(diǎn),才能更好地對C8051F020進(jìn)行開發(fā)利用,充分發(fā)揮它的先進(jìn)功效。





