C51單片機(jī)應(yīng)用與C語(yǔ)言程序設(shè)計(jì)(第4版) ――基于機(jī)器人工程對(duì)象的項(xiàng)目實(shí)踐
定 價(jià):49.8 元
- 作者:秦志強(qiáng)著
- 出版時(shí)間:2022/1/1
- ISBN:9787121379291
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁(yè)碼:240
- 紙張:
- 版次:01
- 開本:16開
本書以兩輪小型移動(dòng)機(jī)器人的制作與編程項(xiàng)目為主線,通過(guò)循序漸進(jìn)地構(gòu)建機(jī)器人的控制器和傳感器電路,并對(duì)機(jī)器人實(shí)現(xiàn)編程和控制,將C51單片機(jī)的外圍接口特性、內(nèi)部結(jié)構(gòu)原理、綜合應(yīng)用設(shè)計(jì)和C語(yǔ)言程序設(shè)計(jì)等知識(shí)和技能傳授給學(xué)生,徹底打破了傳統(tǒng)的先理論后實(shí)驗(yàn)的教學(xué)方法和教學(xué)體系結(jié)構(gòu),解決了單片機(jī)原理與應(yīng)用,以及C語(yǔ)言程序設(shè)計(jì)等核心專業(yè)基礎(chǔ)課程抽象、枯燥與教學(xué)效果差的老大難問(wèn)題。
秦志強(qiáng),男,全童科教(東莞)有限公司CEO,長(zhǎng)期致力于青少年STEAM教育研究和實(shí)踐工作,中國(guó)教育機(jī)器人大賽的創(chuàng)辦者。擁有全年齡段的機(jī)器人教育解決方案和配套教具。編著多部教材,多部教材獲得十二五國(guó)家規(guī)劃教材。
第1講 從Arduino到C51單片機(jī)\t(1)
單片機(jī)和微控制器\t(1)
學(xué)習(xí)單片機(jī)的意義\t(1)
C51系列單片機(jī)\t(2)
機(jī)器人與C51單片機(jī)\t(3)
任務(wù)1 獲得軟件\t(4)
任務(wù)2 安裝軟件\t(5)
安裝Keil μVision4\t(5)
任務(wù)3 硬件連接\t(5)
連接到計(jì)算機(jī)上\t(5)
電源的連接\t(6)
對(duì)教學(xué)板和單片機(jī)進(jìn)行通電檢查\t(6)
對(duì)教學(xué)板和單片機(jī)進(jìn)行通信連接\t(6)
任務(wù)4 第一個(gè)程序\t(7)
創(chuàng)建與編輯你的第一個(gè)程序\t(7)
第一個(gè)C語(yǔ)言程序:HelloRobot.c\t(9)
編譯你的第一個(gè)程序\t(10)
程序調(diào)試\t(11)
下載可執(zhí)行文件到單片機(jī)\t(12)
用串口調(diào)試軟件查看單片機(jī)輸出信息\t(13)
HelloRobot.c是如何工作的\t(13)
printf函數(shù)\t(14)
“while(1);”的作用\t(15)
HelloRobotYourTurn.c是如何工作的\t(16)
任務(wù)5 做完實(shí)驗(yàn)關(guān)斷電源\t(18)
第2講 C51接口與伺服電機(jī)控制\t(20)
C51單片機(jī)的輸入/輸出接口\t(20)
任務(wù)1 單燈閃爍控制\t(21)
LED電路元件\t(21)
LED電路搭建\t(21)
例程:HighLowLed.c\t(22)
HighLowLed.c是如何工作的\t(22)
任務(wù)2 機(jī)器人伺服電機(jī)控制信號(hào)\t(26)
例程:BothServoClockwise.c\t(28)
任務(wù)3 計(jì)數(shù)并控制循環(huán)次數(shù)\t(29)
例程:ControlServoRunTimes.c\t(31)
例程:BothServosThreeSeconds.c\t(33)
任務(wù)4 用計(jì)算機(jī)來(lái)控制機(jī)器人的運(yùn)動(dòng)\t(34)
例程:ControlServoWithComputer.c\t(34)
ControlServoWithComputer.c是如何工作的\t(35)
第3講 C語(yǔ)言函數(shù)與機(jī)器人運(yùn)動(dòng)控制\t(38)
任務(wù)1 基本運(yùn)動(dòng)動(dòng)作\t(38)
例程:RobotForwardThreeSeconds.c\t(39)
RobotForwardThreeSeconds.c是如何工作的\t(39)
向后走、原地轉(zhuǎn)彎和繞軸旋轉(zhuǎn)\t(40)
例程:ForwardLeftRightBackward.c\t(41)
任務(wù)2 勻加速/減速運(yùn)動(dòng)\t(44)
編寫勻加速運(yùn)動(dòng)程序\t(44)
例程:StartAndStopWithRamping.c\t(45)
任務(wù)3 用函數(shù)調(diào)用簡(jiǎn)化運(yùn)動(dòng)程序\t(47)
例程:MovementsWithFunctions.c\t(50)
例程:MovementsWithOneFuntion.c\t(52)
任務(wù)4 高級(jí)主題―用數(shù)組建立復(fù)雜運(yùn)動(dòng)\t(53)
字符型數(shù)據(jù)\t(54)
數(shù)組\t(55)
例程:NavigationWithSwitch.c\t(57)
NavigationWithSwitch.c是如何工作的\t(59)
例程:NavigationWithValues.c\t(60)
第4講 C51接口與觸覺(jué)導(dǎo)航\t(63)
觸覺(jué)導(dǎo)航與單片機(jī)輸入接口\t(63)
任務(wù)1 安裝并測(cè)試機(jī)器人“胡須”\t(63)
安裝“胡須”\t(64)
測(cè)試“胡須”\t(65)
例程:TestWhiskers.c\t(65)
位操作符\t(66)
if語(yǔ)句\t(67)
?操作符\t(67)
任務(wù)2 通過(guò)“胡須”導(dǎo)航\t(70)
編程使機(jī)器人基于“胡須”導(dǎo)航\t(70)
關(guān)系與邏輯運(yùn)算符\t(71)
例程:RoamingWithWhiskers.c\t(72)
“胡須”導(dǎo)航機(jī)器人怎樣行走\(yùn)t(75)
任務(wù)3 機(jī)器人進(jìn)入死區(qū)后的人工智能決策\(yùn)t(75)
編程逃離墻角死區(qū)\t(75)
例程:EscapingCorners.c\t(76)
EscapingCorners.c是如何工作的\t(79)
第5講 C51接口與紅外線導(dǎo)航\t(83)
使用紅外線發(fā)射和接收器件探測(cè)道路\t(82)
紅外前燈\t(82)
任務(wù)1 搭建并測(cè)試紅外發(fā)射和檢測(cè)器對(duì)\t(83)
元件清單\t(83)
搭建紅外前燈\t(83)
測(cè)試紅外發(fā)射和檢測(cè)器對(duì)\t(84)
例程:TestLeftIrPair.c\t(85)
排錯(cuò)\t(87)
函數(shù)延時(shí)的不精確性\t(87)
任務(wù)2 探測(cè)和避開障礙物\t(88)
改變“胡須”程序,使它適用于IR檢測(cè)和機(jī)器人躲避\t(88)
例程:RoamingWithIr.c\t(89)
任務(wù)3 高性能的IR導(dǎo)航\t(93)
在每個(gè)脈沖信號(hào)之間采樣以避免碰撞\t(93)
例程:FastIrRoaming.c\t(93)
FastIrRoaming.c是如何工作的\t(95)
任務(wù)4 俯視的紅外發(fā)射和檢測(cè)器對(duì)\t(97)
推薦材料\t(97)
用絕緣帶模擬桌子的邊沿\t(98)
編程檢測(cè)邊沿\t(98)
例程:AvoidTableEdge.c\t(99)
AvoidTableEdge.c是如何工作的\t(101)
第6講 C51定時(shí)器與機(jī)器人的距離檢測(cè)\t(104)
用同樣的IR組電路檢測(cè)距離\t(104)
推薦工具和材料\t(104)
任務(wù)1 定時(shí)/計(jì)數(shù)器的運(yùn)用\t(104)
定時(shí)/計(jì)數(shù)器的控制\t(105)
工作模式\t(105)
定時(shí)/計(jì)數(shù)器初值的計(jì)算\t(106)
例程:TimeApplication.c\t(106)
TimeApplication.c是如何工作的\t(107)
中斷\t(108)
中斷優(yōu)先級(jí)\t(108)
任務(wù)2 測(cè)試掃描頻率\t(109)
紅外檢測(cè)器頻率檢測(cè)\t(109)
用頻率掃描法進(jìn)行編程,做距離檢測(cè)\t(110)
例程:TestLeftFrequencySweep.c\t(110)
TestLeftFrequencySweep.c是如何工作的\t(112)
例程:DisplayBothDistances.c\t(114)
任務(wù)3 尾隨小車\t(114)
對(duì)尾隨車編程\t(116)
例程:FollowingRobot.c\t(117)
FollowingRobot.c是如何工作的\t(119)
任務(wù)4 跟蹤條紋帶\t(121)
搭建和測(cè)試路徑\t(121)
需要的材料\t(121)
測(cè)試條紋帶\t(121)
絕緣帶路徑排錯(cuò)\t(123)
編程跟蹤條紋帶\t(123)
例程:StripeFollowingRobot.c\t(124)
第7講 C51單片機(jī)的UART與機(jī)器人串口通信\t(126)
串口控制寄存器SCON\t(127)
什么是波特率\t(127)
波特率的計(jì)算\t(128)
RS232電平與TTL電平轉(zhuǎn)換\t(128)
任務(wù)1 編寫串口通信程序\t(129)
例程:uart.h\t(129)
uart.h是如何工作的\t(132)
存儲(chǔ)器結(jié)構(gòu)\t(132)
串口工作流程\t(133)
例程:HelloRobot.c―printf(\"Hello,this is a message from your Robot\
\")\t(134)
例程:ControlServoWithComputer.c―scanf(\"%d\",&PulseDuration)\t(134)
第8講 C51單片機(jī)顯示接口編程與機(jī)器人應(yīng)用\t(136)
LED數(shù)碼管\t(136)
任務(wù)1 數(shù)碼管顯示\t(136)
元件清單\t(138)
電路設(shè)計(jì)\t(138)
共陰極數(shù)碼管顯示的源程序\t(140)
電路連接\t(141)
任務(wù)2 認(rèn)識(shí)LCD顯示器\t(142)
LCD顯示器\t(142)
LCD顯示器與C51單片機(jī)的連接\t(142)
LCD接口說(shuō)明\t(143)
任務(wù)3 編寫LCD驅(qū)動(dòng)程序\t(145)
元件清單\t(146)
電路連接\t(146)
例程:LCDdisplay.c\t(146)
LCDdisplay.c是如何工作的\t(150)
指針\t(151)
任務(wù)4 用LCD顯示機(jī)器人運(yùn)動(dòng)狀態(tài)\t(152)
C語(yǔ)言的編譯預(yù)處理\t(152)
例程:MoveWithLCDDisplay.c\t(156)
MoveWithLCDDisplay.c是如何工作的\t(158)
第9講 多傳感器智能機(jī)器人\t(160)
任務(wù)1 多傳感器信息與C語(yǔ)言結(jié)構(gòu)體的使用和編程\t(160)
結(jié)構(gòu)體\t(160)
例程:IRRoamingWithWithStructLCDDisplay.c\t(164)
IRRoamingWithWithStructLCDDisplay.c是如何工作的\t(165)
任務(wù)2 智能機(jī)器人的行為控制策略和編程\t(169)
例程:NavigationWithSensors.c\t(171)
NavigationWithSensors.c是如何工作的\t(173)
第10講 機(jī)器人循線競(jìng)賽\t(175)
任務(wù)1 QTI傳感器及其通信接口\t(176)
任務(wù)2 安裝QTI傳感器到機(jī)器人前端\t(177)
任務(wù)3 編寫QTI傳感器的測(cè)試程序\t(178)
測(cè)試程序:Test4QTI.c\t(179)
Test4QTI.c是如何工作的\t(180)
任務(wù)4 設(shè)計(jì)算法實(shí)現(xiàn)機(jī)器人無(wú)接觸傳感器游中國(guó)\t(182)
例程:RobotTourChina.c\t(183)
RobotTourChina.c是如何工作的\t(186)
執(zhí)行調(diào)試\t(187)
任務(wù)5 修改算法實(shí)現(xiàn)機(jī)器人游中國(guó)\t(188)
任務(wù)6 用數(shù)組實(shí)現(xiàn)機(jī)器人游中國(guó)比賽\t(193)
任務(wù)7 改進(jìn)運(yùn)動(dòng)執(zhí)行程序,提升執(zhí)行的可靠性\t(199)
函數(shù)\t(203)
附錄A C語(yǔ)言概要?dú)w納\t(208)
C語(yǔ)言概述\t(208)
數(shù)據(jù)類型、運(yùn)算符與表達(dá)式\t(208)
分支結(jié)構(gòu)程序\t(210)
循環(huán)控制\t(212)
數(shù)組\t(214)
函數(shù)\t(215)
預(yù)處理命令\t(215)
指針\t(217)
結(jié)構(gòu)體\t(218)
位運(yùn)算\t(219)
附錄B 微控制器原理歸納\t(221)
引言\t(221)
一些概念\t(221)
中央處理器(CPU)\t(222)
RAM和ROM\t(223)
地址總線、數(shù)據(jù)總線和控制總線\t(223)
微處理器和微控制器\t(224)
附錄C 無(wú)焊料面包板\t(225)
附錄D LCD模塊電路\t(228)
附錄E 本書所使用的機(jī)器人零配件清單\t(228)