51單片機程序匯總(四)

2020-08-27 無卒小輩


/**************************************************************************************

* 外部中斷0實驗 *

實現現象:下載程序後按下K3按鍵可以對D1小燈狀態取反。

注意事項:無。

***************************************************************************************/

34;reg52.h&include &34; //此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16; //對數據類型進行聲明定義

typedef unsigned char u8;

sbit k4=P3^3; //定義按鍵K4

sbit led=P2^0; //定義P20口是led

/*******************************************************************************

* 函 數 名 : delay

* 函數功能 : 延時函數,i=1時,大約延時10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}

/*******************************************************************************

* 函 數 名 : Int1Init()

* 函數功能 : 設置外部中斷1

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void Int1Init()

{

//設置INT1

IT1=1;//跳變沿出發方式(下降沿)

EX1=1;//打開INT1的中斷允許。

EA=1;//打開總中斷

}

/*******************************************************************************

* 函 數 名 : main

* 函數功能 : 主函數

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void main()

{

Int1Init(); // 設置外部中斷1

while(1);

}

/*******************************************************************************

* 函 數 名 : Int1() interrupt 2

* 函數功能 : 外部中斷0的中斷函數

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void Int1() interrupt 2 //外部中斷1的中斷函數

{

delay(1000); //延時消抖

if(k4==0)

{

led=~led;

}

}

另外,還可以做下鳴蜂器的中斷實驗,

/**************************************************************************************

***************************************************************************************/

34;reg52.h" //此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16; //對數據類型進行聲明定義

typedef unsigned char u8;

sbit k3=P3^2; //定義按鍵K3

sbit beep=P1^5;

/*******************************************************************************

* 函 數 名 : delay

* 函數功能 : 延時函數,i=1時,大約延時10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}

/*******************************************************************************

* 函 數 名 : Int1Init()

* 函數功能 : 設置外部中斷1

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void Int0Init()

{

//設置INT0

IT0=0;//跳變沿出發方式(下降沿)

EX0=1;//打開INT0的中斷允許。

EA=1;//打開總中斷

}

/*******************************************************************************

* 函 數 名 : main

* 函數功能 : 主函數

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void main()

{

Int0Init(); // 設置外部中斷0

while(1);

}

/*******************************************************************************

* 函 數 名 : Int0() interrupt 0

* 函數功能 : 外部中斷0的中斷函數

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/

void Int0() interrupt 0 //外部中斷0的中斷函數

{

{

beep=~beep;

delay(10);

}

}

相關焦點

  • 51單片機程序匯總(一)
    /*************************************************************************************** 點亮第一個LED實驗 *實現現象:下載程序後D1指示燈點亮注意事項:無 ***********
  • 51單片機程序匯總(二)
    /*************************************************************************************** 靜態數碼管顯示實驗 *實現現象:下載程序後數碼管靜態顯示0。
  • 51單片機程序匯總(三)
    ***********************************************/34;reg51.h&include<intrins.h>sbit SRCLK=P3^6;sbit RCLK=P3^5;sbit SER=P3^4;/******************************
  • 51單片機程序存儲器擴展
    在單片機的擴展中,要分別考慮程序存儲器及數據存儲器的擴展。存儲器是單片機系統中使用最多的外擴晶片,對80C51系列單片機而言,由於程序存儲器與數據存儲器的空間在物理空間上的各自獨立性,使得兩者的擴展方法略有不同。
  • 51單片機C語言教程(四) 數據類型
    其實在KEIL uVision2的文本編輯器中編寫C程序,系統可以把保留字以不同顏色顯示,預設顏色為天藍色。(標準和擴展關鍵字請看附錄一中的附表1-1和附表1-2)  先看表4-1,表中列出了KEIL uVision2 C51編譯器所支持的數據類型。
  • 帶詳細注釋的51單片機CS1237電子秤源程序
    工程硬體平臺:    1,51Core-V1.0(51單片機最小系統板)                2,差分ADC模塊-CS1237                3,稱重傳感器模塊                4,OLED顯示器0.96寸,4PIN工程程序版本:51單片機廚房(藥房)秤方案 V1.0.0.0
  • 51單片機程序下載、ISP及串口基礎知識
    本文詳細介紹了串口、51單片機的ISP下載等基礎知識,已經學過單片機的也可以看看,加強一下對這方面的了解。 串口 串行接口簡稱串口,也稱串行通信接口,是採用串行通信方式的擴展接口。一方面USB接口負責給單片機供電,另一方面,USB轉TTL或RS232轉TTL已經集成的學習板上。 51單片機程序的燒寫 我們最常見的51單片機是美國Atmel公司生產的AT系列單片機和中國宏晶公司生產的STC系列單片機。
  • 基於proteus的51單片機開發實例24-矩陣鍵盤(行列式鍵盤)
    基於proteus的51單片機開發實例24-矩陣鍵盤1.1.)的電路設計、編程實現。我們知道,51單片機總共只有4個8位I/O口,如果外部電路功能較多,I/O口就會不夠用,例如如果電路中接了一個8位數碼管,又接了16個按鍵,那麼即使數碼管採用動態掃描法 也需要佔用16個I/O口(8位I/O口用於連接數碼管8個段,另8位I/O口用於控制8位數碼管的每一位),這時如果按鍵還是採用獨立按鍵的接法
  • 圖形化編程玩51單片機(十五)模擬工廠裡的產品掃描計數器實驗二
    【使用說明】:選用51單片機實驗板上的S2和S3鍵。其中S2用於模擬代替掃描開關,當有產品經過時,會使S2送出低電平(本程序中是用手按下S2來模擬)S2每按一下,便會使數碼管上的計數器加一,達到一億的時候全部清零,重新計數。S3用於對計數手動清零。
  • 單片機初學者輕鬆入門之(十一):定時器製作流水燈
    在單片機的定時/計數器不夠用時,可以考慮進行擴展。一、MCS-51單片機定時器結構(一)MCS-51單片機定時器結構MCS-51單片機內部有兩個16位的可編程定時/計數器,由TH1、TL1、TH0、TL0、TCON、TMOD等6個特殊功能寄存器組成,如圖所示。
  • 學習單片機,為什麼我建議你從51單片機開始
    因此經過我的教學經驗,如果想開始學習單片機,最好從51單片機開始學起,我都推薦STC系列的51單片機學習。原因就是一句話,因為51系列單片機簡單,學習起來也簡單。但是簡單不代表它功能少,51單片機雖然簡單,但體系是完備的。所以當你學會51單片機,會非常快速入門其它單片機學習。
  • 51單片機下載程序的(RXD TXD)連線方式
    首先我們在下載程序自己我們需要安裝開發板USB轉串口CH340驅動,安裝成功後我們還需要下載STC程序燒錄工具,下載完成後打開目錄如下所示以上的準備工作做好之後我們就來連線,把51單片機和USB轉串口工具(下載線)連接起來。可能你們會好奇,51開發版需要接線嗎?不是集成好的嗎?
  • 51單片機、STM32單片機、PIC單片機性能對比
    雖然I/O腳使用簡單,但高電平時無輸出能力,這也是51系列單片機的最大軟肋 3.佔的指令空間較大,因為是16位單片機,程序以字為單位,有的指令竟然佔6個字節。雖然程序表面上簡潔, 但與pic單片機比較空間佔用很大 應用範圍:在低功耗及超低功耗的工業場合應用的比較多使用最多的器件:MSP430F系列、MSP430G2系列、MSP430L09系列 TMS單片機 這裡也提一下TMS系列單片機,雖不算主流。
  • 51單片機基礎(5)
    256位元組而沒有更高位的地址線需要給定;(3)程序存儲空間,地址範圍0~65535,(僅可)使用MOVC指令配合作為基地址的存於DPTR中的16位地址或當前PC中的16位地址和事先傳送到累加器A中的8位變地址進行基址變址方式的只讀訪問;2、內部和外部數據存儲器的區分不在於數據存儲器位於單片機內部或外部,而是在於數據存儲器與
  • 基於proteus的51單片機開發實例30-模塊化程序設計
    基於proteus的51單片機開發實例30-模塊化程序設計1.1.基礎知識現在我們看看《基於proteus的51單片機開發實例29-單總線DS18B20的讀寫》中的程序代碼,這個程序裡面有很多函數,這些函數的聲明和定義在整個程序裡面佔了很大的比例。我們在編寫和使用這些函數的時候,因為很多函數都不是獨立,需要不停的翻找相關的程序部分。顯得很麻煩。而且整個程序顯得有些亂。
  • 51單片機的特殊功能寄存器(SFR)
    在51單片機內部有一個CPU用來運算、控制,有四個並行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。
  • 51單片機之計時器與計數器
    CPU時序的有關知識 振蕩周期:為單片機提供定時信號的振蕩源的周期(晶振周期或外加振蕩周期) 狀態周期:2個振蕩周期為1個狀態周期,用S表示。振蕩周期又稱S周期或時鐘周期。例如:外接晶振為12MHz時,51單片機相關周期的具體值為:振蕩周期=1/12us;狀態周期=1/6us;機器周期=1us;指令周期=1~4us;初始化程序應完成如下工作:對TMOD賦值,以確定T0和T1的工作方式。
  • MCS-51單片機的結構和工作原理
    3.1.3 片內ROM存儲器的配置形式及應用環境:① MCS-51單片機內程序存儲器的配置形式有三種:掩模ROM型   (由廠家一次寫入,成本低)EPROM型      (由用戶可反覆寫入,成本較高)無ROM型       (需在片外擴展)
  • 51單片機軟體程序復位
    51單片機軟體復位彙編代碼 POP ACC ; pop return address本文引用地址:http://www.eepw.com.cn/article/201611/318163.htm POP
  • 單片機4x4矩陣鍵盤掃描程序
    4x4  矩陣鍵盤  掃描程序 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017111335900.html 推薦閱讀 51單片機學習實踐:用NTC