單片機c語言編程300例 c#可以開發(fā)單片機嗎?
c#可以開發(fā)單片機嗎?C#不可以開發(fā)單片機。單片機一般都是C語言編寫的,C#是面向?qū)ο蟪绦蛟O計的語言了。面向?qū)ο蠛椭剌d、多態(tài)等特性在單片機編程中用的很少,太浪費資源了,但是以后單片機性能更強大的時候可
c#可以開發(fā)單片機嗎?
C#不可以開發(fā)單片機。
單片機一般都是C語言編寫的,C#是面向?qū)ο蟪绦蛟O計的語言了。面向?qū)ο蠛椭剌d、多態(tài)等特性在單片機編程中用的很少,太浪費資源了,但是以后單片機性能更強大的時候可能會有支持的,就像現(xiàn)在編譯器支持C 一樣,只不過用的人少。因為用過程的思路更容易寫單片機的程序。
單片機C語言如何查表(將靜態(tài)的表寫在程序存儲器中)?
c語言中用CODE修飾就是把大數(shù)組存于程序存儲中,運行中不能修改,相當于常量
51單片機和c語言關系?
單片機和C語言的關系,可以比如你手中的電腦和你使用的高級編程語言的關系,當然,你用你的電腦加匯編語言也能編出你要的東西。
它們的語法、運算符和變量規(guī)則都一樣,由于CPU不同,所以庫函數(shù)都不一樣。在普通C中常用的頭文件是stdio.h,在單片機(51為例)常用的頭文件是reg51.h或reg52.h。單片機面向的是硬件環(huán)境更多一些。常用函數(shù)printf,普通C中輸出到屏幕,單片機中輸出到串口。
請問在單片機C語言編程中,用delay延遲的話,1秒程序是什么?單片機晶振為12MHZ?
在Keil里仿真的話,在配置里把晶振調(diào)成12MHz,然后在調(diào)用delay函數(shù)的地方設置一個斷點,開始調(diào)試程序,運行到斷點處,注意程序左邊有一個記錄當前寄存器和一些狀態(tài)的窗口,其中,里面有一個是專門記錄當前運行了多少時間的變量,記下當前時間T1,然后按F10(不進入子函數(shù))調(diào)試,再記錄當前時間T2,則延時T2-T1。
多試幾個A,差不多調(diào)到1s就夠了。
我一般都這么調(diào)。
你要想明白其中原理,想自己算的話,你就看看delay的匯編代碼段自己算吧。
寒假期間想學下單片機,有C語言的基礎,怎么下手呢?
寒假即將來臨,想在假期將近一個月中學習一項技能,我認為這是一個不錯的想法。下面我給這位朋友提兩個建議,希望能對所有想學單片機的初學者有所參考作用。
我分兩個方面給出建議,一個方面是有C語言基礎了,看來在軟件編程方面應該問題不大,那么剩下的就應該是單片機硬件方面的問題。首先我們要面臨的第一個問題就是單片機如何選型,現(xiàn)在單片機型號非常多,以我的建議最好先從低端的8位機開始學起,最常用的非C51型號莫屬了,比如AT89C51、AT89C52、AT89S52或者STC89C51RC等都可以,這類單片機相對比較簡單,同時所能提供的資料比較多,初期學習投入成本低非常適合學生學習。型號確定好之后下面該做的就是單片機實驗板了,作為初學者實驗板我認為應該以“適合、夠用”為原則。所謂“適合”就是性價比要高、所謂“夠用”就是單片機實驗板所帶的外設適合我們初學者就可以了,比如單片機實驗板可配置的外設有LED小燈、數(shù)碼管、按鍵、蜂鳴器、LCD1602接口、微型步進電機驅(qū)動接口等。
我們用一個月的時間基本上就可以學完對以上單片機外設的單片機編程控制,單片機也就基本入門了。然后再學習STM32單片機和ARM系列的32位高端機,這樣漸進式的學習是符合我們學習技術規(guī)律的。
另一個方面就是編程軟件的選擇,我建議學習單片機初學者選用Keil軟件,它是一款非常適合我們初學者學習編程的軟件,所支持的芯片從C51系列到ARM系列的都有,學習也很簡單操作也非常方便,現(xiàn)在我仍然用它。以上就是我給初學單片機朋友的一些建議,歡迎大家積極參與討論這個話題、敬請關注電子及工控技術。