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





