前言: ? 作者簡介:CC++Edge淇,大家可以叫我--斯淇。(CSDN優(yōu)質博客的建議加這一條) ?? 個人主頁:CC++Edge淇主頁 ?? 如果文章知識點有錯誤的地方,請指正!和大家一起學習,一起進步?? ?? 如果感覺博主的文章還不錯的話,還請不吝??關注、點贊、收藏三連支持??一下博主哦 ?? 人生格言:琴鍵有限,人生無限--《海上鋼琴師》?? 每日推薦歌曲:毛不易-《無名的人》我一直很想寫一篇初學者最快入門的文章,我原稱為最簡單的入門級STM51單片機的入門打法?。。。。。ê罄m(xù)文章會更新)最后祝賀一下自己訪問量沖到了一萬一?。。。?! ———————————————— ————————————————
目錄
單片機入門
首先講一講單片機入門知識!?。?!
單片機工作的基本時序
LED燈!原理圖
LED,即發(fā)光二極管,是一種半導體固體發(fā)光器件。
?LED的點亮方法?
1.蜂鳴器!簡介:
蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發(fā)聲器件。我們開發(fā)板上常用的蜂鳴器就是常常說的交流蜂鳴器或直流蜂鳴器(自激式蜂鳴器)。 直流蜂鳴器是給一定的驅動直流電壓就會響。而交流蜂鳴器是需要給蜂鳴器一個脈沖才會響。常見的有PWM波控制蜂鳴器的頻率。脈沖就是高低電平的切換,如下圖:一個方波脈沖??
( 來一個實訓內容:三次閃燈,加上兩次左右燈光循環(huán)最后使用蜂鳴器發(fā)聲)!(手動打碼)
單片機入門
首先講一講單片機入門知識?。。?!
單片機(Single-Chip Microcomputer)是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到現在的300M的高速單片機。
直接上展示圖?。。?/strong>
?
?
單片機工作的基本時序
(1)振蕩周期:也稱時鐘周期,是指為單片機提供時鐘脈沖信號的振蕩源的周期,我們開發(fā)板上為12MHZ。
(2)狀態(tài)周期:每個狀態(tài)周期為時鐘周期的2倍,是振蕩周期經二分頻后得到的
(3)機器周期:一個機器周期包含6個狀態(tài)周期S1~S6,也就是12個時鐘周期。在一個機器周期內,CPU可以完成一個獨立的操作。
?。?)指令周期:它是指CPU完成一條操作所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個機器周期組成。
MCS-51系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。
2.接受外部的控制,通過I/O來感受外部的電壓。
3.51單片機總共有P0、P1、P2、P3四個8位雙向輸入輸出端口,每個端口都有鎖存器、輸出驅動器和輸入緩沖器。4個I/O端口都能作輸入輸出口用。
二進制邏輯運算
“與”運算?
有0得0?
1&1=1 ; 1&0=0 ; 0&0=0 ;
“或”運算?
有1得1?
1|1=1 ; 1|0=1 ; 0|0=0;
“非”運算?
1的非得0,0的非得1。?
~1=0; ~0=1;
“異或”運算?
必須不同,否則沒有(0)?
1^1=0;1^0=1;0^0=0;
來原理圖?。。?
LED!原理圖
LED,即發(fā)光二極管,是一種半導體固體發(fā)光器件。
?LED的點亮方法?
點亮LED顆?。?/h2>
#include <REGX52.H>
#include <INTRINS.H>
void Delay50ms() //@11.0592MHz
{
unsigned char i,j,k;
_nop_();
i=4;
j=205;
k=187;
do{
do{
while (--k);
}while (--j);
}while(--i);
}
void main(){
while(1){
P2=0xAA;
Delay50ms();
P2=0XFF;
Delay50ms();
}
}
LED流水燈!
#include <REG52.H>
#include <INTRINS.H>
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 129;
k = 119;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(){
while (1){
P2=0xFE;
Delay500ms();
P2=0xFD;
Delay500ms();
P2=0xFB;
Delay500ms();
P2=0xF7;
Delay500ms();
P2=0xEF;
Delay500ms();
P2=0xDF;
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}
按住一個K1,亮起LED燈
#include <REGX52.H>
void main(){
while(1){
if(P3_1==0){
P2_0=0;
}
else{
P2_0=1;
}
}
}
#include <REGX52.H>
void Delay(unsigned int xms)
{
unsigned char i, j;
while (xms){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main(){
while(1){
if(P3_1==0){
Delay(20);
while(P3_1==0);
Delay(20);
P2_0=~P2_0;
}
}
}
獨立按鍵控制按鍵顯示二進制燈光
工程代碼:#include <REGX52.H>
void Delay(unsigned int xms)
{
unsigned char i, j;
while (xms--){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void main(){
while(1){
P2_0=0;
Delay(500);
P2_0=1;
Delay(500);
}
}
?插一張運算符含義圖(太重要了)
#include <REGX52.H>
#include <INTRINS.H>
void Delay50ms() //@11.0592MHz
{
unsigned char i,j,k;
_nop_();
i=4;
j=205;
k=187;
do{
do{
while (--k);
}while (--j);
}while(--i);
}
void main(){
while(1){
P2=0xAA;
Delay50ms();
P2=0XFF;
Delay50ms();
}
}
#include <REG52.H>
#include <INTRINS.H>
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 129;
k = 119;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(){
while (1){
P2=0xFE;
Delay500ms();
P2=0xFD;
Delay500ms();
P2=0xFB;
Delay500ms();
P2=0xF7;
Delay500ms();
P2=0xEF;
Delay500ms();
P2=0xDF;
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}
#include <REGX52.H>
void main(){
while(1){
if(P3_1==0){
P2_0=0;
}
else{
P2_0=1;
}
}
}
#include <REGX52.H>
void Delay(unsigned int xms)
{
unsigned char i, j;
while (xms){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main(){
while(1){
if(P3_1==0){
Delay(20);
while(P3_1==0);
Delay(20);
P2_0=~P2_0;
}
}
}
工程代碼:#include <REGX52.H>
void Delay(unsigned int xms)
{
unsigned char i, j;
while (xms--){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void main(){
while(1){
P2_0=0;
Delay(500);
P2_0=1;
Delay(500);
}
}
1.蜂鳴器!簡介:
蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發(fā)聲器件。我們開發(fā)板上常用的蜂鳴器就是常常說的交流蜂鳴器或直流蜂鳴器(自激式蜂鳴器)。 直流蜂鳴器是給一定的驅動直流電壓就會響。而交流蜂鳴器是需要給蜂鳴器一個脈沖才會響。常見的有PWM波控制蜂鳴器的頻率。脈沖就是高低電平的切換,如下圖:一個方波脈沖
?
文章來源:http://www.zghlxwxcb.cn/news/detail-403803.html
( 來一個實訓內容:三次閃燈,加上兩次左右燈光循環(huán)最后使用蜂鳴器發(fā)聲)!(手動打碼)
#include <REGX52.H>
#include <INTRINS.H>
typedef unsigned int u16;
typedef unsigned char u8;
sbit BEEP=P1^5;
void delay(u16 xs){
while(xs--);
}
void main(){
u16 i=2000;
u16 j=0;
while(1){
P2=0x00;
delay(50000);
P2=0xFF;
delay(50000);
P2=0x00;
delay(50000);
P2=0xFF;
delay(50000);
P2=0x00;
delay(50000);
P2=0xFF;
delay(50000);
P2=0xfe;
for(j=0;j<7;j++){
P2=_crol_(P2,1);
delay(50000);
}
for(j=0;j<7;j++){
P2=_cror_(P2,1);
delay(50000);
}
while(i--){
BEEP=!BEEP;
delay(300);
}
i=0;
BEEP=0;
}
}
單片機文章來源地址http://www.zghlxwxcb.cn/news/detail-403803.html
到了這里,關于51單片機的入門知識(獻給初學者最易懂的文章)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!