-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

51單片機工程師是怎樣煉成的:基於C語言+Proteus仿真

( 簡體 字)
作者:老楊類別:1. -> 電腦組織與體系結構 -> 單晶片 -> 單晶片 -> 8051
譯者:
出版社:電子工業出版社51單片機工程師是怎樣煉成的:基於C語言+Proteus仿真 3dWoo書號: 31880
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:1/1/2012
頁數:408
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787121154676
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:


提起本書的寫作,還要從我以前寫的一份文檔《Protues-ATmega8仿真》說起。上大學時我學的是應用數學專業,因而對硬件了解比較少,在學習單片機時走了很多的彎路。自己學習單片機入門后,就想寫點東西,用來幫助和我一樣想學單片機但又不知道如何入門的人,于是就有了《Protues-ATmega8仿真》。也許是當時國內介紹Proteus的書還不多的原因吧,該文檔在網上轉載了很多,也有不少讀者來信索取后續文檔,但由于我后來開始學習ARM-Linux系統,就再也沒有時間去補充后面的章節了。
今年年初,收到電子工業出版社王敬棟編輯的邀請,問我是否有興趣寫本有關單片機的書。說實話,當時我很是興奮,一直都是在讀別人的書學習,從來沒想過自己也能寫本書。不過激動歸激動,真要開始寫書,我還是有些怯!總是怕自己寫不好,最后讓讀者花了銀子又浪費時間。后來在王編輯的一再鼓勵下,同時想到這幾年來那么多讀者鼓勵、索取資料的信件,我就決定花一段時間,寫下這幾年來對單片機的認識。
第一次寫書,因而籌劃書的內容就占用了我不少的時間。其中最難取舍的就是是否要在書中用單獨的篇幅講解C語言。我覺得如果你還不了解單片機,就談不上會使用匯編語言,那么C語言就是學習單片機最好的工具了。而且如果你有C語言程序設計的基礎,就可以輕松地走進單片機的世界,并且可以在這個世界里走得很遠。回想《Protues-ATmega8仿真》的讀者群大多是大二、大三的在校生,而我上大學時,大一下學期就開有C語言課程,加之出于書本厚度(價格)的考慮,最后我放棄了C語言篇的講解。
但是,在這里我還是要強調一下:如果您還沒有學習C語言程序設計,我建議您還是先認真地學習一下C語言,有了C語言的基礎,您才有希望在嵌入式開發中走得更遠。在此推薦兩本有關C語言的書:
譚浩強老師的《C語言程序設計》
林銳老師的《高質量程序設計指南——C++/C語言》
重點推薦林銳老師的《高質量程序設計指南——C++/C語言》,該書可以說是C語言程序設計的規范。即使您學過了C語言程序設計,我也建議您讀讀該書,因為它能指導您編寫更規范的代碼,會在以后的工作中給您更多的幫助!
寫本書的目的是想用另一種方式來講述單片機。在我們的大學里都是先講理論知識,然后再去做實驗。用理論指導實驗,可以讓我們清楚地知道實驗現象是怎么發生的,但這種方式的缺點是在我們學習理論時總感覺有些枯燥無味,因而導致的結果是理論學得不是很好,這樣實驗結果也就有些差強人意。本書就是寫給已經有C語言基礎,但還沒有接觸單片機理論的初學者,尤其適合于大二工科學生(電信、計算機、自動化等專業)。通過本書的學習希望大家能對單片機有個初步的認識,最好能培養出學習單片機的興趣,這樣在大三接觸單片機理論時就不會感覺那么枯燥了。
我總結單片機編程就是對其寄存器的控制。51單片機共有21個特殊功能寄存器,而我們要重點掌握的只有6個(需要熟練掌握對其位的操作),因而我說學習單片機其實很簡單:學會6個寄存器就學會了單片機程序設計。這樣如果我們一天掌握一個寄存器,那么6天就能學會單片機。
本書共三篇內容,可以說三篇內容是獨立的。第1篇入門篇,是對單片機概念的引入、工具的介紹、單片機基礎知識的講解。學習完第1篇內容你會對單片機有個整體的認識,也會知道單片機編程是怎么一回事,如果要深入學習可以看后面的章節,也可以直接選擇別的教程進一步研究。第2篇提高篇,是在第1篇內容的基礎上通過擴展外圍器件進一步講解單片機的應用,可以作為擴展內容學習。第3篇應用篇,通過實例的形式應用前兩篇的學習內容,如果你有一定的單片機基礎,也可以直接用來做參考樣例。
另外,本書除第18章外,所有的實例都沒有提供電子版代碼,因為我一直認為學習程序設計,最重要的就是要自己動手。只有自己把代碼一個字一個字地敲進去,自己建立工程、編譯、仿真,這樣才能學到其中的精髓,如果僅僅是運行、仿真一下別人寫好的程序,那是沒有什么意義的。甚至我認為你不但要學會、看懂、調通書上的例程,而且還要學會將自己的想法融入到實例之中,學會修改、優化代碼。正所謂傳授者應授人以漁而非授人以魚,而讀者若能做到收人以漁而非收人以魚,那將是完美的教與學的過程。書中的所有實例都是我一個一個輸入計算機做過仿真之后才復制到書中的,如果因為我的描述不清楚或其他原因使您調試不能通過,希望您能給我發郵件,或者直接登錄到我的博客(young45.cublog.cn)提問,我會盡快給您答復并給出解決辦法。
我的開放環境是Windows XP系統,使用的工具Proteus是7.5版本的,Keil C51是8.02版的,學習時最好能選擇相近的版本。
“學然后知不足,教然后知困。”以前隨手寫點東西倒也沒感覺有什么,現在真要寫成書了,才發現自己知識的匱乏。由于本人能力有限,寫作過程中難免會出現一些錯誤,如果您發現錯誤希望能給我發郵件:young45@126.com。
最后感謝我的家人,特別是我的父母,是他們用辛勤的汗水澆灌了我今天的成長。也感謝在寫書的過程中給予我幫助的朋友:王路、康磊、李洪國、李楠、李亞軍、劉遠峰、彭星、韓海洋、仝利鋒、許元霄、楊俊杰、趙景麗、周宏云、張占播等,是他們的關心和幫助讓我完成了本書。特別感謝遠在東北的朋友郝云鵬,我們是通過單片機認識的,在近幾年的工作和生活中他給我提供了很多的幫助。也感謝電子工業出版社的王敬棟編輯和為本書的編輯、校對付出辛勤勞動的同志,感謝這些年來在工作和學習中給我提供幫助的朋友!

老 楊
2011年10月完成于古都洛陽
內容簡介:

本書完整展現了一個51單片機工程師成長的經歷。51單片機共有21個特殊功能寄存器,而需要重點掌握的只有6個(需要熟練掌握對其位的操作),因而學習單片機其實很簡單:學會6個寄存器就學會了單片機程序設計。這樣如果一天掌握一個寄存器,那么6天就能學會單片機。

目錄:

第1篇 入 門 篇
第1章 走近單片機 2
1.1 我們身邊的單片機 2
1.2 認識單片機 5
1.3 了解51單片機 8
1.3.1 51單片機的由來 8
1.3.2 51單片機的特點 9
1.3.3 51單片機的代表AT89C51 10
第2章 練練我們的刀和劍:Proteus、Keil C51 13
2.1 Proteus介紹 13
2.1.1 安裝Proteus 13
2.1.2 運行Proteus 15
2.1.3 學用Proteus 17
2.2 Keil C51介紹 22
2.2.1 安裝Keil C51 22
2.2.2 運行Keil C51 23
2.2.3 學用Keil C51 27
2.3 刀劍合并 31
2.3.1 安裝VDM51.DLL 31
2.3.2 設置Keil C51和Proteus 33
2.3.3 聯合調試 37
第3章 讓你的單片機眨眨眼睛 42
3.1 我們的第一個單片機程序 42
3.1.1 先畫出我們要用的電路 42
3.1.2 用程序點亮我們的燈 47
3.1.3 分析代碼 52
3.2 不僅僅是讓它亮起來 55
3.2.1 怎么讓發亮的燈閃爍呢 55
3.2.2 代碼分析 56
3.2.3 調試分析 57
3.2.4 優化程序 58
3.3 做些程序的改動 60
3.3.1 改動延時時間 60
3.3.2 做個眾人皆知的跑馬燈 60
3.4 能不能連點花樣呢 64
3.4.1 想想你能畫什么 64
3.4.2 用代碼顯示數字 65
第4章 讓數字顯示出來 66
4.1 引入數碼管的概念 66
4.1.1 數碼管介紹 66
4.1.2 寫段程序讓它亮起來 67
4.1.3 數碼管的驅動方式 69
4.2 多顯示幾個數字看看 70
4.2.1 電路實現 70
4.2.2 程序實現 72
4.2.3 你的眼睛欺騙了你 73
4.3 仿真萬年歷 75
4.3.1 電路實現 75
4.3.2 程序實現 76
4.3.3 優化程序 77
第5章 用按鍵告訴單片機你想做什么 83
5.1 能不能讓閃爍的燈停下來 83
5.1.1 讓跑馬燈停下來 83
5.1.2 認識我們用的按鍵 86
5.2 如何實現軟件消抖 87
5.3 如何實現按鍵的復用 90
第6章 如何實時控制單片機 97
6.1 中斷的引入 97
6.1.1 中斷允許寄存器IE 97
6.1.2 定時/計數器控制寄存器TCON 98
6.1.3 中斷操作流程 99
6.2 原來按鍵還可以這樣用 100
6.2.1 寫個程序實現按鍵的中斷 100
6.2.2 不同的觸發方式 104
6.3 中斷的優先級 106
6.3.1 中斷優先級 106
6.3.2 了解更多中斷的概念 107
6.3.3 比較4個I/O口 108
第7章 讓定時更精確 110
7.1 定時/計數器概念 110
7.1.1 T0、T1介紹 110
7.1.2 復習寄存器IE、TCON、IP 110
7.1.3 介紹幾個專用寄存器 111
7.2 工作方式0的應用 112
7.3 工作方式1的應用 116
7.4 工作方式2的應用 119
7.5 工作方式3的應用 121
7.6 計數器介紹 124
第8章 單片機與外界的 聯系——串口通信 128
8.1 串口通信的概念 128
8.2 先試試如何發送 129
8.2.1 與串口通信有關的寄存器 129
8.2.2 先寫個示例程序 132
8.2.3 補充一點51單片機的串口知識 135
8.3 收發都能實現 138
8.3.1 將Proteus中的串口連接到硬件上 138
8.3.2 實現串口收發通信 143
8.3.3 用中斷的方式實現串口收發 146
第9章 讓單片機“響”起來 149
9.1 單片機還會響呢 149
9.1.1 了解一下蜂鳴器 149
9.1.2 寫個程序讓它響起來 149
9.2 用定時器模擬門鈴 152
9.3 用蜂鳴器演奏曲子 155
9.4 重新認識AT89C51 158
9.4.1 AT89C51的總體認識 158
9.4.2 AT89C51的引腳 160
9.4.3 有關AT89C51的寄存器 161

第2篇 提 高 篇
第10章 再說數碼管 168
10.1 使用擴展芯片驅動數碼管 168
10.1.1 認識擴展芯片74LS138 169
10.1.2 74LS138的應用 170
10.1.3 應用74HC154 172
10.1.4 有關譯碼器 174
10.2 顯示譯碼器 175
10.2.1 顯示譯碼器74LS48 175
10.2.2 顯示譯碼器的應用 176
第11章 按鍵多了怎么辦 180
11.1 看一個密碼鍵盤 180
11.1.1 矩陣鍵盤的實現 180
11.1.2 矩陣按鍵的掃描 181
11.2 是否可以擴展呢 185
11.2.1 了解編碼器 185
11.2.2 應用編碼器74LS148 187
第12章 深入串口通信 190
12.1 通信協議的引入 190
12.1.1 協議制定 190
12.1.2 樣例實現 191
12.2 讓單片機和PC真正通信 202
12.2.1 新建一個VC工程 202
12.2.2 添加VC控件 203
12.2.3 添加控件到界面 204
12.2.4 添加變量、完成代碼編寫 207
12.2.5 運行、調試 214
第13章 I2C總線及其應用 217
13.1 I2C總線介紹 217
13.1.1 初步了解I2C總線 217
13.1.2 I2C總線上的信號 218
13.2 認識E2PROM 24C02 222
13.2.1 認識AT24C02 222
13.2.2 AT24C02的操作地址 222
13.2.3 AT24C02的讀/寫操作 224
13.3 寫一個I2C通信的例子 226
第14章 SPI總線及其應用 236
14.1 SPI總線介紹 236
14.2 一款SPI接口的E2PROM 237
14.2.1 認識25AA040 238
14.2.2 25AA040的工作原理 239
14.3 應用25AA040 247
第15章 A/D轉換、D/A轉換 256
15.1 了解A/D轉換器的相關知識 256
15.1.1 A/D轉換器的分類 256
15.1.2 A/D轉換器的主要技術指標 257
15.2 看兩個A/D轉換器的例子 258
15.2.1 了解ADC0809 258
15.2.2 應用ADC0808 260
15.2.3 了解ADC0832 264
15.2.4 應用ADC0832 267
15.3 再看看D/A轉換器 271
15.3.1 了解D/A轉換器 271
15.3.2 D/A轉換器的主要技術指標 272
15.3.3 了解DAC0832 273
15.3.4 應用DAC0832 276
第16章 LCD顯示 279
16.1 先認識LED點陣屏 279
16.1.1 有關LED點陣屏 279
16.1.2 LED點陣的應用 280
16.2 使用字符LCD 283
16.2.1 了解LCD 283
16.2.2 認識LCD1602 284
16.2.3 LCD1602的指令說明 285
16.2.4 使用LCD1602 290
16.3 使用LCD12864 293
16.3.1 認識HDG12864L-6 294
16.3.2 HDG12864L-6指令說明 296
16.3.3 LCD12864的并行應用 307
16.3.4 LCD12864的串行應用 314

第3篇 應 用 篇
第17章 簡易萬年歷 324
17.1 電路設計 324
17.2 認識時鐘芯片DS1302 326
17.3 系統設計 332
第18章 溫度自動控制系統 348
18.1 系統模型 348
18.2 分析電路 350
18.2.1 電路分解 350
18.2.2 認識DS18B20 353
18.2.3 了解液晶AMPIRE128×64 364
18.3 系統設計 368
18.3.1 嵌入式系統設計 368
18.3.2 PC端軟件設計 379
附錄A AT89C51特殊功能寄存器速查表 384
附錄B Proteus 7.5元件庫分類表 386
附錄C 書籍、網站推薦 394
參考文獻 395
結束語 396
序: