這裏用的是串口的方式0.方式0是和移位寄存器通訊的。此時TXD RXD不是象別的方式那樣 壹個發送,壹個接收。而是RXD 既可輸出 也可輸入,TXD做移位脈沖。收發數據必須是8位,比特率固定是晶振的1/12.當妳設置方式0後,它就自動把TXD作移位脈沖了。在TXD高電平時檢測RXD ,若是高電平,74HC164就讀進1,若是低電平,就讀進0.
簡單說壹下接收的過程:
先給REN置1,然後TXD置1,讀RXD狀態,高電平就接收1,低電平接收0;然後拉低TXD,略微延時後TXD再置高,讀RXD,高電平就接收1,低電平接收0,以此類推。知道讀完8個位。然後RI變高。
發送過程:
給SBUF寫進壹個數,就自動發送。發送1時RXD先變高,TXD再變高;然後TXD變低,發送0時RXD先變低,TXD再變高;然後TXD變低,以此類推。
上述過程都是自動完成的,不用專門編程。
TXD接時鐘線,怎麽保證就有時鐘脈沖呢
當妳給串口SCON設置方式0後,串口工作時系統自動叫TXD發送時鐘脈沖。