|
1.jpg (264.16 KB, 下載次數(shù): 41)
下載附件
部分知識(shí)點(diǎn)
2022-4-25 00:06 上傳
2.jpg (153.5 KB, 下載次數(shù): 53)
下載附件
仿真圖
2022-4-25 00:06 上傳
附件有工程文件,努力學(xué)習(xí)吧少年。
注釋得非常詳細(xì)的單片機(jī)源程序如下:
- /*********************************************************************************************************************************************************************************************
- 表1.6.1 * 表1.6.2 * 表1.6.2 * 表1.6.4 * 表1.6.5 *
- 常用數(shù)據(jù)類型 關(guān)鍵字 所占位數(shù) 表示數(shù)的范圍 * 算數(shù)運(yùn)算符 含義 * 關(guān)系(邏輯)運(yùn)算符 含義 * 位運(yùn)算符 含義 * 基礎(chǔ)語句 類型 *
- 無符號(hào)字符型 unsigned char 8 0~255 * * > 大于 * & 邏輯與 * if 選擇語句 *
- 有符號(hào)字符型 char 8 -128~127 * + 加法 * >= 大于等于 * | 邏輯或 * while 循環(huán)語句 *
- 無符號(hào)整型 unsigned int 16 0~65535 * - 減法 * < 小于 * ^ 異或 * for 循環(huán)語句 *
- 有符號(hào)整型 int 16 -32768~32767 * * 乘法 * <= 小于等于 * ~ 取反 * switch/case 多分支選擇語句 *
- 無符號(hào)長(zhǎng)整型 unsigned iong 32 * / 除法(或求模運(yùn)算) * == 測(cè)試相等 * >> 右移 * do-while 循環(huán)語句 *
- 無符號(hào)長(zhǎng)整型 iong 32 * ++ 自加 * != 測(cè)試不等 * << 左移 * *
- 單精度實(shí)型 float 32 3.4e-38~3.4e38 * -- 自減 * && 按位與 * * *
- 雙精度實(shí)型 double 64 17.e-308~1.7e30 * % 求佘運(yùn)算 * || 按位或 * * *
- 位類型 bit 1 0~1 * * ! 非 * * *
- **********************************************************************************************************************************************************************************************/
- #include <REGX52.H> //頭文件 【正式語句】
- sbit led1=P1^0; // 聲明單片機(jī)P1口() 【正式語句】 在Pro仿真中:LED-YELLOW燈泡腳連接P1.0口
- /*********************************************************************************************************************************************************************************************
- 知識(shí)點(diǎn):main()主函數(shù)的寫法
- 格式:void main() 注意:后面沒有分號(hào)。
- 特點(diǎn):無返回值,無參數(shù)。
- 1、無返回值表示該函數(shù)執(zhí)行完成后不返回任何值,上面main前面的void表示“空”,即不返回值的意思,后面我們會(huì)講到有返回值的函數(shù),到時(shí)大家一對(duì)比便會(huì)更加明白。
- 2、無參數(shù)表示該函數(shù)不帶任何參數(shù),即main后面的括號(hào)中沒有任何參數(shù),我們只寫“()”就可以了,也可以在括號(hào)里寫上void,表示“空”的意思,如void main(void)。
- 3、任何一個(gè)單片機(jī)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開始執(zhí)行的入口。大家注意看,在寫完main()之后,在下面有兩個(gè)花括號(hào),這是C語言中函數(shù)寫法的基本
- 要求之一,即在一個(gè)函數(shù)中,所有的代碼都寫在這個(gè)函數(shù)的兩個(gè)大括號(hào)內(nèi),每條語句結(jié)束后都要加上分號(hào),語句與語言之間可以用空格或回車嗝開。
- 例如:
- void main()
- {
- 總程序從這里開始執(zhí)行;
- 其他語句;
- .....
- }
- **********************************************************************************************************************************************************************************************/
- void main() //主函數(shù) 【正式語句】
- {
- led1=0; //點(diǎn)亮第一個(gè)發(fā)光二極管 【正式語句】
- /*********************************************************************************************************************************************************************************************
- "led1=0;" 語句,也就是該程序中最核心的語句。在數(shù)字電路中,電平只有兩種狀態(tài):高電平- 1;低電平- 0。顯然,該語句的意思是,讓P1囗的最低位清0,由于沒有操作其他口,
- 所以其余口均保持原來狀態(tài)不變。
- **********************************************************************************************************************************************************************************************/
- while(1); //【正式語句】
- }
- /*****************************************************************
- 如何讓程序停止在某處呢? 我們用while語句就可以實(shí)現(xiàn)。
- 知識(shí)點(diǎn):while()語句
- 格式:while(表達(dá)式)
- {內(nèi)部語句(內(nèi)部可為空)}
- 特點(diǎn):先判斷表達(dá)式,后執(zhí)行內(nèi)部語句。
- 原則:若表達(dá)式不是0,即為真,那么執(zhí)行語句。否則跳出while語句,執(zhí)行后面的語句。
- 需要注意的三點(diǎn):
- (1)在C語言中我們一般把"0"認(rèn)為是"假","非0"認(rèn)為是"真" ,也就是說,只要不是0就是真,所以1、2、3等都是真。
- (2)內(nèi)部語句可為空,就是說while后面的大括號(hào)里什么都不寫也是可以的,如“while(1){};”中“;” 一定不能少,否則while()會(huì)把跟在它后面第一個(gè)分號(hào)前的語句認(rèn)為是它的內(nèi)部語句。
- 例如:while(1)
- P1=123;
- P1=121;
- ....
- 上面這個(gè)例子中,while()會(huì)把“P1=123;”當(dāng)做它的語句,即使這條語句并沒有加大括號(hào)。既然如此,那么我們以后在寫程序時(shí),如果while()內(nèi)部只有一條語句,我們就可以省去大括號(hào),而直接將這條語句跟在它的后面。
- 例如:while(1)
- P1=123;
- (3)表達(dá)式可以是一個(gè)常數(shù)、一個(gè)運(yùn)算或一個(gè)帶返回值的函數(shù)。
- 有了上面的介紹,我們?cè)诔绦蜃詈蠹由稀皐hile(1)” 這樣一條語句就可以讓程序停止。因?yàn)樵撜Z句表達(dá)式值為1,內(nèi)部語句為空,執(zhí)行時(shí)先判斷表達(dá)式值,因?yàn)闉檎妫允裁匆膊粓?zhí)行,然后再判斷表達(dá)式,仍然為真,又不
- 執(zhí)行,因?yàn)橹挥挟?dāng)表達(dá)式值為0時(shí)才可跳出while()語句,所以程序?qū)⒉煌5貓?zhí)行這條語句,也就是說單片機(jī)點(diǎn)亮發(fā)光管后將永遠(yuǎn)重復(fù)執(zhí)行這條語句。
- 單片機(jī)是不能停止工作的,只有它有電,有晶振在起振,它就不停止工作,每過一個(gè)機(jī)器周期,它內(nèi)部的程序指針就要加1,程序指針就指向下一條要執(zhí)行的指令。不過我們可以將單片機(jī)設(shè)置為休眠狀態(tài)或掉電模式,這樣可以最大限度地降低它的功耗。
- *****************************************************************/
復(fù)制代碼
51hei.png (5.21 KB, 下載次數(shù): 49)
下載附件
2022-4-25 00:36 上傳
Keil代碼與Proteus仿真下載:
自學(xué)實(shí)例.rar
(68.39 KB, 下載次數(shù): 6)
2022-4-25 00:09 上傳
點(diǎn)擊文件名下載附件
實(shí)例 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|