日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STC89C52单片机 LED灯闪烁

發(fā)布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STC89C52单片机 LED灯闪烁 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

LED閃爍

循環(huán)語句

循環(huán)語句
(1)while(條件表達式){語句}
只有當 while 后面圓括號內(nèi)條件表達式的值為真時,程序才會重復執(zhí)行花括號內(nèi)語句,當條件表達式為假時則不執(zhí)行花括號內(nèi)語句。

(2)for([初值設(shè)定表達式];[循環(huán)條件表達式];[更新表達式])
{語句}

例:for(i = 1; i <= 100; i++) {語句}

花括號內(nèi)語句會被執(zhí)行100次后才退出。

變量的定義

變量
變量是在程序執(zhí)行過程中其值能不斷變化的量。在使用一個變量之前必須進行定義,用一個標識符作為變量名,并指出它的數(shù)據(jù)類型。
注意:C語言中每條語句必須用分號結(jié)束。
常用定義格式如下:
數(shù)據(jù)類型 變量名;
例如:

unsigned char a; // 作用范圍(0~255, 無符號字符型) unsigned char b; a = 5; b = 2; b = 5 + a; (其中5是常量,a 與 b 都是變量,b最終的值等于10)

變量作用域
全局變量:在函數(shù)體外定義的變量通常為全局變量,作用范圍: 從定義開始的整個程序
局部變量:在函數(shù)體內(nèi)定義的變量通常為局部變量,作用范圍:函數(shù)體內(nèi)

軟件延時

當單片機在處理某些事件的時候用戶希望它處理完后間隔一段時間再去處理下一個事件,這時就需要用到延時。

常用的延時方法:

  • 軟件延時:優(yōu)點使用簡單;缺點浪費CPU資源
  • 定時器延時:需要操作內(nèi)部寄存器,節(jié)省CPU資源

IO口與一個字節(jié)位的數(shù)據(jù)對應關(guān)系

如果把一個字節(jié)的數(shù)據(jù)賦值給一組10口,其中數(shù)據(jù)的最低位對應此組10口的最低位,數(shù)據(jù)的最高位對應此組10口最高位。

例如
把十六進制數(shù)0xfe賦值給P1口他們的對應關(guān)系如下圖所示

總結(jié):
每個LED燈對應著 2進制位置 1111 1111
每次寫入程序需要通過十六進制數(shù)對變量進行賦值

例如:
點亮 LED2 LED3 LED5 的LED燈
需要 P1 = 0xe9;
對 0xe9 解析
在程序員計算器中

十進制為 233 二進制為 1110 1001

當轉(zhuǎn)為二進制后,單片機加載該程序,會根據(jù)二進制組對相應的LED燈進行點亮,1110 1001 從高到低排列,

  • 1110 第一個 1 代表P1^7 1為高電平 所以不亮

  • 1110 第二個 1 代表P1^6 1為高電平 所以不亮

  • 1110 第三個 1 代表P1^5 1為高電平 所以不亮

  • 1110 第四個 0 代表P1^4 0為低電平 所以燈亮

  • 1001 第一個 1 代表P1^3 1為高電平 所以不亮

  • 1001 第二個 0 代表P1^2 0為低電平 所以燈亮

  • 1001 第三個 0 代表P1^1 0為低電平 所以燈亮

  • 1001 第四個 1 代表P1^0 1為高電平 所以不亮

點亮 LED6 燈
需要打開程序員計算器 對 二進制位置 1101 1111 進行換算
對應的16進制為 DF
所以 P1 = 0xdf;
即可只點亮 LED6 燈

程序部分

1.使 LED6 燈閃爍

#include <reg52.h>unsigned int i; // 0~65535 全局變量void main(){ // main 函數(shù)自身會循環(huán)while(1){ // 一般在執(zhí)行程序的時候需要 寫出一個while的循環(huán)體來執(zhí)行代碼 // P1 = 0; // 點亮P1口8個LED // P1 = 0xe9; // 點亮 LED2 LED3 LED5燈P1 = 0xdf; // 點亮 LED6 燈i = 65535;while(i--); // 自定義的軟件延時P1 = 0xff; // 1111 1111 熄滅P1口 8個LED 不能直接使用 P1 = 1; 來熄滅8個LED燈i= 65535;while(i--);}}// while(1){ // P1 = 0; // P1 = 0xff; // 1111 1111 熄滅P1口 8個LED 不能直接使用 P1 = 1; 來熄滅8個LED燈 // } // 當去掉軟件延時器的時候,軟件在執(zhí)行的過程中會不斷的循環(huán),LED會反復的開啟和關(guān)閉,所以通過人眼是無法辨別出來的 // 但是與常開啟的LED相比亮度會相對較暗

2.使 LED1 燈閃爍

#include <reg52.h>/*==================================== 函數(shù) : delay(uint z) 參數(shù) :z 延時毫秒設(shè)定,取值范圍0-65535 返回值 :無 描述 :12T/Fosc11.0592M毫秒級延時 ====================================*/void delay(unsigned int z){ // 毫秒級延時函數(shù)定義unsigned int x, y;for (x = z; x > 0; x--){for (y = 114; y > 0; y--){}} }void main(){ // main函數(shù)自身會循環(huán)delay(100);while(1){P1 = 0XFE; // 點亮 LED1 燈delay(100); // 延時 100毫秒 通過增加延時的時間或減少延時的時間,來控制燈的閃爍間隔 P1 = 0xff; // 關(guān)閉所有的LED 燈 delay(100); // 延時 100毫秒 通過增加延時的時間或減少延時的時間,來控制燈的閃爍間隔 } }

3.使 LED1、3、5、7 燈亮,使 LED2、4、6、8 燈閃爍;

#include <reg52.h>void delay(unsigned int z){ // 毫秒級延時函數(shù)定義unsigned int x, y;for (x = z; x > 0; x--){for (y = 114; y > 0; y--){}} }void main(){ // main函數(shù)自身會循環(huán)delay(100);while(1){P1 = 0; // 0000 0000 // 使 LED1、2、3、4、5、6、7、8 燈亮delay(500); // 延時 500毫秒 通過增加延時的時間或減少延時的時間,來控制流水燈的速度 P1 = 0XAA; // 1010 1010 // 關(guān)閉 2、4、6、8 燈delay(500); // 延時 500毫秒 通過增加延時的時間或減少延時的時間,來控制流水燈的速度 } }

總結(jié)

以上是生活随笔為你收集整理的STC89C52单片机 LED灯闪烁的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩色图一区 | 成年人免费看的视频 | 天天干天天操天天射 | www.97超碰 | 日本男人天堂网 | 视频精品久久 | 男女免费视频网站 | 饥渴少妇色诱水电工 | 嫩草视频在线观看视频 | 色播放| 国产精品国产三级国产 | 色呦呦网站在线观看 | 欧美视频福利 | 欧美大尺度做爰啪啪床戏明星 | 日韩一区免费视频 | av资源站| 成人免费毛片嘿嘿连载视频 | 美女扒开尿口给男人看 | 中文字幕在线观看视频免费 | aaaa免费视频 | 国产精品爽爽久久 | 色xxxx| 亚洲免费一区视频 | 欧美一卡二卡 | 欧美草比视频 | 人妻少妇精品无码专区 | 国产毛片在线看 | 绿帽h啪肉np辣文 | 午夜婷婷色 | 九九热视频免费 | 精品久久免费视频 | 久久香焦 | 婷婷丁香一区二区三区 | 欧美另类一区二区 | 成人欧美精品 | 在线观看av的网址 | 亚洲宅男天堂 | va婷婷在线免费观看 | 免费黄色欧美 | 成人在线日韩 | 在线蜜桃 | 亚洲欧美另类一区 | 日日躁夜夜躁狠狠久久av | 欧洲自拍偷拍 | 欧美色精品在线 | 中文字幕日产乱码中 | 国产一区中文 | 992tv成人免费视频 | 99热r| 亚洲色偷偷色噜噜狠狠99网 | 国产伦精品一区二区三区视频女 | 亚洲欧美视频一区 | 欧美理论片在线观看 | 日本涩涩网站 | 国产福利免费 | 欧美专区在线 | 亚洲美女精品视频 | 韩国精品视频在线观看 | 喷水视频在线观看 | 97视频总站 | 日韩一级片免费在线观看 | 性视频免费看 | 久久国内偷拍 | 精品熟女一区二区三区 | 国产免费一区二区三区最新不卡 | 日韩狠狠操 | 欧美亚洲一区二区三区四区 | 人妻互换免费中文字幕 | 国产精品久久久毛片 | 中文字幕在线成人 | 91干干干 | 国产美女视频一区二区 | 欧美猛男gaygay | 无遮挡边吃摸边吃奶边做 | 哈利波特3在线观看免费版英文版 | 亚洲欧洲精品一区 | 69成人免费视频 | 一本一道久久综合 | 欧美精品卡一卡二 | 扒下小娇妻的内裤打屁股 | 国产精品亚洲一区二区三区 | 伦伦影院午夜理伦片 | 日韩三级理论 | 综合久久综合 | 午夜视频免费 | 国产亚洲片 | 久久综合国产 | 石原莉奈在线播放 | 日产精品一区二区 | www.97ai.com | 90岁老太婆乱淫 | 加勒比综合 | 亚洲综合站| 丰满尤物白嫩啪啪少妇 | 这里精品 | 日韩欧美精品一区二区三区 | 一级 黄 色 片69 | 爱插网 | 麻豆成人91精品二区三区 |