照著DATAsheet寫程式的一點體會!

2021-04-30 09:09:25 字數 2430 閱讀 8116

今天在實驗室,照著74hc595的資料手冊,寫了一段**,到底是沒有經驗的新手(以前都是拿別人的**來改的),在寫**的時候出現了很大的問題,但是我感覺收穫很多,所以現在總結下了。

首先,我現在體會到了source insight這個軟體的優越性,寫**很方便的啊,推薦下吧。

我在21ic74hc595datasheet,然後讀了第一頁的簡介,再看看引腳圖,功能表,波形圖(我感覺寫**的話,看這麼多就夠了)。

然後根據他的功能表和波形圖寫**,由於我以前一直使用的都是微控制器的**,所以今天寫的**是以前的微控制器**的格式。

今天的平台是周立功的arm7平台,cpulpc2210,這幾天學了arm,感覺arm比微控制器複雜多了,i/o輸出乙個值都要設定幾個暫存器(pinseliolclriosetiodir,不像微控制器那樣可以直接i/o輸出。

74hc595是乙個串入(串)並出帶輸出鎖存的ic器件(8-bit serial-in/serial or parallel-out

shift register with output latches)。

看看功能表,當stsh訊號同時上公升沿的時候(mr引腳為高,oe引腳為低),先前移位暫存器的內容被傳送到儲存暫存器並且進行並行輸出。因此我寫了第一段**讓i/o口輸出低電平,好讓stsh可以輸出乙個上公升沿。

序列輸出,就是一位位的傳送,所以我要寫乙個迴圈,功能是得到要輸出值的每乙個bit,(要是在寫微控制器程式,這可方便多了),在arm中,你無法直接讓你得到的這個bit直接賦給訊號線,所以還得處理一下,用if判斷,然後賦值(ioset)或者清除(ioclr)。在迴圈中利用sh的上公升沿把資料序列輸入(一共要8個上公升沿),再利用st的上公升沿並行輸出(只需要乙個)。

好鬱悶哦,就這麼小段的程式,把我忙得跌跌爬爬的,好陌生啊!

總結:我感覺寫**並不難,關鍵就是如何準確的閱讀它的datasheet,畢竟它是英文的,讀錯了就寫錯了。真是麻煩。以後要多寫點才行了!

如何正確的檢視Datasheet(資料手冊)

datasheet 資料手冊 datasheet 資料手冊 電子元器件或者晶元的資料手冊規格書,一般由廠家編寫,格式一般為pdf,內容包括效能介紹,如電氣引數 物理引數等 主要講晶元可以做什麼用 引腳功能及管腳定義 要畫原理圖 內部暫存器定義 要寫程式 製造材料和封裝形式 製造採購都要問的 另外,作...

寫程式呀寫程式 你們也是這樣學寫程式的麼(2)

後來覺得電腦遊戲比電腦程式好玩,所以便用電腦玩遊戲。與此同時學習成績一落千丈 雖然到目前為止,我還是認為這兩件事只是巧合的發生在同一時間,沒有因果聯絡。玩三國志就是覺得爽,玩red警也是不賴。但是總覺得三國演義和血獅很傻 b。所以那個時候,我便有了偉大的願望 做乙個程式設計師,拯救中國的軟體行業 你...

寫程式呀寫程式 你們也是這樣學寫程式的麼 5

後來學online algorithm,覺得這個東西很高科技,而且也不用implementation.再後來學voronoi diagram,竟然還要讓我們自己implement一便,所以覺得voronoi diagram比較低科技 但是比起software engineering高科技。再後來在另...