久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4806|回復: 0
打印 上一主題 下一主題
收起左側

零基礎學習C51單片機簡明實用教程--第一課點亮LED

[復制鏈接]
跳轉到指定樓層
樓主
ID:299360 發表于 2018-4-13 14:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下內容為我理解的單片機及程序。51單片機,簡單的可以實現交通燈功能,一般的可以驅動機器人,打印機等,可以實現溫度、壓力自動控制。復雜的可以制成例如俄羅斯方塊等游戲機。其他還有很多等待你改變世界......。

本課程以STC80C51系列芯片為基礎(STC80C52,STC80C51RC,80C52RC均可),強調實用、簡單為特點,適合沒有基礎的學生學習,后續課程陸續更新中。
適應范圍:有一點電子基礎,會用烙鐵(當然不會也可以用面包板),萬用表,這是一個硬件和軟件結合的事業,這里主要討論C程序部分.
學習前的準備工作:1.要有一塊學習版(因為新手焊接技術也不一定過關)或最小系統板。
                           2.要有電腦并安裝C程序編輯軟件KEIL、和燒錄芯片的軟件stc-isp-v6.86L程序見附件
                           3.能上網查詢相關資料,STC80C52資料見附件,相關軟件安裝及使用可搜索百度。
準備工作做完了我們來編程:
目標讓一個LED燈亮:  打開vision4軟件輸入

#include <at89x52.h>   //斜杠就是注釋的意思,第一行就是將at89x52的注冊表加進來                                                                //也可以在程序里點右鍵打開看看都有啥。編程必備語句。
void main()                 //程序從這開始,編程必備語句。
{                               //程序包含內容的起點標記
   P2_0=0;                    //讓芯片P2.0腳為低電平,如你的機器上P2.0腳連著LED,就可以點亮要注意學習板連接
  }                             //程序包含內容的終點標記

以上程序就寫完了,雖然不太標準,但好用,編輯一下形成.hex文件,這就是點亮一個LED的C 程序,然后用STC-ISP-V6.86燒錄
注意事項:
             1.  P一定要大寫,后面一定要加分號,0是零不是英文字母O
             2.  vision4軟件需設置HEX輸出,在閃存---配置閃存工具---輸出---選中產生HEX文件--確定,芯片ATMEL---AT89C51即可。
             3.  STC-ISP-V6.86軟件,注意先點下載,然后再打開學習版電源才能燒錄成功,芯片型號必須對
是不是很簡單啊,實際編程也沒那么難,不用學太多理論,先點亮一個燈再說這樣比較有興趣。那點亮兩個呢三個呢學習版一般會配7個你都可點亮
擴展:
       #include <at89x52.h>
        void main()
      {
       P2_0=0;
       P2_2=0;
       }

這就是點亮兩個的程序同樣你可以同時點亮7個(一般學習版會有七個供直接點亮的LED),其實能點亮LED理論上你就可以點繼電器模塊、直流小電機、小風扇等等。
讓我們再擴展一下讓蜂鳴器響:

        #include <at89x52.h>
        void main()
       {
         
         P1_5=~P1_5; //假設你的學習版P1.5是蜂鳴器那就可以響了
       }

注意:輸入程序一定要在純英文輸入狀態輸入這個~,它的意思是狀態翻轉從高電平到低電平再高電平循環,直接 P1_5=0是不行的,因為得震動,但發過來這個符號是可以點亮LED的,學不在多要會活用。

       #include <at89x52.h>
        void main()
      {
       P2_0=~P2_0;
        
       }

雖然是亮了只是有些暗,為什么呢?因為其實它是在快速閃,其實讓燈亮還有正規寫法
  
      #include "at89x52.h"   

      sbit led=P2^0;           //將單片機的P2.0端口定義為led

      void main()
     {
        while(1)     //后面括號里的程序循環
          {
          led=0;        //P2.0端口設置為低電平
          }               
     }

這又是一種寫法也可以點亮LED,自己多試驗一下吧。

學習板自帶的燒錄程序也可以燒錄,好處就是可以開機直接燒不用關機,壞處是有些芯片燒不了所以建議一開始就用STC-ISP燒。再拓展一下點亮LED的方法:
#include "at89x52.h"        
void main()
{
P2=0xfe;    //這點亮的是P2.0口的燈,P2.1是0xfd,全亮是0x00
}

這是16進制的表示方法,以后學習復雜的程序必須用的,所以有時間看看背一下2進制、10進制、16進制的轉換,有助于以后學習。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区在线视频 | 色综合久久天天综合网 | 国产在线中文字幕 | 国产成人一区二区三区电影 | 亚洲婷婷六月天 | 国产精品视频一区二区三 | 在线观看中文字幕一区二区 | 亚洲成人精品国产 | 中文字幕日韩欧美一区二区三区 | 日韩精品一区二区三区中文在线 | 国产激情视频 | 美女黄网站 | 日韩中文字幕在线视频 | 成人午夜电影在线观看 | 在线观看国产 | 一本一道久久a久久精品综合蜜臀 | 国产精品久久久久久久久久久久午夜片 | 久久综合久色欧美综合狠狠 | 蜜臀久久99精品久久久久久宅男 | 成人黄色a| 中文字幕亚洲区一区二 | 免费看爱爱视频 | 欧美成人一区二免费视频软件 | 国产一区91精品张津瑜 | 午夜一区二区三区在线观看 | 久久久久午夜 | 九一精品| 亚洲精品永久免费 | 中文字幕亚洲无线 | 久久精品网 | 国产在线精品一区二区三区 | 久久综合久| 98成人网 | 九九九精品视频 | 亚洲一区二区三区四区av | 一区二区三区四区av | 精品国产免费人成在线观看 | 性高湖久久久久久久久 | 桃花av在线 | 免费在线观看av的网站 | 99亚洲精品视频 |