實現功能:
通電時亮乙個燈,輸出高電平x分鐘,低電平x分鐘
按一下變成兩個燈,高電平x分鐘,低電平x分鐘
再按一下變成三個燈,高電平x分鐘,低電平x分鐘
再按一下回到乙個燈
核心是通過按鍵改變flag的值,然後在延時中判斷flag值是否和原先的值相同
#include"reg51.h"
#define on 1
#define off 2
//三種狀態
#define low 1
#define mid 2
#define high 3
sfr p3m0 = 0xb2; //0000,0000 埠3模式暫存器0
sfr p3m1 = 0xb1; //0000,0000 埠3模式暫存器1
sbit ledlan=p3^1;
sbit ledhuang=p3^2;
sbit ledhong=p3^3;
sbit key=p3^5;
//sbit shuchu=p3^4;
sbit kongzhi=p3^0;
volatile
int flag=1;//按鍵改變flag值
void delay(int ms)
void ledon(int status)
}void ledoff()
void delay2(int time,int status)
}}void ioon(int time,int status)
void iooff(int time,int status)
//按鍵中斷初始化
void initinterr()
//設定p3.4,p3.0推挽輸出
void settuiwan()
main()
//兩個燈亮
for(;flag==mid;)
//三個燈亮
for(;flag==high;)
}}void key() interrupt 0
if(flag==4)flag=1;
}
STC15 微控制器 利用 外部中斷 測頻率
中斷測頻率 先來看張圖 圖中標明 itx 0 時 下降沿觸發中斷 itx 1 時 上公升沿,下降沿均可觸發中斷,這裡要注意不是隨便乙個io口有上公升沿或下降沿時都觸發中斷,比如我的int0 對應的埠是p32 所以 只有p32埠有上公升沿 下降沿時才會觸發外部中斷0。include include t...
STC15微控制器的EEPROM程式設計
在程式中使用 stc15微控制器是乙個8位的微控制器,據說在世界上銷量最大,是國產的品牌。其中也有許多值得稱道的地方,比如不用晶振,不用外部的儲存器,flash可以做記憶體使用等。可以進入休眠狀態,外部中斷就可以喚醒等。在使用者需要保持資料,當掉電可以儲存這些資料,等下次啟動後繼續使用資料。這個功能...
STC15系列微控制器SPI使用教程(三)
stc15系列微控制器spi使用教程 一 資料型別重定義 ifndef uchar define uchar unsigned char endif ifndef uint define uint unsigned int endif io埠定義 sbit miso p2 2 主機讀從裝置 主入從出...