峰回路轉的技術生涯 - 周立功電子從業(yè)經(jīng)歷回顧一:初生牛犢不怕虎

2014年04月17日 10:53 來源:周立功博客 作者:周立功 我要評論(0)

標簽:微處理器(82360)周立功(37597)

  初生牛犢不怕虎——峰回路轉

  如饑似渴

  周立功技校畢業(yè)后,分配在工廠當維修電工。一個偶然的機會,他通過雜志了解到個人電腦Altair 8800誕生的故事。Altair-8800只有256字節(jié)的數(shù)據(jù)RAM,4KB的程序ROM,不僅沒有顯示器和鍵盤,而且更加見不到鼠標,這是一臺沒有監(jiān)控程序的計算機,用戶只能用二進制機器語言為這臺計算機編程。先將程序的16進制操作碼和操作數(shù)用手工轉換成二進制寫在紙上,然后通過撥動面板上的開關來完成。

  由于自學《開關電路》時,動手制作過電子計數(shù)器,因此他很快就聯(lián)想到用撥碼開關、上拉電阻和下拉電阻來產(chǎn)生二進制高低電平。當開關向上推進時,因為上拉電阻的作用而輸出高電平,發(fā)光二級管點亮代表高電平;而當開關向下推進時,因為下拉電阻的作用而輸出低電平,發(fā)光二極管熄滅代表低電平。先撥好地址碼,接著再撥好數(shù)據(jù)碼,最后按下寫入鍵,而每撥動一遍相當于輸入一個字節(jié)。

  他感到無比激動,看到了未來的希望,夢想著有一天自己也能制作一臺這樣的計算機。于是他到處向人請教,但幾乎沒有人能夠回答他提出的問題。這時他通過父親的大學同學陳應球老師,找到了畢業(yè)于浙江大學電機系的劉吉和老師。在劉老師的指導下,他對計算機的大致工作原理才有了粗淺的了解。

  在遇到困難實在學不下去時,他壯著膽子給《電路分析基礎習題解答》的作者,原湘潭基礎大學校長程應森教授寫信,在程應生教授的指導下,周立功堅持自學了李翰蓀教授編著的《電路分析基礎》。同時幫助他從理論到實踐分析工作中遇到的問題,整理成文章發(fā)表在《電世界》等雜志。對于技校畢業(yè)的周立功來說,那是多么大的鼓勵啊,進一步激發(fā)了他堅持學習的決心。南方的夏天不僅很熱,而且蚊子多,大家都在外面納涼。周立功深深地明白,他不能浪費寶貴的青春,再苦再累也要堅持自學下去。于是他想到了一個既可以降溫,還可以起到驅蚊效果的辦法,將雙腳放在裝滿井水的水桶里,不知不覺地學習到了深夜。

  期間因為工作需要,他又向東北電子研究所王功伯研究員學習紅外加熱技術,深入學習了建筑熱物理學、溫度場、輻射場與黑體理論,以及相關的光學知識,后來周立功撰寫了《工業(yè)低溫輻射遠紅外加熱技術》系列論文,在湖南大學的《現(xiàn)代節(jié)能》雜志連載,全國各地的讀者來信上千封,成就感油然而生,極大地提升了他的自信心。由于藝多不養(yǎng)家,因此他選擇了放棄這個課題的研究。但是在艱難的自學之路上,他又前進了一大步。

  后來叔叔介紹周立功到湖南大學找他當年在廣播站的徒弟何誠教授,從而認識了湖南大學電氣工程系電子技術教研室主任肖鴻猷教授。在肖鴻猷教授的鼓勵和幫助下,每個學期周立功都請假到湖南大學旁聽。實驗時,很多學生按照實驗指導的流程做一遍,交完實驗報告就走了。所不同的是周立功非常珍惜這來之不易的學習機會,從不放過實驗過程中的任何細節(jié),比如,當波形出現(xiàn)毛刺或畸變時,他總是想法設法改進電路直到完美為止,并將遇到的現(xiàn)象和解決的方法詳細地記錄在實驗報告中。在肖鴻猷教授的悉心指導下,周立功徹底搞清楚了計算機的工作原理。

  鍥而不舍

  為了制作計算機,周立功已經(jīng)到了如癡如醉的地步,不論到哪里總是帶著與計算機和數(shù)字電路有關的大學教材。首先從存儲器的讀寫控制電路開始做起,當時他不會繪制PCB板,于是裝作用戶跑到湖南省計算所去請教?;貋砗?,他用鉛筆在繪圖紙上走好線,然后貼到覆銅板上鉆孔,等打好孔后才知道,原來他用的機械制圖的坐標紙的格子,與PCB板的繪圖紙尺寸是不同的。他打聽到這種繪圖紙是遼寧本溪制造的,于是通過在沈陽軍區(qū)的大伯買到了專用繪圖紙。沒有制作雙面板的條件,怎么辦?周立功在覆銅板的背面通過跳線,將過孔用電阻、電容多余的引腳將線連起來,于是就形成了雙面板。

  1.存儲器的讀寫(1)

  如果僅讀寫256個字節(jié),那么只要地址線A0~A7,同時將不要的地址線A8~A14全部接地,其尋址范圍為0000 0000B~1111 1111B,因此需要8個地址開關才能滿足尋址要求,還要8個LED燈作為地址信號顯示器。由于存儲器只有數(shù)據(jù)線D0~D7,同樣要8個數(shù)據(jù)開關用于產(chǎn)生數(shù)據(jù)和8個LED燈作為數(shù)據(jù)信號顯示器。/CE常用在多存儲器電路中作為片選線,當/CE為邏輯1時,則禁止器件工作,反之則選中該器件,即將/CE接地使其處于工作狀態(tài),然后再連接存儲器讀寫控制開關,即構成存儲器讀寫電路。

  當按下/WR鍵時,將由數(shù)據(jù)開關KD0~KD7所產(chǎn)生的數(shù)據(jù)寫入由地址開關KA0-KA7所產(chǎn)生的地址存儲“房間”。當按下/RD鍵時,將由地址開關KA0~KA14所確定的地址存儲“房間”的電平數(shù)據(jù)反映在存儲器D0~D7數(shù)據(jù)線上。由于KDi(i = 0~7)的狀態(tài)不是0就是1,因此從存儲器讀出的數(shù)據(jù)與KD0~KD7產(chǎn)生的數(shù)據(jù)在總線上勢必發(fā)生沖突。顯然,當將數(shù)據(jù)從存儲器讀出時,則必須斷開數(shù)據(jù)開關KD0~KD7與數(shù)據(jù)總線D0~D7的聯(lián)系。

  當將上述準備工作做好后,此時只要接通電源,即可向SRAM寫入數(shù)據(jù)。

  首先將地址開關KA0~KA7全部撥為0,即存儲器的8位地址數(shù)為0000 0000B,LED地址顯示器全部熄滅。此時,如果將數(shù)據(jù)開關KD0~KD7也全部撥為0,即與0000 0000B地址對應的數(shù)據(jù)為0000 0000B,再按下/WR鍵將數(shù)據(jù)0000 0000B寫入到存儲器的0000 0000B單元。接著將KA0~KA7撥為0000 0001B,同時將KD0~KD7撥為0000 1111B,再按下/WR鍵將數(shù)據(jù)0000 1111B寫入到存儲器的0000 0001B單元。重復上述操作方法撥動地址開關和數(shù)據(jù)開關,再按下/WR鍵……直到全部數(shù)據(jù)寫入完畢為止。

  

  存儲器讀寫控制電路原理圖(1)

  檢查數(shù)據(jù)的操作首先用跳線器連接/EN與Vcc(/EN=1),關閉74HC125三態(tài)緩沖器,斷開數(shù)據(jù)開關KD0~KD7與數(shù)據(jù)總線D0~D7之間的聯(lián)系。先將地址開關撥為0000 0000B,接著按下/RD鍵,此時即可在LED數(shù)據(jù)顯示器上讀到先前輸入的數(shù)據(jù)(注意,必須在鍵被按下時才能看到)。再將地址開關撥為0000 0001B,然后再按下/RD鍵就能在顯示器上讀到+1地址的數(shù)據(jù)……

  綜上所述,當/EN=0寫使能信號同步打開74HC125三態(tài)緩沖器時,KD0~KD7所產(chǎn)生的數(shù)據(jù)接入總線,此時只要按下/WR鍵,則將數(shù)據(jù)寫入到存儲器相應的單元中。一旦數(shù)據(jù)輸入完畢,當/EN=1讀使能信號同步關閉74HC125三態(tài)緩沖器時,此時只要按下/EN鍵,不管KD0~KD7是高電平或低電平,則輸出均為高阻態(tài),從而保證數(shù)據(jù)開關KD0~KD7退出總線控制。

  1. 存儲器的讀寫(2)

  如果感到用跳線器來改變/EN信號狀態(tài)比較麻煩,我們也可以設計一個讀/寫使能控制電路,詳見圖 1.2。其中的S1為Read讀使能鍵,S2為寫使能鍵。

  

  圖 1.2 讀/寫使能控制電路

  當S2(Write)鍵按下時,U10B輸入端5被拉為低電平,U10B輸出高電平驅動寫狀態(tài)LED燈點亮。同時U10A輸入端2也轉換為高電平,U10A輸入端1由電阻R47上拉為高電平,因此U10A輸出低電平作為/EN(Data)使能信號打開74HC125三態(tài)緩沖器,此時由KD0~KD7手動數(shù)據(jù)輸入電路產(chǎn)生的8位二進制數(shù)據(jù),通過8個已開通的三態(tài)緩沖器送到存儲器的數(shù)據(jù)總線D0~D7。在此狀態(tài)下只要選定好地址,設置好數(shù)據(jù),就可以對存儲器寫入數(shù)據(jù)了。

  在讀取數(shù)據(jù)時,先按下S1(Read)鍵,U10A輸入端1被拉為低電平,U10A輸出高電平。同時U10B輸入端4也轉換為高電平,U10B輸入端5由電阻R48上拉為高電平,所以U10B輸出6低電平使寫狀態(tài)LED燈熄滅,表示當前狀態(tài)為讀數(shù)據(jù)操作。即U10A的輸入端2為低電平,則U10A輸出高電平作為/EN(Data)使能信號關閉74HC125三態(tài)緩沖器,其輸出高阻態(tài)相當于斷開數(shù)據(jù)開關KD0~KD7與數(shù)據(jù)總線D0~D7之間的聯(lián)系,從而使存儲器的輸出數(shù)據(jù)不會受到數(shù)據(jù)輸入電路的影響。

  此時,僅需在KD0~KD7分別串聯(lián)8個三態(tài)緩沖器(2片74HC125)即可滿足上述要求,詳見圖 1.3。

  

  圖 1 .3 存儲器讀寫控制電路(2)

  當將/EN置1(用跳線器連接Vcc與/EN)時,即可關閉三態(tài)緩沖器,其輸出高阻態(tài)相當于斷開數(shù)據(jù)開關KD0~KD7與數(shù)據(jù)總線D0~D7之間的聯(lián)系。此時,只要按下/RD鍵,即可將數(shù)據(jù)從存儲器讀出。當將/EN置0(用跳線器連接GND與/EN)時,即可打開三態(tài)緩沖器,則KD0~KD7產(chǎn)生的數(shù)據(jù)通過三態(tài)緩沖器傳遞到數(shù)據(jù)總線上。此時,只要按下/WR鍵,即可將數(shù)據(jù)寫入存儲器。

  相關鏈接:周立功電子從業(yè)經(jīng)歷回顧二:柳暗花明又一村

上一頁12全文

本文導航