首先用1個IO口在我看來無法實現。
你要實現單片機控制另一個單片機,就得實現單片機之間的通訊,實現通訊有很多種基本的通訊方式:UART、SPI等等,而這些通訊方式基本上都需要2個IO口(還有一些模塊,如無線、藍牙模塊這些)。
1. LCD和LED的顯示原理不一樣:LED是加正向電壓發光,而LCD必須交替加正、反向電壓才會持續顯示(可以做個實驗,如果把恒定電壓加到LCD的一段上,該段會顯示一下,但馬上不能顯示,而且長時間加恒定電壓,會加速LCD的老化和損壞)
2. 常聽說1/2bias,1/3bias LCD,是什么意思呢?對于1/2bias LCD,假如LCD的顯示電壓是3V,則1/2bias是1.5V,也就是說在±3V電壓作用時,LCD有顯示;±1.5V及以下的電壓作用時沒有顯示
3. 普通單片機IO口不能直接輸出半高電平(1.5V),但可以用相等的上下拉電阻實現,當IO口設置為輸入(高阻)時,由于上下拉電阻的分壓作用,則產生一個半高電平(1.5V)
知道了以上3點后,動態驅動LCD就不是難事了,對于4*8段的LCD(4個COM,8個SEG,顯示電壓為3V,1/2bias),驅動方法如下:
1、 四個COM采用交替掃描的方式,每個COM在相鄰兩次掃描時又進行電壓交變的方式。
2、 若掃描到某一個COM時,該COM輸出3V(0V):
與該COM相連的SEG輸出與COM相反,ΔV=±3V,則該相連點亮;
與該COM相連的SEG輸出與COM相同,ΔV=0,則該相連點不亮。
3、其他沒有掃描到的COM,單片機IO口為輸入,從而產生1/2 bias(1.5V),不管SEG為何值,ΔV<±1.5V,故該點不亮。
你可以針對這個教程,做一個實驗,昨天在本地略微的嘗試了一下,非常完美。加油~