日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

郭天祥 十天搞定单片机 (1)基础知识和点亮发光二极管

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 郭天祥 十天搞定单片机 (1)基础知识和点亮发光二极管 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

把手伸向了經典之作郭天祥。這個教程2018年就買了,一直沒有學完。寫學習筆記就要督促自己好好學習!

  • 什么是單片機

?????? 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。

  • 51 單片機

Intel, MCS-51系列,集成8位CPU,4K ROM,128K RAM,4個8位并口,1個全雙工串行口,2個16位定時/計數器。尋址范圍64K,并又控制功能較強的布爾處理器。

  • 電平特性

單片機用的是TTL電平,高 +5V,低 0V ; 計算機的串口, RS232電平,高 -12V,低 +12V。所以在計算機和單片機通訊時(燒錄軟件)要添加轉換芯片max 232

  • 二進制的邏輯運算
    • 與,符號·,&
    • 或,符號+,|
    • 非,符號:上面一橫
    • 異或:符號⊕,相同為0,不同為1

  • 80C51系列介紹

80C51是MCS-51系列中的經典品種,其他廠商以8051為基核開發的都叫80C51系列。試驗板是

STC89C52RC40C-PDIP0721CV4336

STC: 廠商

89:89系列

C:CMOS工藝

52:51,54,55,58,516,5后面代表程序存儲空間大小,2*4K=8K

40: 所能支持的晶振的最高頻率是40M Hz

C: commercial, 商業級,還有I,industrial,工業級

DIP:封裝格式

P-DIP:雙列直插式

0721:07年第21周生產

  • 總線型和非總線型:總線型可以看到P0,P1,P2。。。每組都有8位
  • 看P3口的接口定義
  • 8051的內部結構

  • 總線:分為內部總線和外部總線,外部總線三種:數據總線DB,地址總線AB,控制總線CB
  • CPU:由運算和控制邏輯組成,還包括中斷系統和部分外部特殊功能寄存器
  • RAM:存放可以讀寫的數據
  • ROM:存放程序和原始數據
  • C51語言中的基本數據類型
    • 有無符號:有符號的數,最高位是符號位,1為負數,0為正數
    • 浮點型:float,

SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM

S 代表符號位,標E的位,表示E后面的數字,M表示前面的數字

  • Double:

SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM

  • C51的數據類型擴充定義
    • Sfr: 特殊功能寄存器聲明
    • Sfr16: sfr的16位數據聲明
    • Sbit: 特殊功能位聲明
    • Bit:位變量聲明
    • 例如:sfr SCON=0X98;
    • Sbit OV=PSW^2; //把PSW寄存器的第二位定義為OV,以后想操作這個位時使用OV就可以了
  • C51包含的頭文件
    • 通常有reg51.h, reg52.h, math.h, ctype.h, stdio.h, stdlib.h, absacc.h
    • 常用的有reg51.h, reg52.h 定義特殊功能寄存器和位寄存器; math.h, 定義了常用的數學運算
    • 使用時寫#include<reg51.h> (例子)就可以了
  • C51的運算符
    • 基本的加減乘除、大于小于
    • &&邏輯與
    • ||邏輯或
    • !邏輯非
    • >> , << 位右移,位左移 (用0來補空位,還有一個循環右移、循環左移)
    • & 按位與
    • | 按位或
    • ^ 按位異或
    • ~按位取反
  • C51的基本語句
    • If
    • While
    • for
    • Switch/ case
  • 中斷服務程序
  • I/O口定義
  • 單片機最小系統能運行起來的條件:電源;晶振;復位電路(程序從頭運行)
  • 每個C語言文件至少有一個main函數, void main() {}
  • 學習目標
    • 對單片機的I/O口進行操作
    • 定時器的用法
    • 中斷:外部中斷,定時器中斷;串口中斷
    • 串口通信:單片機之間,單片機和計算機之間

  • 電路圖繪制軟件:altium Designer
  • 參考書:C語言,單片機C語言。。。

  • Keil軟件的使用
    • 先新建一個project
    • 選擇使用的芯片, Atmel 89C52
    • 新建一個file
    • 保存,注意保存為.c的后綴
    • 選擇target1 下,點擊source group, 右鍵,選擇 add file to source group
    • 編寫程序
      • 位操作方法
#include<reg52.h>sbit D1=P1^0; //定義P1第0位為D1void main(){D1=0;// 低電平,電路導通,發光二極管點亮}
  • 總線操作方法
#include<reg52.h>void main(){P1=0Xfd;}

想要第二個燈亮,就是第二個為0,從7位到0位依次是1111 1101, 寫成16進制就是fd

  • 編譯

  • 選擇生成hex文件,再編譯就會生成hex文件,這個就是燒錄的軟件
  • 這個單片機支持串口下載程序,要用STC_ISP來燒軟件
  • 打開軟件后,修改使用的芯片,串口號,波特率,打開hex文件
  • 下載程序要“冷啟動”,即先下載軟件,再上電
  • 看電路原理圖
    • 限流電阻的計算
    • 鎖存器的使用:
      • DIOLA可以看到是從89C52連出來的
      • 查看芯片手冊有真值表
      • L表示低電平,H表示高電平,X表示任意,Z是高阻態,介于高低電平之間,Q0是上一次的值
      • 之所以用一個鎖存器,是為了防止發光二極管閃爍

總結

以上是生活随笔為你收集整理的郭天祥 十天搞定单片机 (1)基础知识和点亮发光二极管的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。