微控制器問題

2022-12-13 04:55:21 字數 1122 閱讀 5474

1樓:匿名使用者

把外部ram中1000h~1030h的內容傳送到內ram的30h~60h中。

2.試編制程式實現1+2+3+……100=?結果的商8位儲存內ram中51h單元中,低8位儲存在50h單元中。

3.已知8051微控制器使用的晶振為12hz,試編制延時40ms的程式。

我需要知道程式!

提問者: oct_juju - 童生 一級。

6月4日 20:56 我來提個思路吧,具體程式有你來編寫。微控制器這個東西是越琢磨越有意思,只要思路對頭你就能做得出來。對自己要有信心。

1、這個問題主要應解決兩部分。

一是狀態的讀入和處理。因為是高電平有效,在電路設計中應該為p1口上裝上下拉電阻。處理主要是把他們從二進位制轉換到十進位制,然後轉換成七段碼以便驅動數碼管。

轉換的方法有多種,你可以對他進行判斷他是否在100以內、100與200之間還是大於200。小於100直接用da轉換成十進位制,並記高位為0;在100與200之間就先減去100然後用da轉換並記高位為1;大於200之間就先減去200然後用da轉換並記高位為2。至於轉換為七段碼的方法無非有兩個——譯碼器譯碼和查表譯碼。

對於這個小專案沒必要增加硬體消耗,所以建立一個譯碼錶查表即可。這裡需要查三次,分別是高位、低位高4位和低位低4位。查表後要在ram中建立一個顯示緩衝區,三個位元組就可以了。

二是輸出問題。採用動態顯示3個數碼管就可以了,定時10ms把顯示快取區相應的資料送到p0口,當然p0口需要驅動放大的。同時利用p3口的3個引腳做位選訊號分別選擇相應的數碼管,同樣也少不了驅動。

2、這個問題比較簡單,你只要把訊號輸入到外部中斷int0或int1就可以。外部中斷設定為脈衝中斷,這個中斷子程式在一個標準時間段(如1s)內對一個計數器加一計數。然後把這個數乘以6(這個數是60除以10得到的)就是一分鐘內的轉數了。

另外雖然你沒提到,不過我想你還是要做個顯示的,顯示同上。

3、這題因為我不太瞭解574所以沒辦法幫你了,不好意思。

希望我說的這幾句話能幫到你,也希望你能因此對微控制器產生興趣:)

2樓:匿名使用者

void delayxms(unsigned int z)

這個是延時xms的函式;

呼叫的時候是 delay(1);就是延時1ms;

微控制器問題 20,微控制器有問題如何解決

親,您好,很高興為您解答 微控制器有問題如何解決如下 微控制器故障的排除1微控制器正常工作的三個條件微控制器工作的三個條件分別是電源 時鐘晶振 復位。當微控制器不能正常工作時,我們首先就要檢查這三個條件,用電壓表或者萬用表檢測他的電源和接地腳,檢測兩個引腳之間的電壓是不是5v左右 對於時鐘晶體振盪有...

求微控制器高手解惑,微控制器問題求解答

建議你採用定時中斷的方式實現。一般的做法舉例,比如你有20ms,30ms,50ms三種延時 1 取這些延時的最大公約數時間,此例中就是10ms,以10ms做為定時中斷的定時時間。其實這個10ms就是一個時標。2 定義3個char型全域性計數變數 uc20ms uc30ms uc50ms,初值為0。在...

微控制器問題,我會寫微控制器程式可是讓我自己設計電路板都不會,什麼電阻選用也不會該怎麼學

那你從最基礎的電工學和數位電路開始學起了,如果這個還難的話,中學的物理可以再回頭看看。看看模電書,再自己做點小玩意 會寫微控制器程式,但是不會設計微控制器電路,該怎麼學 微控制器程式和硬體密切相關,必須兩者都熟悉才行,不象電腦技術,不懂硬體照樣可以在軟體領域內大有作為。要設計微控制器電路,必須有基本...