子情境1:簡(jiǎn)單實(shí)例助你快速掌握PROTEUS的用法 12
1.1 子情境內(nèi)容:讓單片機(jī)動(dòng)起來,用單片機(jī)控制一個(gè)LED燈閃爍發(fā)光。 15
1.2 子情境目標(biāo): 15
1.3 子情境步驟 15
1.3.1步驟一: PROTEUS電路設(shè)計(jì) 15
1.3.2步驟二:源程序設(shè)計(jì)與生成目標(biāo)代碼文件 20
(1)程序流程圖 20
(2)源程序設(shè)計(jì) 21
1.3.3 步驟三:PROTEUS仿真 22
1.4 擴(kuò)展練習(xí) 24
子情境二:用發(fā)光二極管實(shí)現(xiàn)流水燈乒乓球效果 25
2.1 子情境目標(biāo): 25
2.2 子情境步驟 25
2.2.1 步驟一: PROTEUS電路設(shè)計(jì) 25
2.2.2步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 26
(1)程序流程圖 26
(2)源程序設(shè)計(jì) 27
2.2.3 步驟三:PROTEUS仿真 29
2.4 擴(kuò)展練習(xí) 29
子情境三:數(shù)碼管動(dòng)態(tài)掃描 30
3.1子情境內(nèi)容:利用動(dòng)態(tài)掃描讓四位數(shù)碼管穩(wěn)定的顯示1234。 30
3.2 子情境目標(biāo): 30
(1)掌握單片機(jī)控制四位數(shù)碼管的動(dòng)態(tài)掃描技術(shù),包括程序設(shè)計(jì)和電 30
3.3 知識(shí)點(diǎn)鏈接 30
3.4 任務(wù)步驟 31
3.4.1 步驟一:PROTEUS電路設(shè)計(jì),單片機(jī)控制四位共陰極數(shù)碼管動(dòng)態(tài)掃描顯示的原理圖如圖5-17所示。 31
3.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 33
(1)程序流程圖 33
(2)源程序設(shè)計(jì) 33
3.4.3 步驟三:PROTEUS仿真 35
3.5 擴(kuò)展練習(xí) 36
子情境四:定時(shí)/計(jì)數(shù)器的使用——方波發(fā)生器 37
4.1子情境內(nèi)容:用AT89C51單片機(jī)定時(shí)/計(jì)數(shù)器0的定時(shí)功能可構(gòu)成一簡(jiǎn)單的方波發(fā)生器,實(shí)現(xiàn)周期為2s的方波,并能在虛擬示波器上直觀地顯示波形。 37
4.2 子情境目標(biāo): 37
4.3 知識(shí)點(diǎn)鏈接 37
4.4.1 步驟一:PROTEUS電路設(shè)計(jì),實(shí)現(xiàn)周期為2s的方波的原理圖如圖5-22所示。 37
(1)程序流程圖 38
(2)源程序設(shè)計(jì) 38
4.4.3 步驟三:PROTEUS仿真 39
4.5 擴(kuò)展練習(xí) 41
子情境五:?jiǎn)纹瑱C(jī)外部中斷仿真 42
5.1子情境內(nèi)容:外部中斷是單片機(jī)的重要內(nèi)容,本子情境用外部中斷功能改變流水燈和數(shù)碼管的顯示狀態(tài)。 42
5.2 子情境目標(biāo): 42
(1)理解單片機(jī)的中斷原理及中斷過程 42
(2)用PROTEUS設(shè)計(jì)、仿真單片機(jī)的外部中斷。 42
5.3 知識(shí)點(diǎn)鏈接 42
5.4 任務(wù)步驟 42
5.4.1 步驟一:PROTEUS電路設(shè)計(jì),實(shí)現(xiàn)外部中斷功能改變流水燈和數(shù)碼管的顯示狀態(tài)的原理圖 42
5.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 43
(1)程序流程圖 43
(2)源程序設(shè)計(jì) 43
5.4.3 步驟三:PROTEUS仿真 45
5.5 擴(kuò)展練習(xí) 47
主程序中數(shù)碼管從0至9順序顯示數(shù)字,中斷發(fā)生后(在單片機(jī)P3.2引腳上有低電平),數(shù)碼管從9至0反序顯示。 47
子情境六:直流電機(jī)正反轉(zhuǎn) 48
6.1子情境內(nèi)容:用單片機(jī)AT89C51控制直流電機(jī)正反轉(zhuǎn)。 48
6.2 子情境目標(biāo): 48
(1)掌握趨動(dòng)電機(jī)正反轉(zhuǎn)的電路 48
(2)用PROTEUS實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)電路的設(shè)計(jì),并進(jìn)行實(shí)時(shí)交互仿真 48
6.3 知識(shí)點(diǎn)鏈接 48
6.4 任務(wù)步驟 48
6.4.1 步驟一:PROTEUS電路設(shè)計(jì),實(shí)現(xiàn)用單片機(jī)AT89C51控制直流電機(jī)正反轉(zhuǎn)原理圖 48
6.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 50
(1)程序流程圖 50
(2)源程序設(shè)計(jì) 51
6.4.3 步驟三:PROTEUS仿真 52
6.5 擴(kuò)展練習(xí) 53
子情境七:用ADC0809實(shí)現(xiàn)電壓表 55
7.1子情境內(nèi)容:利用單片機(jī)AT89C52和ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量0-5V之間的電壓值,用四位數(shù)碼管顯示。 55
7.2 子情境目標(biāo): 55
(1)掌握PROTEUS中電壓探針和電壓表的使用方法 55
(2)通過制作簡(jiǎn)易電壓表,學(xué)會(huì)AD轉(zhuǎn)換芯片在單片機(jī)應(yīng)用系統(tǒng)中的硬件接口技術(shù)和編程方法。 55
7.3 知識(shí)點(diǎn)鏈接 55
了解ADC0809芯片的功能以及使用方法 55
(1)功能:ADC0809芯片為8通道模/數(shù)轉(zhuǎn)換器,可以和單片機(jī)直接接口,將IN0~IN7任何一通道輸入的模擬電壓轉(zhuǎn)換成八位二進(jìn)制數(shù),在時(shí)鐘為500KHZ時(shí),一次變換時(shí)間約為100us。 55
(2)使用方法:28腳雙列直插式封裝如圖5-39所示,各引腳功能如下: 55
7.4 任務(wù)步驟 56
7.4.1 步驟一:PROTEUS電路設(shè)計(jì),利用單片機(jī)AT89C52和ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表的原理圖如圖5-40所示。 56
7.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 58
(1)程序流程圖 58
(2)源程序設(shè)計(jì) 59
7.4.3 步驟三:PROTEUS仿真 62
7.5 擴(kuò)展練習(xí) 66
子情境八:1602液晶顯示器 67
8.1子情境內(nèi)容:利用單片機(jī)AT89C52控制液晶顯示器(Liquid Crystal Display,簡(jiǎn)稱為L(zhǎng)CD)實(shí)時(shí)顯示。在1602液晶的第一行顯示“I LOVE MY FAMILY”,在第二行顯示“WWW.YZCIT.CN”。 67
8.2 子情境目標(biāo): 67
(1)掌握1602液晶與單片機(jī)的接口電路 67
(2)通過控制LCD,學(xué)會(huì)LCD液晶模塊在單片機(jī)應(yīng)用系統(tǒng)中的編程方法。 67
8.3 知識(shí)點(diǎn)鏈接 67
了解LCD1602芯片的功能以及使用方法 67
(1)功能:本情境中所使用的液晶顯示器型號(hào)為1602,意思是每行顯示16個(gè)字符,一共可以顯示兩行。此液晶只能顯ASCII字符,如數(shù)字、大小寫字母、各種符號(hào)等。 67
(2)使用方法:1602液晶的引腳圖 67
8.4 任務(wù)步驟 68
8.4.1 步驟一:PROTEUS電路設(shè)計(jì),利用單片機(jī)AT89C52控制液晶顯示器實(shí)時(shí)顯示的原理圖如圖5-46所示。 68
8.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 69
(1)程序流程圖 69
(2)源程序設(shè)計(jì) 69
8.4.3 步驟三:PROTEUS仿真 71
8.5 擴(kuò)展練習(xí) 72
子情境九:簡(jiǎn)易秒表制作 73
9.1子情境內(nèi)容:制作簡(jiǎn)易秒表,利用按鍵構(gòu)成鍵盤實(shí)現(xiàn)秒表的啟動(dòng)、停止與復(fù)位,利用LED數(shù)碼管顯示時(shí)間。 73
9.2 子情境目標(biāo): 73
(1)通過簡(jiǎn)易秒表的制作,進(jìn)一步熟悉LED數(shù)碼管與單片機(jī)的接口電路 73
(2)學(xué)習(xí)定時(shí)/計(jì)數(shù)器、中斷技術(shù)的綜合運(yùn)用并會(huì)使用簡(jiǎn)易鍵盤 73
9.3 知識(shí)點(diǎn)鏈接 73
9.4 任務(wù)步驟 73
9.4.1 步驟一:PROTEUS電路設(shè)計(jì),簡(jiǎn)易秒表的原理圖如圖5-51所示。 73
9.4.2 步驟二:源程序設(shè)計(jì)與目標(biāo)代碼文件生成 74
(1)程序流程圖 74
(2)源程序設(shè)計(jì) 76
9.4.3 步驟三:PROTEUS仿真 79
9.5 擴(kuò)展練習(xí) 81
此子情境設(shè)計(jì)的秒表只能顯示兩位整數(shù),如果要記錄110跨欄12:88秒的成績(jī),則必須再增加兩位數(shù)碼管來顯示小數(shù)位。想想硬件和軟件應(yīng)該做如何改動(dòng)。 81
子情境十:點(diǎn)陣LED簡(jiǎn)單圖形顯示技術(shù) 82
10.1子情境內(nèi)容:利用單片機(jī)AT89C52在8×8點(diǎn)陣上逐次顯示心形、圓形和菱形圖。 82
10.2 子情境目標(biāo): 82
(2)源程序設(shè)計(jì) 85