糖果現在單晶片越玩越上手,
甚至有點沉迷的地步=ˇ=|||
現在也能製作出單晶片的基本周邊電路了,
天啊....真的是跳坑了=口=|||
會不會哪天糖果還推出自有品牌平板呢?!
那我可能會限量銷售,維持保固品質,哇哈哈哈....
不過也希望會有人要買!!
不大量生產好像又浪費了成本?...
可不可以拿兩片玻璃夾心來做...
還真是不耐摔的平板...跑=3=
糖果只有有兩個晶片去控制8組七段顯示器喔XD
說真的,
實體電路與程式設計複雜度成反比,
晶片越多越簡單...越少越難設計=ˇ=|||
這是8951/8051最基本的電路,
左上方是石英震盪器,
負責產生時脈之用途XD
右邊為重置電路,就很像主機板的重新開機X=3=...
不過糖果沒有設計開關...反正只是臨時開發版,
不然燈管不好攜帶....
還要找高壓電...
用七段的話只要使用18650電池就好了XD
我發現我還真愛鋰電池=3=....
因為8051的IO能力真的很弱,
所以打算用7408反閘來強化XD
接好以後方現沒數字....笑
是不是反閘低電位時流不進去?...
耶應為輸出能力很弱,
所以就直接回流8051最快,
只是會造成亮度不足=ˇ=
以上是實際亮度...
因為加速快門,
所以就拍得出來掃描線XD
跟傳統電視一樣用掃描的=3=
帥吧XD
以下提供原始碼與解說~
//於數字管編號掃描,糖果提供學術用途。 #include <AT89X51.H>//宏定義,寄存器定位之用途無法運作請改#include <reg51.h> unsigned char code font[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x2A,0x1A,0x3A}; //0~9之陣列,10為左下點、11為右下點、12為兩個點。 unsigned char code scan[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //控制0~7號燈管之陣列 void delay(int ms);//延遲副程式宣告 main()//主程序 { char i;//宣告i值變數型態 while(1){//使單晶片無限迴圈 for(i=0;i<8;i++){//迴圈計數八次 P3=0xFF;//清除第i隻燈管顯示 P1=font[i];//調用code font陣列第i個的值,並使P1為陣列i紀錄之型態 P3=scan[i];//調用code scan陣列i紀錄之型態,使第i之燈管顯示i值 delay(5);//延遲五毫秒 }////迴圈計數八次尾端 }//使單晶片無限迴圈的尾端 }//主程序尾端 void delay(int ms)//延遲副程式 { int i,j;//宣告兩個變數型態 for(i=0;i<ms;i++)//迴圈遞減剩餘的毫秒數 for(j=0;j<120;j++);//迴圈空轉使單晶片經過1毫秒 }//延遲副程式尾端
0 則迴響於“8051/8951八個七段顯示器掃描顯示 - 世界線變動率探測儀專題計畫”