c51單片機應用與c語言程序設計——基於機器人工程對象的項目實踐

C51單片機應用與C語言程序設計(第3版)——基於機器人工程對象的項目實踐

《c51單片機應用與c語言程序設計——基於機器人工程對象的項目實踐》是電子工業出版社出版的圖書。

內容簡介


本書以兩輪小型移動機器人的製作與編程項目為主線,通過循序漸進地構建機器人的控制器和感測器電路,並對機器人實現編程和控制,將C51單片機的外圍介面特性、內部結構原理、綜合應用設計和C語言程序設計等知識和技能傳授給學生,徹底打破了傳統的先理論后實驗的教學方法和教學體系結構,解決了單片機原理與應用,以及C語言程序設計等核心專業基礎課程抽象、枯燥與教學效果差的老大難問題。

基本信息


叢書名:工作導向創新實踐教材
作 譯 者:秦志強
出版時間:2016-02 千 字 數:350
版 次:01-01 頁 數:244

目錄結構


第1講機器人大腦:從BS2微控制器到C51單片機(1)
單片機和微控制器(1)
學習單片機的意義(2)
C51系列單片機(2)
機器人與C51單片機(4)
任務1 獲得軟體(4)
任務2 安裝軟體(5)
安裝Keil ?Vision2 (5)
任務3 硬體連接(5)
串口的連接(6)
USBASP下載器的連接(6)
電源的連接(6)
給教學板和單片機進行通電檢查(6)
任務4 第一個程序(7)
創建與編輯你的第一個程序(7)
常式:HelloRoBot.c (9)
程序調試(11)
下載可執行文件到單片機(12)
用串口調試軟體查看單片機輸出信息(13)
HelloRoBot.c是如何工作的(14)
printf函數(14)
HelloRoBotYourTurn.c是如何工作的(16)
任務5 做完實驗關斷電源(19)
第2講C51介面與伺服電機控制(20)
C51單片機的輸入/輸出介面(20)
任務1 單燈閃爍控制(21)
LED電路元件(21)
LED電路搭建(21)
常式:HighLowLed.c (22)
HighLowLed.c是如何工作的(22)
任務2 機器人伺服電機控制信號(26)
常式:BothServoClockwise.c (28)
任務3 計數並控制循環次數(29)
常式:ControlServoRunTimes.c (31)
常式:BothServosThreeSeconds.c (32)
任務4 用計算機來控制機器人的運動(33)
常式:ControlServoWithComputer.c (34)
ControlServoWithComputer.c是如何工作的(35)
第3講C語言函數與機器人巡航控制(37)
任務1 基本巡航動作(37)
常式:RobotForwardThreeSeconds.c (38)
RobotForwardThreeSeconds.c是如何工作的(38)
向後走,原地轉彎和繞軸旋轉(39)
常式:ForwardLeftRightBackward.c (40)
任務2 勻加速/減速運動(43)
編寫勻加速運動程序(43)
常式:StartAndStopWithRamping.c (44)
任務3 用函數調用簡化運動程序(46)
常式:MovementsWithFunctions.c (49)
常式:MovementsWithOneFuntion.c (51)
任務4 高級主題——用數組建立複雜運動(52)
字元型數據(53)
數組(54)
常式:NavigationWithSwitch.c (56)
NavigationWithSwitch.c是如何工作的(58)
常式:NavigationWithValues.c (59)
第4講C51介面與觸覺導航(62)
觸覺導航與單片機輸入介面(62)
任務1 安裝並測試機器人“鬍鬚” (63)
安裝“鬍鬚” (63)
測試“鬍鬚” (64)
常式:TestWhiskers.c (64)
位操作符(65)
if語句(66)
?操作符(66)
任務2 通過“鬍鬚”導航(69)
編程使機器人基於“鬍鬚”導航(69)
關係與邏輯運算符(70)
常式:RoamingWithWhiskers.c (71)
“鬍鬚”導航機器人怎樣行走(74)
任務3 機器人進入死區后的人工智慧決策(75)
編程逃離牆角死區(75)
常式:EscapingCorners.c (76)
EscapingCorners.c是如何工作的(79)
第5講C51介面與紅外線導航(81)
使用紅外線發射和接收器件探測道路(81)
紅外前燈(81)
任務1 搭建並測試IR發射和探測器對(82)
元件清單(82)
搭建紅外線前燈(82)
這裡為何要使用三極體9013 (84)
測試紅外發射探測器(84)
常式:TestLeftIrPair.c (85)
排錯(86)
函數延時的不精確性(87)
任務2 探測和避開障礙物(87)
改變“鬍鬚”程序,使其適用於IR檢測和躲避(88)
常式:RoamingWithIr.c (89)
任務3 高性能的IR導航(92)
在每個脈衝之間採樣以避免碰撞(93)
常式:FastIrRoaming.c (93)
FastIrRoaming.c是如何工作的(95)
任務4 俯視的探測器(97)
推薦材料(97)
用絕緣帶模擬桌子的邊沿(97)
邊沿探測編程(98)
常式:AvoidTableEdge.c (99)
AvoidTableEdge.c是如何工作的(101)
第6講C51定時器與機器人的距離檢測(104)
用同樣的IR LED/探測電路檢測距離(104)
推薦工具和原料(104)
任務1 定時/計數器的運用(104)
定時/計數器的控制(105)
工作模式(106)
定時/計數器初值的計算(106)
常式:TimeApplication.c (106)
TimeApplication.c是如何工作的(107)
中斷(108)
中斷優先順序(109)
任務2 測試掃描頻率(110)
紅外線探測器頻率探測(110)
用頻率掃描進行編程做距離探測(110)
常式:TestLeftFrequencySweep.c (111)
TestLeftFrequencySweep.c是如何工作的(112)
常式:DisplayBothDistances.c (114)
任務3 尾隨小車(114)
對尾隨車編程(116)
常式:FollowingRobot.c (117)
FollowingRobot.c是如何工作的(120)
任務4 跟蹤條紋帶(121)
搭建和測試路線(121)
需要的材料(121)
測試條紋帶(122)
絕緣帶路徑排錯(123)
編程跟蹤條紋帶(124)
常式:StripeFollowingRobot.c (124)
第7講C51的UART與機器人串口通信(126)
串口控制寄存器SCON (127)
什麼是波特率(127)
波特率的計算(127)
RS232電平與TTL電平轉換(128)
任務1 編寫串口通信程序(129)
常式:uart.h (129)
uart.h是如何工作的(132)
存儲器結構(132)
串口工作流程(133)
常式:HelloRoBot.c——printf("Hello,this is a message from your Robotn") (134)
常式:ControlServoWithComputer.c——scanf("%d",&PulseDuration) (134)
第8講 C51顯示介面編程與機器人應用(136)
LED數碼管的介紹(136)
任務1 數碼管顯示(136)
任務目的(138)
任務要求(138)
元件清單(138)
電路設計(138)
陰極數碼管顯示的源程序(140)
電路實物(141)
LCD顯示器的介紹(142)
任務2 認識LCD顯示器(142)
LCD顯示器與C51單片機的連接(142)
LCD控制器介面說明(143)
任務3 編寫LCD模塊驅動程序(145)
元件清單(146)
線路連接(146)
常式:LCDdisplay.c (146)
LCDdisplay.c是如何工作的(150)
指針(151)
任務4 用LCD顯示機器人運動狀態(152)
C語言的編譯預處理(152)
常式:MoveWithLCDDisplay.c (156)
MoveWithLCDDisplay.c是如何工作的(158)
第9講多感測器智能機器人(160)
任務1 多感測器信息與C語言結構體的使用和編程(160)
結構體(160)
常式:IRRoamingWithWithStructLCDDisplay.c (164)
IRRoamingWithWithStructLCDDisplay.c是如何工作的(165)
任務2 智能機器人的行為控制策略和編程(169)
常式:NavigationWithSensors.c (171)
NavigationWithSensors.c是如何工作的(173)
第10講機器人循線競賽(175)
競賽任務(175)
任務1 QTI感測器及其通信介面(176)
任務2 安裝QTI感測器到機器人前端(177)
任務3 編寫QTI感測器的測試程序(178)
Test4QTI.c是如何工作的(180)
任務4 設計演演算法實現機器人無接觸感測器游中國(182)
RobotTourChina.c是如何工作的(186)
執行調試(187)
任務5 修改演演算法實現機器人游中國(188)
任務6 用數組實現機器人游中國比賽(193)
任務7 改進運動執行程序提升執行的可靠性(199)
函數(203)
附錄A C語言概要歸納(208)
C語言概述(208)
數據類型、運算符與表達式(208)
分支結構程序(210)
循環控制(212)
數組(214)
函數(215)
預處理命令(215)
指針(217)
結構體(218)
位運算(219)
附錄B 微控制器原理歸納(221)
引言(221)
一些概念(221)
中央處理器(CPU) (222)
RAM和ROM (223)
地址匯流排、數據匯流排和控制匯流排(223)
微處理器和微控制器(224)
附錄C 無焊錫麵包板(225)
附錄D LCD模塊電路(228)
附錄E 本書所使用的機器人零配件清單(229)