原创 51單片機點亮LED和使用定時器中斷控制蜂鳴器發聲

  初學51單片機第一個實驗一般都是以點亮LED燈開始,以下是使用Proteus仿真軟件的實驗效果。   實驗需要仿真儀器:   示波器、LED、電壓表、蜂鳴器、AT89C51 實驗電路圖: 實驗代碼: #include <re

原创 51單片機雙向通信實例

  通過甲機按鍵控制點亮乙機LED燈,通過控制乙機按鍵向甲機發送數字,並且使用數碼管顯示。 電路原理圖: 甲機代碼: #include<reg51.h> #define uchar unsigned char #define u

原创 解決VS Code配置Arduino開發環境出現未定義標識

  自己在配置VS Code Arduino開發環境中遇到的問題,類似這種,錯誤顯示未定義標識符。關於VS Code配置Arduino開發環境 網上有需多,我就不在敘述了,我只是記錄我自己遇到的問題。   主要問題是頭文件索引丟失

原创 51單片機使用LCD1602顯示DS18B20溫度傳感器溫度

  使用LCD1602顯示DS18B20溫度傳感器溫度。關於DS18B20和LCD的原理,我就不再敘述了,大家自行查找,網上可以找到好多。   使用Proteus仿真。(需要仿真和Keil工程文件的可以留言,看到回覆) 需要的元件

原创 AT89C51單片機外部中斷使用和使用74LS373控制I/O口

  利用單片機 AT89C51 的外部中斷 0 和中斷 1, I/O 口,對 LED 和數碼管分別進行控制。以實現按鍵 K0 時 LED 燈亮滅閃爍,按鍵 K1 時做 LED 左和右流水運動。無按鍵操作時偶數位數碼管顯示 0-F。

原创 初學51單片機基本簡介

  初始學習單片機順便記錄一點,本人大部分單片機學習都是使用Proteus軟件經行仿真的。 附上Proteus 8.6 軟件鏈接:https://pan.baidu.com/s/175RYa7MOTN7hrTLlgUME2A 提取

原创 89C51 ADC0832模數轉換與LCD1602顯示

ADC0832模數轉換與LCD1602顯示。 ADC0832 是一種8 位分辨率、雙通道A/D轉換芯片。 ADC0832特點: 8位分辨率; 雙通道A/D轉換; 輸入輸出電平與TTL/CMOS相兼容; 5V電源供電時輸

原创 89C51數碼管循環顯示數字0~15

89C51數碼管循環顯示數字0~15,使用Proteus經行仿真。 需要材料:   數碼管、AT89C51、最小系統電路、 代碼如下: //-------------------------------------------

原创 AT89C51定時器/計數器的使用

  AT89C51單片機內有定時器/計數器 T0、T1 共2個定時/計數器,有4種工作方式。   每個定時器/計數器( T0 和 T1),在特殊功能寄存器 TMOD 中都有一個控制位,它選擇 T0 和 T1 爲定時器還是計數器。

原创 使用74LS245驅動8×8LED點陣屏顯示數字

使用8×8LED點陣屏顯示數字。   點陣取模使用軟件PCtoLCD2002取模軟件,使用74LS245驅動點陣。 取模方式:陰碼、列行式、順位、C51格式。 取模軟件的設置: 電路原理圖: 代碼: /* 名稱:8X8LED

原创 利用74LS373對 LED 和數碼管分別進行控制,數碼管顯示所亮 LED 的位置

  利用單片機 AT89C51 的 I/O 口,對 LED 和數碼管分別進行控制。以實現 LED燈做流水運動,數碼管顯示所亮 LED 的位置。 使用74LS373可以節省I/O口 74LS373簡介:   74LS373是三態輸出

原创 C51使用定時器中斷產生PWM方波信號

  使用定時器中斷產生PWM方波信號,完成50個頻率爲1KZ的矩形脈衝輸出,P20端口接LED閃爍,用於演示。   矩形脈衝頻率爲1KZ,週期則爲1ms, 中斷爲0.5ms, 所以T0: TH0=(65536-500)/256,