《51單片機應用開發案例手冊》主要介紹如何在51單片機的應用系統中使用51單片機的內部資源和外圍器件,這些資源和器件包括I/O引腳、外部中斷、定時/計數器、串行接口、人機交互通道、數據采集和輸出通道、存儲器模塊、通信模塊。另外,《51單片機應用開發案例手冊》還介紹了51單片機C語言部分庫函數的詳細使用方法,以及RTX51操作系統的工作原理和使用方法。
《51單片機應用開發案例手冊》實例的電路原理圖及程序源代碼可以到資源下載欄目下載,讀者根據自己的實際需要稍加修改即可使用。《51單片機應用開發案例手冊》包含豐富的單片機內部資源和外圍模塊的應用實例,作為一本單片機應用手冊,適合于具有單片機基礎知識的單片機工程師,以及高等院校電子類專業的學生和單片機愛好者參考閱讀。
第1章 51單片機I/O引腳應用實例
1.1 51單片機I/O引腳模塊基礎
1.2 I/O引腳驅動LED
1.2.1 LED的工作原理
1.2.2 應用實例——LED閃爍和流水燈
1.3 I/O引腳驅動數碼管
1.3.1 單位數碼管的工作原理
1.3.2 應用實例——流水數字
1.3.3 多位數碼管的工作原理
1.3.4 應用實例——多位數字顯示和流水數碼管顯示
1.4 I/O引腳驅動繼電器
1.4.1 繼電器的工作原理
1.4.2 功率驅動器件的工作原理
1.4.3 應用實例——輪流加熱顯示系統
1.5 I/O引腳驅動蜂鳴器
1.5.1 蜂鳴器的工作原理
1.5.2 應用實例——定時報警和音樂播放
1.6 I/O引腳擴展獨立按鍵、鍵盤和撥碼開關
1.6.1 獨立按鍵的工作原理
1.6.2 應用實例——按鍵指示和按鍵發聲
1.6.3 行列掃描鍵盤的工作原理
1.6.4 應用實例——計算器鍵盤
1.6.5 撥碼開關的工作原理
1.6.6 應用實例——地址碼設定
1.7 I/O引腳驅動電動機
1.7.1 直流電動機的工作原理
1.7.2 應用實例——按鍵控制直流電動機
1.7.3 步進電動機的工作原理
1.7.4 應用實例——按鍵控制步進電動機
第2章 51單片機外部中斷應用實例
2.1 51單片機中斷和外部中斷模塊基礎
2.1.1 中斷和外部中斷的相關控制
2.1.2 中斷的處理
2.1.3 編寫中斷服務函數
2.2 應用實例——外部中斷計數
2.3 應用實例——外部電平中斷實驗
2.4 應用實例——聯合中斷申請
第3章 51單片機的定時/計數器應用實例
3.1 51單片機定時/計數器基礎
3.1.1 定時/計數器的寄存器
3.1.2 定時/計數器的工作方式
3.1.3 定時/計數器的中斷
3.2 51單片機定時/計數器基礎應用
3.2.1 定時器應用實例1——T0方波發生器
3.2.2 定時器應用實例2——T1方波發生器
3.2.3 定時器應用實例3——PWM波形發生器
3.2.4 計數器應用實例1——按鍵燈控制
3.2.5 計數器應用實例2——按鍵計數
3.2.6 門控信號應用實例——脈沖寬度測量
3.3 51單片機定時/計數器綜合應用
3.3.1 應用實例——秒表
3.3.2 應用實例——門鈴
3.3.3 應用實例——交通燈
3.3.4 應用實例——聲光報警
第4章 51單片機的串行模塊應用實例
4.1 51單片機串行模塊基礎
4.1.1 串行模塊的寄存器
4.1.2 串行模塊的工作方式
4.1.3 串行模塊的中斷
4.2 工作方式0應用實例——雙機高速通信
4.3 工作方式1應用實例1——單片機和PC通信
4.4 工作方式1應用實例2——用單片機U1控制U2外圍LED閃爍
4.5 工作方式1應用實例3——單片機U1和單片機U2雙向控制
4.6 工作方式2應用實例——多點溫度采集
第5章 51單片機常用C語言庫函數應用實例
5.1 51單片機C語言庫函數基礎
5.1.1 庫文件和頭文件分類
5.1.2 庫函數實例應用電路
5.2 ASCII字符分類和轉換函數
5.2.1 isdigit函數應用實例
5.2.2 toint函數應用實例
5.2.3 toupper函數應用實例
5.3 內部函數
5.3.1 _crol_函數應用實例
5.3.2 _nop_函數應用實例
5.4 數學函數
5.4.1 abs函數應用實例
5.4.2 floor函數應用實例
5.4.3 modf函數應用實例
5.4.4 sqrt函數應用實例
5.5 輸入/輸出函數
5.5.1 putchar函數應用實例
5.5.2 printf函數應用實例
5.5.3 sprintf函數應用實例
5.6 數據類型轉換和存儲器定位函數
5.6.1 atoi函數應用實例
5.6.2 atof函數應用實例
5.6.3 rand函數應用實例
5.6.4 srand函數應用實例
5.7 字符串操作函數庫
5.7.1 memccpy函數應用實例
5.7.2 strlen函數應用實例
5.7.3 strcat函數應用實例
5.7.4 strncpy函數應用實例
5.7.5 strcmp函數應用實例
5.7.6 strstr函數應用實例
5.8 編譯常見報警錯誤及解決方法應用實例
5.8.1 變量未被使用警告(Warning280)
5.8.2 函數未被聲明警告(WarningC206)
5.8.3 頭文件無法打開錯誤(ErrorC318)
5.8.4 函數名稱重復定義錯誤(ErrorC237)
5.8.5 函數未被調用警告
5.8.6 函數未定義警告(WarningC206)
5.8.7 內存空間溢出錯誤警告
5.8.8 函數重入警告
5.8.9 常見Keil編譯錯誤
第6章 51單片機內部資源高階應用實例
6.1 擴展外部中斷應用實例
6.1.1 應用實例——使用定時/計數器來擴展外部中斷
6.1.2 應用實例——使用串行模塊來擴展外部中斷
6.2 使用I/O口進行串行通信應用實例
6.3 串行通信波特率自適應應用實例
6.4 使用軟件擴展多級中斷應用實例
6.5 可控PWM輸出應用實例
6.6 高速串行通信應用實例
6.6.1 波特率固定高速串行通信應用實例
6.6.2 波特率可變高速串行通信應用實例
6.7 51單片機內部資源綜合應用實例——投票系統
6.7.1 系統設計
6.7.2 應用代碼設計
第7章 RTX51實時多任務操作系統應用實例
7.1 RTX51基礎
7.1.1 RTX51占用的資源
7.1.2 RTX51的實現機制
7.1.3 應用實例——一個RTX51上的最簡單應用
7.2 RTX51的工作原理
7.2.1 時間片管理原理
7.2.2 任務管理原理
7.2.3 事件管理原理
7.2.4 任務調度管理
7.2.5 堆棧管理
7.3 RTX51的配置
7.3.1 RTX51的基礎配置
7.3.2 RTX51的庫文件配置
7.3.3 RTX51的優化配置
7.4 RXT51的庫函數
7.4.1 isr_send_signal函數
7.4.2 isr_set_ready函數
7.4.3 os_clear_signal函數
7.4.4 os_create_task函數
7.4.5 os_delete_task函數
7.4.6 os_reset_interval函數
7.4.7 os_running_task_id函數
7.4.8 os_send_signal函數
7.4.9 os_set_ready函數
7.4.1 0os_switch_task函數
7.4.1 1os_wait函數
7.5 RTX51的使用方法
7.5.1 建立用戶項目
7.5.2 修改RTX51配置
7.5.3 編寫用戶代碼
7.5.4 RTX51的編譯
7.5.5 RTX51的調試
7.6 應用實例——基于RTX51的交通燈
第8章 51單片機的外部資源擴展方法
8.1 數據-地址總線擴展方法
8.2 串行模塊擴展方法
8.3 I2C總線擴展方法
8.3.1 I2C總線擴展原理
8.3.2 應用實例——使用I/O端口來模擬I2C總線
8.4 SPI總線擴展方法
8.4.1 SPI總線擴展原理
8.4.2 應用實例——使用I/O端口來模擬SPI總線
8.5 1-wire(單線)總線擴展方法
8.5.1 1-wire總線擴展原理
8.5.2 應用實例——使用I/O端口來模擬1-wire總線
第9章 51單片機的I/O引腳擴展應用
9.1 使用74系列芯片來擴展I/O引腳
9.1.1 應用實例——使用74273來擴展輸出引腳
9.1.2 應用實例——使用74244來擴展輸入引腳
9.1.3 應用實例——使用74138來擴展輸出引腳
9.2 使用串行口來擴展I/O引腳
9.2.1 使用串行口來擴展輸出I/O引腳
9.2.2 使用串行口來擴展輸入I/O引腳
9.3 使用I/O引腳擴展I/O引腳
9.4 使用NEC8255擴展I/O引腳
9.4.1 NEC8255芯片介紹
9.4.2 NEC8255的典型擴展方法
9.4.3 應用實例——8位8段數碼管驅動
9.4.4 應用實例——4×8行列掃描鍵盤
第10章 51單片機人機交互通道擴展
10.1 使用MAX7219擴展多位數碼管
10.1.1 MAX7219介紹
10.1.2 MAX7219的數據格式
10.1.3 MAX7219的寄存器
10.1.4 應用實例——用MAX7219驅動8位數碼管
10.2 使用CH452擴展數碼管和按鍵
10.2.1 CH452芯片介紹
10.2.2 CH452的應用電路
10.2.3 應用實例——用CH452驅動4位數碼管和4×4行列鍵盤
10.3 使用1602液晶來顯示數字和字符
10.3.1 1602字符液晶介紹
10.3.2 1602字符液晶的應用電路和應用流程
10.3.3 應用實例——1602字符液晶循環顯示字符
10.4 使用12864液晶來顯示漢字和圖形
10.4.1 12864液晶模塊介紹
10.4.2 12864液晶模塊的操作流程
10.4.3 應用實例——12864液晶模塊的庫函數
10.4.4 應用實例——12864液晶顯示漢字和圖形
第11章 51單片機數據采集輸出通道擴展
11.1 A/D數據采集通道擴展
11.1.1 A/D數據采集通道工作原理
11.1.2 ADC0809并行A/D芯片擴展
11.1.3 TLC2543串行多通道A/D芯片擴展
11.1.4 ADS1100高精度A/D芯片擴展
11.2 D/A數據輸出通道擴展
11.2.1 D/A芯片的分類和特點
11.2.2 DAC0832并行D/A芯片擴展
11.2.3 MAX517串行D/A芯片擴展
11.3 DS18B20溫度芯片擴展
11.3.1 DS18B20溫度傳感器介紹
11.3.2 應用實例——串口溫度采集系統
11.4 PCF8563時鐘芯片擴展
11.4.1 PCF8563時鐘芯片介紹
11.4.2 應用實例——初始化PCF8563時鐘
11.4.3 應用實例——讀PCF8563時鐘信息
11.4.4 應用實例——設置PCF8563的報警信息
11.4.5 應用實例——PCF8563的秒中斷輸出
11.4.6 應用實例——PCF8563的秒時鐘信號輸出
第12章 51單片機的存儲器擴展應用
12.1 ROM存儲器和RAM存儲器擴展
12.1.1 ROM存儲器擴展
12.1.2 RAM存儲器擴展
12.1.3 應用實例——6264的數據讀/寫
12.2 E2PROM存儲器擴展
12.2.1 AT24系列E2PROM介紹
12.2.2 AT24系列E2PROM的操作
12.2.3 應用實例——AT24C04的字節寫
12.2.4 應用實例——AT24C04的連續讀
12.2.5 應用實例——用AT24C04存放音樂數據
12.3 SLE4442接觸式加密IC存儲卡擴展
12.3.1 SLE4442卡基礎
12.3.2 SLE4442卡的工作模式
12.3.3 SLE4442卡的命令
12.3.4 應用實例——SLE4442卡的庫函數
12.3.5 應用實例——基于SLE4442的簡易電子房卡
12.4 U盤存儲器擴展
12.4.1 CH376基礎
12.4.2 CH376的命令
12.4.3 CH376的硬件接口
12.4.4 CH376的應用電路
12.4.5 CH376的U盤擴展應用
12.4.6 應用實例——CH376的庫函數
12.4.7 應用實例——使用CH376建立文件并寫入數據
第13章 51單片機通信通道擴展
13.1 RS-232-C協議通信擴展
13.2 RS-422/485協議通信擴展
13.3 雙口RAM通信擴展
13.3.1 IDT7132雙口RAM介紹
13.3.2 應用實例——使用IDT7132進行雙單片機通信
13.4 無線數據通信擴展
13.4.1 PTR8000無線模塊介紹
13.4.2 PTR8000無線模塊的應用電路
13.4.3 51單片機擴展PTR8000無線模塊的軟件工作流程
13.4.4 應用實例——無線按鍵指示系統終端
第14章 51單片機應用系統綜合設計
14.1 51單片機應用系統設計基礎
14.1.1 51單片機應用系統設計流程
14.1.2 51單片機應用系統設計原則
14.2 51單片機應用系統——太陽能電池監控模塊
14.2.1 系統需求分析
14.2.2 系統設計
14.2.3 系統應用代碼設計
14.3 51單片機應用系統——手持傾角儀
14.3.1 系統需求分析
14.3.2 系統設計
14.3.3 系統應用代碼設計
#include<reg51.h>#define uchar unsigned charuchar num,time,limit=2;sbit led1=P1^0;sbit key1=P2...
加減一加法器,通過P1口輸入一個八位無符號數,P2口輸入另
8051單片機在一塊芯片上集成了一個微型計算機的主要部件,它包括以下幾部分: 1個8位微處理器(CPU)。 1個時鐘電路。 4KB程序存儲器。 256B數據存儲器。 2個16位定時/計數器。 64KB...
格式:pdf
大小:773KB
頁數: 22頁
評分: 4.4
基于 51單片機的電子時鐘設計 摘要 本電子時鐘以 STC89C52單片機作為主控芯片,采用 DS12C887時鐘芯片, 使用 1602液晶作為顯示輸出。該時鐘走時精確,具有鬧鐘設置,以及可同時顯 示時間、日期等多種功能。本文將詳細介紹該電子時鐘涉及到的一些基本原理, 從硬件和軟件兩方面進行分析。 【關鍵詞】 STC89C52單片機 DS12C887時鐘芯片 1602液晶 蜂鳴器 目 錄 一、緒論?????????????????????? 4 1.1 電子時鐘功能???????????????? 4 1.2 設計方案?????????????????? 4 二、硬件設計???????????????????? 4 2.1 51單片機部分設計???????????? 4 2.2 USB 供電電路設計???????????? 5 2.3 串行通信電路設計???????????? 6
格式:pdf
大小:773KB
頁數: 22頁
評分: 4.7
摘 要 本次的課程設計基于單片機技術原理,以美國 ATMEL公司開發的 AT89S52 芯片作為核心控制器。 通過硬件電路的制作及軟件程序的編制, 設計制作了一種 具有復位、校時功能的數字時鐘系統。利用 1602液晶同時顯示提示信息和時間 信息,用戶可通過系統上的按鍵對時間進行調整, 實現實時的時鐘顯示。 本次設 計的硬件由主控模塊、 復位模塊以及顯示模塊構成。 復位模塊主要由電阻、 電容、 按鍵和發光二極管組成而顯示模塊則由 1602字符液晶構成,用于顯示提示信息 和實時時鐘。 關鍵詞: AT89S52;LCD 1602; 實時時鐘 桂林電子科技大學課程設計(論文)報告用紙 Abstract The curriculum design is based on the principles of microcomputer technology and has adapted the
《51單片機典型應用開發范例大全》主要通過典型實例的形式,以51單片機的系統設計為主線,結合軟件和硬件,由淺入深、通俗易懂地介紹了51單片機應用系統開發的流程、方法、技巧和設計思想。
《51單片機典型應用開發范例大全》分為入門篇、提高篇和綜合實例篇三部分。入門篇介紹較為簡單的系統開發實例,通過學習可以幫助讀者加深理解51單片機功能擴展。提高篇中的實例一般需要借助于傳感器、執行機構及硬件接口電路完成設計,通過這部分內容的學習,可以提高讀者的開發能力,掌握常用外圍接口電路設計方法、傳感器應用開發、通信接口設計等。綜合實例篇通過詳細講解一些電子產品、工控產品的設計,使讀者了解單片機系統軟硬件的設計步驟和方法,強調了模塊化設計思想的重要性。
《51單片機典型應用開發范例大全》面向各領域的單片機設計用戶,尤其是對已掌握單片機開發理論但缺少實際開發經驗的讀者更具指導意義;同時也可作為各類高校相關專業和社會培訓班的教材使用。
本書以標準C語言和MCS-51單片機為基礎,系統地介紹了51單片機C語言程序設計方法與應用技術。本書在內容上重點突出實用性和應用性兩大特點,不僅對硬件接口進行了詳細的論述,而且對軟件的設計思想、程序流程圖以及C語言程序進行了重點講解。本書從應用性角度出發,融合了作者多年從事項目開發的大量實際案例,為幫助讀者理解,書中對案例程序代碼部分做了很詳細的注釋,以求通過案例闡述基本問題,著重培養和提高讀者的開發能力。
本書所附光盤中包括了書中所有案例的程序源代碼,讀者略作修改目口可在工程中應用。
本書可供從事51單片機應用與產品開發的技術人員學習使用,也可供高等院校電氣工程、電信工程、自動化等專業的師生參考使用。
原創經典,中科院一線研發工程師傾力打造
深入介紹51單片機編程語言,透析單片機硬件編程操作
通過大量典型應用案例,引領讀者迅速掌握51單片機開發技術