單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如果程序不加while(1)會出現(xiàn)什么情況,對于這種好學精神,還是值得贊揚的,做學問就需要有追根問底的精神?! ∈紫龋蠹乙斫庖患虑?,我們編寫的c語言程序,最終下載到單片機當中去,在我們單片機的程序存儲空間FLASH當中存儲的全部是2進制數(shù)字代碼。比如0x00,0x01,一直到0xff。而我們編寫的C代碼,依靠的是編譯軟件,比如keil軟件,首先將C語言編譯成為匯編語言,最終匯編語言變成2進制代碼,也就是我們的HEX文件當中的數(shù)據(jù),下載到單片機當中去?! ∫虼耍檎疫@個問題,首先從源頭來找,首先是C語言,然后,我們再看一下軟件給我們編譯的匯編語言是什么樣子。用KEIL軟件編寫一個程序,然后simulator的方式進行仿真,進入仿真環(huán)境后,在View窗口下有個Disassembly window,打開,里邊就會出現(xiàn)剛才我們的C語言所對應的匯編語言了(KEIL軟件會自動將C編譯成匯編),找到里邊的主函數(shù),找到你最后一行的程序所對應的匯編,找到后,會發(fā)現(xiàn)在最后一行程序結(jié)束后,KEIL這個軟件還會自動給加入幾行匯編代碼,這幾行代碼就是(1)MOV R0, #0x7F;(2)CLR A; (3)MOV @R0, A; (4) DJNZ R0, (3); (5)MOV SP, #0x0C;(6) LJMP main;這幾條語句,前4條,是將我們單片機的內(nèi)存的前128個地址清零,第5條,是定義堆棧,第6條,是將程序重新跳轉(zhuǎn)到main函數(shù)的首行進行執(zhí)行?! 倪@里我們可以看出,最終下載到單片機運行的程序包含兩部分,一部分是我們編寫的程序代碼,另外一部分是編譯器自動生成的代碼,因此,用KEIL軟件編寫的程序在沒有while(1)的情況下運行到最后一行,會自動跳轉(zhuǎn)到main函數(shù)第一行運行?! ”局鴩乐?shù)膽B(tài)度,筆者又查找PIC單片機的編譯開發(fā)環(huán)境MAPLAB IDE,找到其中的匯編程序,在Disassembly window匯編程序中沒有發(fā)現(xiàn)跳轉(zhuǎn)到主函數(shù)的語句或者是復位語句。筆者不甘心,于是繼續(xù)查找,打開了Promgram Memory,這也是最終下載到單片機當中的程序,通過仔細查看筆者在其后邊,發(fā)現(xiàn)了在main函數(shù)的最后,有一條“reset”語句,這是一條PIC單片機的復位語句,也就是說PIC單片機在進行程序編譯的過程中,如果沒有while(1)語句,最后則會直接執(zhí)行復位,這MAPLAB隱藏的可夠深的?! ∥以谡搲峡吹揭粋€發(fā)帖者提出他下載進AVR單片機的沒有while(1)的程序,但是單片機卻沒有復位,這點我沒有再去驗證,因為我們的程序通常都是要加while(1)這個循環(huán),因此呢,問題到了這里,單片機程序沒有while(1)會出現(xiàn)什么情況,這一點已經(jīng)不重要了。但是有一點已經(jīng)可以確認了,一部分單片機在沒有while(1)的情況下,運行到最后一行出現(xiàn)的情況受到編譯開發(fā)環(huán)境的影響?! ‘斎涣耍粋€嚴謹?shù)拈_發(fā)環(huán)境,就應該像KEIL和MAPLAB這樣,在程序員編譯程序可能出現(xiàn)漏洞的地方給與防護,避免程序跑飛程序員無法查找程序問題。深有體會。剛學單片機不久,參考別人的程序?qū)懥薒CD驅(qū)動,在買來的實驗板上運行時,顯示正常。在自己用面包板上搭建的系統(tǒng)運行時,只能顯示幾秒鐘,之后一片空白,當時懷疑面包板供電不穩(wěn)定,或者信號線干擾,折騰幾小時后,在程序末尾加一句“while(1);”,顯示完全正常。不加不穩(wěn)定,有時候會在main()里面循環(huán),有時候會亂碼。這里的while(1)并不是防止程序“跑飛”的,而是防止main()返回。① 在嵌入式中main是不能返回的。不同的C語言實現(xiàn)的單片機初始化代碼會有不同的表現(xiàn),有的是在call _main后jmp,而有的是jmp 0,等等這些會導致不可預料的結(jié)果。② 在我們寫的C語言后轉(zhuǎn)換成匯編,再觀察單片機的代碼區(qū),你會發(fā)現(xiàn)沒有寫程序的部分例如全1或者全0區(qū)域,程序運行到這里,就會有可能造成意料不到的結(jié)果。若無while(1)循環(huán),程序全部執(zhí)行后,跳轉(zhuǎn)至程序起始處重新執(zhí)行。
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我
相關推薦
11個單片機程序設計經(jīng)典項目!25個項目資料免費放送!
單片機項目學習過程中最簡單的項目。這里我們做為一個項目設計,詳細敘述項目實現(xiàn)的基本過程。1.電路設計電路硬件是單片機項目實現(xiàn)的基礎,在項目設計過程中必須先設計項目的電路原理。為了提高程序和電路的聯(lián)調(diào)效果
2016-06-21 20:44:36
51單片機C語言程序學習筆記
51單片機C語言程序(二)定時/計數(shù)器?中斷程序一利用定時/計數(shù)器T0從P1.0輸出周期為1s 的方波,讓發(fā)光二極管以1HZ閃爍,#include? //52單片機頭文件#include//包含
2021-07-15 09:31:06
51單片機如何去點亮第一個LED呢
51單片機——點亮第一個LED原理點亮LED程序#include***it led=p0^0;//通過這個變量名來代替這個管腳void main(){while(1){// 死循環(huán)讓它一直點亮 led=1;//輸出高電平}}LED閃爍實驗c語言常用的預處理命...
2021-11-18 07:32:58
51單片機矩陣鍵盤C程序主程序
51單片機矩陣鍵盤C程序主程序1:void main(){uchar i,j,ki=0;j=0;while(1){i=key();//鍵盤循環(huán)掃描,其值賦給變量數(shù)組tableif(i!=0)//鍵盤子程序返回值非0,即有按鍵按下{ table[j]=i;//將值存在變量數(shù)組中j++;
2021-07-20 06:01:52
C語言單片機中延時程序是如何實現(xiàn)的
在單片機或嵌入式系統(tǒng)的程序,常常用規(guī)定次數(shù)的空循環(huán)來實現(xiàn)延時/***通過一個空循環(huán)體循環(huán)讓程序運行一段時間。在嵌入式系統(tǒng)中,這個函數(shù)用來實現(xiàn)延時。**參數(shù):*u16i--循環(huán)次數(shù),無符號整型*返回值:*無**/voiddelay(u16i){while(i--);}
2021-07-15 06:05:00
c語言編程序,但是想用goto語句時
請問在keil中我使用c語言編程序,但是想用goto語句時發(fā)現(xiàn)不用,我加了后 #include我用ljmp也不能用,我就是想根據(jù)不同的中斷端口,來跳轉(zhuǎn)到不同的主程序端口。哪位大俠能幫我我一下語言,或者換一種算法?謝過?。?!
2012-03-04 15:40:57
一個讓燈不斷閃爍的簡單程序分享
一:編程任務和思路我們來做一個讓燈不斷閃爍的簡單程序。怎樣才能讓燈不斷地閃爍呢?要燈亮一段時間,再滅一段時間,也就是說要P1口不斷地輸出高和低電平。編程思路:在執(zhí)行完SETB P1后,延時一
2021-12-06 06:01:05
一個關于while無限循環(huán)的問題
有哪位朋友能告訴我,我下面這段程序為什么實現(xiàn)不了預想的要求。 我的想法是,主程序的while循環(huán)就等待中斷的發(fā)生。一旦中斷發(fā)生就跳出循環(huán)。但實際情況不是這樣。敬請高人指點。 char show
2016-03-12 19:56:51
一個最簡單的單片機程序
不管他,以后慢慢學到,上面的程序需要在一個名為“Keil uVision2”的軟件中匯編完成,匯編后得到一個*.hex文件,這就是目標文件,然后用編程器將該文件“寫”到單片機89s51中,這樣該
2020-09-03 07:26:11
一個簡單實用的MCU程序框架分享
?前面的文章介紹了一個簡單實用的MCU程序框架,定時節(jié)拍的加入,這一篇文章來介紹串口接收怎樣加入到框架中。?單片機的串口接收通常是在中斷里。如果數(shù)據(jù)解析在串口里邊,那很多跟主程序共享的資源就容易沖突
2022-01-21 08:11:52
一直用匯編要改成C語言,好難啊
做的設計,強逼著自己不去用匯編,抱著C語言的書學習,手頭一本51單片機開發(fā)與應用技術詳解,一直在看,總看不進去啊。 各位老師啊,學習單片機C語言我是從頭把C語言變量--函數(shù)--語句流程……這些都學完然后再
2012-03-22 16:16:48
主程序一直在下列循環(huán)中是哪里的問題
各位大哥:主程序一直在下列循環(huán)中是哪里的問題。請指教,謝謝!void _Error_Handler(char * file, int line){/* USER CODE BEGIN
2018-08-24 15:35:36
單片機C語言程序該這樣寫
寫單片機程序也是程序,也要遵循寫軟件的一些基本原則,不是為了完成功能那么簡單。我看過的所有的C語言單片機書籍基本都不注重模塊化思想,完全是拿著C當匯編用,簡直是在糟蹋C語言! 如下問題,幾乎所有
2018-08-06 15:06:06
單片機C語言之流水燈(帶延時子程序)
《單片機C語言之流水燈(帶延時子程序).ppt》由會員分享,可在線閱讀,更多相關《單片機C語言之流水燈(帶延時子程序).ppt(12頁珍藏版)》請在人人文庫網(wǎng)上搜索。1、單片機C語言應用100例
2021-07-15 07:12:39
單片機C語言的主程序為什么要加一個while(1)語句
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如果程序不加
2021-07-15 09:40:50
單片機C語言的主程序如果不加while(1)會出現(xiàn)什么情況
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如果程序不加
2021-07-15 10:16:19
單片機C語言的延時程序
標準的C語言中沒有空語句。但在單片機的C語言編程中,經(jīng)常需要用幾個空指令產(chǎn)生短延時的效果。 這在匯編語言中很容易實現(xiàn),寫幾個nop就行了。 在keil C51中,直接調(diào)用庫函數(shù): #include
2018-07-13 07:06:49
單片機一直執(zhí)行上一個程序的命令
不管我輸入什么命令,單片機一直在執(zhí)行上一個命令,比如說我上一個命令是實現(xiàn)一個數(shù)碼管的動態(tài)顯示(1),但是不管當我寫了幾個數(shù)碼管的動態(tài)顯示,還是別的什么程序,單片機一直在重復第一個命令(1),我用的是普中的單片機
2018-08-24 09:42:41
單片機程序求一個!
求大神給個STC89C52電子密碼鎖程序啊,24C02儲存,LCD1602顯示的,論壇網(wǎng)上找了很多都不行啊。我的單片機就是開發(fā)板買的一套,我覺得原理圖和別人應該差不了多少吧,怎么下載就沒用,哎。跪求大神。(附件單片機原理圖,還有一個別人的程序,只是和我板子不匹配,幫我改改程序也行謝謝。)
2016-05-23 11:38:16
單片機程序該如何優(yōu)化?
、work 等。3、程序結(jié)構(gòu)C 語言是一種高級程序設計語言,提供了十分完備的規(guī)范化流程控制結(jié)構(gòu)。因此在采用C 語言設計單片機應用系統(tǒng)程序時,首先要注意盡可能采用結(jié)構(gòu)化的程序設計方法,這樣可使整個
2020-06-07 09:34:55
單片機不管燒錄啥程序都是一直正在檢測中的原因?
單片機今天剛到,打開燒錄的時候一直顯示正在檢測單片機,沒有一次顯示操作成功,但是單片機一直顯示的是商家的測試程序,不管燒錄啥程序都是一直正在檢測中,啥方法都用了,還是燒錄不進去程序。希望大家?guī)蛶兔?/div>
2023-10-07 06:00:30
單片機為什么一直用C語言,不用其他編程語言
最適合單片機開發(fā)的編程語言實在太過晦澀難懂,并且每一種單片機的匯編指令有很大區(qū)別,所以想把一個程序從這種單片機移植到另一種單片機簡直是癡心妄想,還不如重新寫一遍程序。而C語言代碼執(zhí)行效率高,也比較精簡,更便于移植......所以在現(xiàn)今的單片機編程語言中,C語言才會占據(jù)絕對主導地位
2020-05-19 14:23:07
單片機為什么一直用C語言,不用其他編程語言?
最適合單片機開發(fā)的編程語言實在太過晦澀難懂,并且每一種單片機的匯編指令有很大區(qū)別,所以想把一個程序從這種單片機移植到另一種單片機簡直是癡心妄想,還不如重新寫一遍程序。而C語言代碼執(zhí)行效率高,也比較精簡,更便于移植......所以在現(xiàn)今的單片機編程語言中,C語言才會占據(jù)絕對主導地位
2020-06-30 10:30:41
單片機之精確延時程序的學習
); for(j=110;j>0;j--);}}因為單片機一旦上了電就是不停地工作了,除非你拔掉電源,才會停止工作。在此程序中用了一個while(1)無限制循環(huán)來實現(xiàn)單片機的不停地工作。由于是要使發(fā)光二極管
2011-03-26 20:30:40
單片機延時c程序如何計算?
=248;k>0;k--); }void main(void)//每一個C語言程序有且只有一個主函數(shù),{while(1)//循環(huán)條件永遠為真,以下程序一直執(zhí)行下去。 {P1_0=0;// I/O口
2013-03-14 22:46:59
單片機控制小燈亮、滅,延時、一直循環(huán),C語言編程
`新手,做一樣東西,假設用P0~0控制綠燈的亮滅,P1~0控制黃燈的亮滅,P2~0控制紅燈的亮滅,用單片機控制綠燈亮、滅各延時一小時,并且一直循環(huán),半個月后黃燈亮并且綠燈同時亮,持續(xù)5分鐘后黃燈滅
2015-05-26 10:23:39
單片機教程(4)第一個單片機小程序
,讓計算機再去執(zhí)行第一條指令,持續(xù)地在原地兜圈,我們稱之為"循環(huán)",這樣就能完成任務了。以下先給出程序(后面括號中的數(shù)字是為了便于講解而寫的,實際不用輸入):;主程序:LOOP
2018-06-12 10:49:06
單片機有鎖存為什么還需要while循環(huán)
保證萬無一失;單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如...
2021-07-13 09:51:16
在一個程序里面怎么讓一個未執(zhí)行完的事件立即結(jié)束進入下一個事件
在一個程序里面怎么讓一個未執(zhí)行完的事件立即結(jié)束進入下一個事件,該用什么結(jié)構(gòu)才能實現(xiàn)。
2018-02-24 11:08:00
在主程序中如何設置一個Bool控件打開關閉SubVI?
主程序是一個循環(huán)程序,就是想問下如何才能在主程序用一個Bool控件來對subVI進行操作,簡單點說就是讓subVI顯示前面板。已經(jīng)使用過的方法:1.屬性節(jié)點:主程序運行就會彈出subVI 的對話框
2017-09-15 11:48:01
在仿真執(zhí)行自定義custom指令時,只能執(zhí)行軟件程序中所調(diào)用第一條是為什么?
,vivado仿真中能夠進入lbuf狀態(tài)并完成后退出至idle狀態(tài),但此后仿真一直保持在idle狀態(tài),不能執(zhí)行之后的c語言句子了,緊接著的打印nice aes done 的命令并不能實現(xiàn)。當然之后的調(diào)用其他
2023-08-16 07:07:57
程序沒循環(huán)led燈為什么還一直閃
){ unsigned char j; for(;i>0;i--)for(j=255;j>0;j--);}為什么;倆個程序燒錄到單片機的結(jié)果是一樣的呢 led燈一直閃沒有循環(huán)的不應該只閃一次嗎?
2013-03-01 17:00:30
AVR單片機C語言程序框架(單片機最簡操作系統(tǒng))及詳解
本帖最后由 lvhoujun 于 2014-2-28 00:37 編輯
這是本人以ATMEGA128為例編寫的C語言程序框架,做簡單的修改即適合AVR所有單片機??梢哉f是一個單片機最簡操作系統(tǒng)
2014-02-12 20:27:23
STC單片機C語言程序設計
STC單片機C語言程序設計 第11章 STC單片機C語言描述語句STC單片機C語言描述語句主講輸入輸出語句在完整的計算機系統(tǒng)中,包含輸入輸出設備。典型的,在以PC機/筆記本為代表的計算機系統(tǒng)中,默認
2021-07-15 06:09:58
STM32單片機DEBUG進入不了主程序的原因
STM32單片機DEBUG進入不了主程序1.上電不運行,DEBUG還進入不了主程序2.總結(jié)2.1 STM32單片機Flash分類2.2 關于boot腳的設置3.其他DEBUG模式不能進入主程序的原因
2021-11-29 06:52:09
STM8如何跳出雙層循環(huán),加密程序等問題
()//假設這個是按鍵處理程序 方案2:if(SWITCH==0;)return;//這是主程序掃描程序之一,獲取鍵值后賦值SWITCH,打開按鍵處理入口,讓單片機掃過去處理鍵值,然后下一
2018-09-11 10:14:45
stm32程序在一個位置無限循環(huán)
; while(tim[ 0 ] < 1000);按理說程序在這個位置會延遲1秒鐘可是事實這樣會是無限循環(huán)當然,解決這個問題的辦法是 tim[0] = 0; while(tim[ 0 ] <
2019-03-05 01:36:49
——求 單片機如何讓兩個程序同時運行 求 高手解決———
本帖最后由 eehome 于 2013-1-5 09:53 編輯
求 單片機如何讓兩個程序同時運行我用一個單片機的P1和P3口控制16個LED做 跑馬燈用P0和P2口控制一個8x8點陣 顯示
2012-12-12 22:20:32
【我是電子發(fā)燒友】PIC單片機引腳中斷程序設計技巧
所有的中檔系列PIC單片機,PORTB端口最高的4個引腳(RB7~RB4)在設為輸入模式時,當輸入電平由高到低或由低到高發(fā)生變化時,可以讓單片機產(chǎn)生中斷。這就是通常所說的引腳狀態(tài)變化中斷。在設計引腳
2017-05-10 14:52:40
【原創(chuàng)分享】單片機C語言If和for等基本語句結(jié)構(gòu)
本帖最后由 松山歸人 于 2021-6-22 10:17 編輯
作者:張角老師(張飛實戰(zhàn)電子高級工程師)同學們好,我們從今天開始探討單片機C語言,我們首先從if和for等基本語句結(jié)構(gòu)開始
2021-06-21 13:27:01
【跟我學單片機C語言】單片機C51循環(huán)語句
本帖最后由 eehome 于 2013-1-5 10:03 編輯
【跟我學單片機C語言】單片機C51循環(huán)語句這個語句在很多高級語言中都會有,記得小時候用 BASIC 時就很喜歡用這個語句。它是
2011-12-19 14:57:30
【跟我學單片機C語言】全面分析C51表達式語句及仿真器
語句是最基本的一種語句。不一樣的程序設計語言都會有不一樣的表達式語句,如VB就是在表達式后面加入回車就構(gòu)成了VB 的表達式語句,而在51單片機的C語言中則是加入分號“;”構(gòu)成表達式語句。舉例如下:b=b
2011-12-12 10:27:00
【跟我學單片機C語言】帶你了解C51循環(huán)語句
循環(huán)語句是幾乎每個程序都會用到的,它的作用就是用來實現(xiàn)需要反復進行多次的操 作。如一個 12M 的 51 芯片應用電路中要求實現(xiàn) 1 毫秒的延時,那么就要執(zhí)行 1000 次空語句 才能達到延時的目的
2011-12-15 10:07:51
兩個單片機通過串口進行通信,如何讓它們的輸出時間保持一致?
兩個單片機通過串口進行通信,如何讓它們的輸出時間保持一致?因為發(fā)送到接受再到處理是有延遲的,我的方法是根據(jù)硬件情況的測試,去進行延時來保持輸出時間的一致性。有沒有更好的方法?或者更合理的延遲時間計算方法。頻率12M,輸出時間差保持在5us。
2020-03-23 15:07:31
為什么一個簡單的循環(huán)計數(shù)都會讓系統(tǒng)進入硬件異常呢?
函數(shù)_eth_delay_出 就會進入hardfault_handler,為什么一個簡單的循環(huán)計數(shù)都會讓系統(tǒng)進入硬件異常呢?
2019-09-04 19:25:47
為什么程序總是自動進入串口中斷?
菜鳥請教各位前輩,為什么一下這段程序會自動進入中斷,我想要用上位機發(fā)送“0xff”,下位機才進行回應,但是我用串口助手發(fā)送0xff以后就中斷就一直在循環(huán),中斷不是只有在接收到數(shù)據(jù)才會
2019-09-25 00:37:19
為什么STC15W408AS單片機一直無法下載程序?
我使用STC15W408AS單片機,編了一個簡單的點燈程序(下載不進去好像和程序無關吧),可就是下載不進去,誰能幫忙分析一下呢,一直檢測單片機,下載軟件設置如圖(單片機沒接外部晶振):
2019-09-12 02:54:22
為什么會出現(xiàn)中斷的概念呢?這個概念是為了解決什么問題
是為了解決什么問題?比如我們有一個功能,按鍵按下,led等亮起。這個很好實現(xiàn),主程序進入cpu然后一直while循環(huán),去檢測按鍵所在gpio口的狀態(tài),如果發(fā)生改變那個就去控制led燈的gpio口的狀態(tài)
2022-01-05 08:02:31
為何要加一句while死循環(huán)讓程序停留在main函數(shù)中呢?
為何要加一句while死循環(huán)讓程序停留在main函數(shù)中呢?將while(1);語句去掉有什么影響么?
2021-07-15 12:44:01
你不知道的PIC單片機中斷程序的設計技巧
人口只有一個,在響應中斷的請求時,PIC單片機就會自動把全局中斷的使能位(INTCON的第7位GIF)清除,這樣其他中斷就暫時不能被響應(此時,如果別的中斷發(fā)出的中斷請求,標志位將一直保留著),直到這個
2011-11-15 13:58:45
關于while(1);循環(huán)使用的一些問題
你設置break等類似的跳出循環(huán)語句循環(huán)才會中止。1就是永遠為真,所以說while(1)就是個死循環(huán),我們需要程序不斷回到開始或者某一點開始執(zhí)行,我們就會使用一個while(1)循環(huán)。單片機中while
2015-05-12 10:51:08
關于STM32 SD存儲程序的一個問題
以下是鄙人測試中的一個代碼,用來將數(shù)據(jù)存儲到SD中,現(xiàn)在的問題是,如果這段程序單獨的在while(1)循環(huán)里,是可以一直存儲數(shù)據(jù)的,但是一旦這段程序放下了if的條件語句下面,就無法將數(shù)據(jù)保存到SD卡
2015-10-16 11:07:01
分享PIC單片機的C語言程序一實例
分享PIC單片機的C語言程序一實例1.賦值語句和賦值表達1)賦值語句賦值語句是C語言中最常用的一種語句,如公式中的計算,一般都是通過賦值語句完成的,賦值語句的格式為:標識符二表達式;等式左邊的標識符
2009-09-17 15:24:25
利用C語言編寫PIC單片機程序的方法是什么
PIC單片機C語言程序設計1 7學電子跟我來FOLLOW MEPIC 單片機C 語言程序設計(1)◆丁錦滔編者按:為了幫助具有PI C 單片機匯編語言知識的技術人員或工程師,快速掌握利用C 語言編寫
2021-07-15 08:40:22
如何讓一個單片機點亮一個LED
剛開始學單片機,這兩天學了:1.如何讓一個點亮一個LED。2.如何讓一個小燈閃爍。3.實現(xiàn)一個簡單的流水燈。#includetypedef unsigned char u8;typedef
2021-12-02 07:19:32
如何使得單片機的LED燈閃爍又不影響主程序運行?
51單片機問題,緊急求助!
怎樣使得單片機的LED燈閃爍又不影響主程序運行???
我想通過單片機接收串口命令讓一個LED燈閃爍,但同時又不影響其他程序的運行,應該怎樣去寫這個程序呢
2023-11-06 07:18:41
如何利用單片機讓蜂鳴器一直響
#include***it FMQ36=P3^6;想要蜂鳴器發(fā)聲,那么我們需要的是給蜂鳴器高低電平,這樣才能讓蜂鳴器發(fā)出聲音。這里我們需要的是讓蜂鳴器一直響,所以我們將程序寫在while里面。#include***it FMQ36=.
2021-11-22 06:23:21
如圖程序一直在跑,波形圖表也一直在刷新,請問如何讓labview波形圖表暫停刷新?
如圖,程序一直在跑,波形圖表也一直在刷新。有什么方法讓波形圖表停止刷新,方便擴大觀看細節(jié),而不停止程序運行?
2018-06-28 11:13:13
如果程序不加while(1)會出現(xiàn)什么情況
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如果程序不加while(1)會出現(xiàn)什么情況,對于這種好學精神,還是值得贊揚的,做學問就需要有追根問...
2021-07-16 06:46:02
幫忙寫個——一直按鍵盤讀入數(shù)據(jù)就可以一直輸出的程序
我對c語言不熟悉,請求幫忙寫個程序,情況如下:從鍵盤上讀入數(shù)字,例如從鍵盤上讀入1,則輸出1,如果鍵盤沒有輸入,則停1秒執(zhí)行下一條語句。這樣的話,如果我一直按鍵盤讀入數(shù)據(jù)就可以一直輸出。謝謝了
2012-01-12 22:43:41
并發(fā)性程序在寫裸機軟件時有while(1) 循環(huán)
第一、并發(fā)性程序并發(fā)工作效率低在寫裸機軟件時,不可避免的在主程序中會有一個超級大的 while(1) 循環(huán),這里面幾乎包含整個項目的所有業(yè)務邏輯。因為每個業(yè)務邏輯里面都會有 delay 這樣的循環(huán)
2021-08-20 06:47:31
怎么保持一個外部來的高電平脈沖
新人想問下大蝦們,怎么保持一個外部來的高電平脈沖,讓它一直保持高電平,單片機讀取后再復位,等待下一個高電平的到來,請問用什么芯片可以實現(xiàn)呢
2015-06-16 15:26:08
怎么讓程序運行幾分鐘停幾分鐘,然后一直循環(huán)下去呢
本帖最后由 我想看看太陽 于 2022-6-8 14:55 編輯
怎么讓程序運行幾分鐘停幾分鐘,然后一直循環(huán)下去,需要添加什么模塊呢
2022-06-08 10:01:08
怎么讓labview主程序運行時,子程序也在運行,我點擊彈出按鈕的時候,只是顯示子程序,子程序一直都在后臺運行
怎么讓labview主程序運行時,子程序也在運行,我點擊彈出按鈕的時候,只是顯示子程序,子程序一直都在后臺運行。比方說我的報警界面,按照要求是一只要運行的。用選項卡界面做,是可以實現(xiàn)這個功能的,但是感覺選項卡界面不夠美觀,我這里說的是彈窗界面。謝謝指點
2017-08-16 08:27:48
怎么用C#編寫一個上位機程序來控制單片機
求助,怎么用C#編寫一個上位機程序來控制單片機,讓單片機采集直流調(diào)速的速度,根據(jù)反饋的速度顯示在上位機上,怎么用串口通信實現(xiàn)啊,跪求各位大神啊
2013-04-23 20:38:03
新人對while(1)語句的一個提問
剛剛開始學單片機,寫了一個燈亮的程序,可是為什么在while循環(huán)里,最后的效果是八個燈全亮,感覺不科學的樣子ovovoid main(){while(1){P1=0x00;P1=0xfe;}}
2016-09-22 15:41:19
新人求助C51的一個程序問題....萬分感謝
剛學單片機2天 ,有一定C語言基礎。 剛編一個4個按鍵控制4種不同的流水燈,可是運行的時候,當按下其中一個鍵之后,它就一直循環(huán)那一個流水燈,剩下的怎么按也不管用了,下面是程序 ,請問應該用什么方法在
2013-09-29 10:37:11
有關單片機C語言中while(1)的問題
單片機C語言中while(1)的問題 單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)
2021-07-16 07:31:05
求一個紅外接收單片機程序
急求高手、大師、大神們幫幫忙了,一個紅外接收的簡單的C語言源碼程序,最好是要有注解的,64位的單片機有,下載軟件有,下載硬件有,就差一個單片機程序
2018-05-06 16:09:57
點亮Led深入研究,主程序為什么一直循環(huán)?
在51單片機執(zhí)行完(第一次)主程序為什么還會循環(huán),并沒有循環(huán)語句,為什么?主程序就是簡單的四句話如下:Void main(void){Led=0;延時;led=1;延時;}正?,F(xiàn)象應該是燈亮一次滅掉,但是此程序為什么燈會一閃一閃,閃說明單片機再一次又一次的執(zhí)行主函數(shù)在循環(huán),為什?
2015-05-29 08:07:48
第一個單片機程序是什么
第一個單片機程序:純文本復制#include//包含特殊功能寄存器定義的頭文件***it LED = P0^0;//位地址聲明,注意:***it 必須小寫、P 大寫!void main(){//任何
2021-07-14 07:54:27
請教個單片機主程序編寫的問題
請教個單片機主程序編寫的問題,一般加上while(1)不是讓程序一直跑么,但是我現(xiàn)在有個問題就是:我的程序有兩個部分。一部分要一直刷新,但是令一部分則要運行一次就停止,這該怎么編呢。
2016-05-15 20:36:11
請教幾個單片機程序規(guī)范的問題
如果有一個比較大的單片機工程,用到了挺多中斷,那么單片機代碼應該是主要在中斷服務程序中,而在main函數(shù)中簡單進行初始化工作,讓while循環(huán)中盡可能少干活,,,,,還是應該讓主要的工作在main
2014-09-01 10:34:10
請教各位大神程序中的while(1)寫成了死循環(huán),但還想讓其執(zhí)行下面的另一個循環(huán)內(nèi)容,并保持第一個while還運行。
請教各位大神程序中的while(1)寫成了死循環(huán),但還想讓其執(zhí)行下面的另一個循環(huán)內(nèi)容,并保持第一個while還一直在運行。比如第一個while里是ad采集程序需要一直采集。應該怎么寫那?必須中斷嗎?有其他方法嗎?
2017-06-12 12:03:00
請問在keil中我使用c語言編程序,但是想用goto語句時發(fā)現(xiàn)不
請問在keil中我使用c語言編程序,但是想用goto語句時發(fā)現(xiàn)不用,我加了后#include我用ljmp也不能用,我就是想根據(jù)不同的中斷端口,來跳轉(zhuǎn)到不同的主程序端口。哪位大俠能幫我我一下語言,或者換一種算法?謝過?。?!
2012-03-03 17:26:26
請問如何讓在循環(huán)結(jié)構(gòu)中的布爾燈保持前一個循環(huán)的值的狀態(tài)
大佬們,我做的是一個車庫的車位檢測,通過判斷測距來判斷車位,通過布爾燈來表示狀態(tài),但是布爾燈沒辦法保持前一個數(shù)據(jù)的狀態(tài),循環(huán)一次結(jié)束后總是會自動亮起,每次來假的時候就只會閃一下,怎么讓燈的狀態(tài)保持呀?
2019-05-15 16:12:07
跳出雙層循環(huán),加密程序等問題解答
()//假設這個是按鍵處理程序方案2:if(SWITCH==0;)return;//這是主程序掃描程序之一,獲取鍵值后賦值SWITCH,打開按鍵處理入口,讓單片機掃過去處理鍵值,然后下一句是KEY_Deal
2018-09-07 16:14:42
C語言入門教程-if語句和while循環(huán)
if語句和while循環(huán)
C語言中,if語句和while循環(huán)都會用到布爾表達式。下面是一個使用if語句的簡單例子:
#include
2009-07-29 10:48:328304
單片機C語言教程-基礎語句
單片機C語言教程-基礎語句
C語言入門之基礎語句 從程序流程的角度來看,程序可以分為三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、分支
2010-03-27 17:15:463059
C語言程序設計教程之如何設計循環(huán)結(jié)構(gòu)
本文檔的主要內(nèi)容詳細介紹的是C語言程序設計教程之如何設計循環(huán)結(jié)構(gòu)主要內(nèi)容包括了:1 while語句2 do-while語句3 for 語句4 break、continue和goto語句5 循環(huán)的嵌套6 復合結(jié)構(gòu)程序舉例
2018-10-26 16:48:090
C語言的for循環(huán)語句的程序和電路圖免費下載
1、在許多實際問題中,需要程序進行有規(guī)律的重復執(zhí)行,這時可以用循環(huán)語句來實現(xiàn)。在c語言中。用來實現(xiàn)循環(huán)的語句有for語句,while語句,do-while語句,goto語句等。
2019-08-20 17:31:001
單片機程序主函數(shù)中為什么一定要加while
在單片機的主程序中,我們在寫程序的時候,總是寫一個while(1)的語句,以此達到讓程序進入一個無限死循環(huán)中,其目的是讓程序一直保持在我所需要的運行情況下,例如:流水燈的程序讓LED燈一直在交替閃爍
2019-08-15 17:32:000
為什么單片機的主程序是死循環(huán)
任何一個可用程序都必然是死循環(huán)程序,這不僅僅是指單片機程序。因為任何微處理器系統(tǒng)一旦開機,系統(tǒng)都在處理內(nèi)部事件和外設響應,這個過程是一個循環(huán)過程,除非關機才能結(jié)束這個死循環(huán)程序。因此,對于單片機編程必須注意以下幾點
2020-07-15 17:38:434703
main函數(shù)中的while(1)解讀
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環(huán),目的是為了讓程序一直保持在我們需要運行的情況下。 雖然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問,如果程序不加while(1)會出現(xiàn)什么情況,對于這種好學精神,還是值得贊揚的,做學問就需要有追根問...
2021-11-15 20:51:0250
51單片機實戰(zhàn)教程之C語言基礎(八 while循環(huán))
則跳過,去執(zhí)行while循環(huán)后面的語句。 while 循環(huán)可以只有條件表達式,沒有循環(huán)語句。如while(!TF0= 0);這個實際上是T0硬件延時,等待T0計數(shù)器溢出。 while循環(huán)非常有用,在單片機編程中最常見的是:whi...
2021-11-21 09:21:011
PLC編程中循環(huán)語句FOR和WHILE如何選擇
迭代語句主要用于重復執(zhí)行的程序,在 CoDeSys 中,常見的迭代語句有 FOR,REPEAT 及WHILE 語句。
2023-01-30 17:45:291695
c語言在while中嵌套if循環(huán)
C語言是一種廣泛使用的面向過程編程語言,它提供了許多控制結(jié)構(gòu)來幫助程序員實現(xiàn)復雜的邏輯和流程控制。其中,while循環(huán)和if語句是非常常見和重要的控制結(jié)構(gòu)。本文將詳細介紹C語言中在while循環(huán)
2023-11-22 10:09:521021
評論
查看更多