A. 試舉例說明mcs-51單片機在現實生活中的應用,並說明哪些功能被使用及實現的過
38./RD
39.6個
40.片外數據存儲器
41.自然優先順序最先訪問
42.自然優先順序最後訪問
43.EA接地,只訪問片內程序存儲器,EA接高電平,先訪問片內程序存儲器,超過4KB范圍訪問片外程序存儲器
44.MOV訪問片內數據存儲器,MOVX訪問片外數據存儲器
45.P0
46.P0
47.讀出數據操作
48./PSEN
49.外部中斷0
B. 怎樣學習51單片機
單片機學習如何入門LUOKUI很多搞電子類行業的朋友都夢想自己成為搞硬體的高手,然而搞硬體難就難在沒有頭緒,學習硬體技術找到一個合適的入手點是最重要的。比較流行的硬體技術有數字系統設計、模擬電路系統設計、射頻電路系統設計以及以上三類的混合。模擬與射頻的設計入門門檻比較高而且市場份額比較小,因此學習硬體技術從數字電路入手是最容易而且是最具基礎性的,而數字電路的設計又以單片機的學習為基礎,學習單片機不僅僅是學習一項技術,更重要的是建立起一種數字系統設計的概念,為以後學習其他高檔數字器件以及模擬、射頻電路打下基礎。現在單片機的主流仍然是8位單片機(例如MCS51、AVR、PIC、NEC、瑞薩系列)以及少數16位單片機(例如MSP430、凌陽系列)。在學校的單片機教學中,幾乎都是以MCS51為主。但實際應用中卻不是這樣,在國外的DIY愛好者中,PIC單片機是最流行的;在國內,AVR單片機非常火。所以我要先談談單片機學習的兩種路子。其一是傳統的穩扎穩打型:從MCS51的匯編語言設計以及硬體電路設計開始入手,匯編語言程序設計熟悉了之後(這大概需要半年至一年的時間),對MCS51的內部硬體構成也有了很深的理解,這時再學習51單片機C語言設計(因為實際的大工程不可能用匯編完成),51的資源很有可能不夠用,就要換用其他型號的單片機(例如AVR、430)。這種路子的優點在於基礎厚實,MCS51的匯編語言運用熟練之後,學習其他單片機會很容易上手。但從匯編向C語言的思維轉變是一個比較痛苦的過程。其二是自頂向下型:選定一種實際工程中比較實用的單片機,直接學習怎樣使用C語言來開發它,在較短的時間內掌握對其IO口、定時器、中斷的操作,然後再慢慢了解晶元內部的硬體構成細節。這種路子的優點有很多:初入門時不需要花比較長的時間去學習單片機內部硬體構成結構之類很枯燥的東西,只要明白C語言的變數與單片機的IO口等模塊的寄存器、一個函數與單片機的一項功能、順序語句與單片機的順序輸出、條件語句與單片機的輸入輸出間條件關系、循環語句與單片機的反復型輸出是怎樣映射的就可以完成很多範例項目的開發,可以保持住學習的興趣;可以直接學習實際工程中用得到的東西,不必完成從MCS51向其他單片機的轉變。我推薦大多數的,尤其是已經參加工作的初學者朋友,走第二種路子,而且推薦大家採用AVR系列單片機中的ATmega16來入門。因為AVR相比51和其他單片機有諸多優點。首先是最小系統設計容易,只需要連接電源、焊接晶振就可以工作,尤其是對時鍾精度要求不太高的話晶振都可以省去,因為AVR帶有內部RC振盪器,相比之下51單片機需要外接上電復位電路(AVR內部自帶這個電路而且性能比51的RC復位要好)、EA/VPP引腳要上拉、P0口要上拉等等,光建立最小系統就是很麻煩的一件事。其次很多概念初學者理解起來更容易,AVR的時鍾源(晶振、內部RC等)不經過分頻直接提供給CPU使用,例如AVR外接10MHz的晶振其CPU的時鍾周期就是1/10MHz=0.1uS,而51的時鍾源要12分頻後提供給CPU,12MHz的晶振對應的CPU時鍾頻率是1MHz,這一點尤其是在計算定時器相關的設置時AVR非常方便。第三,相比例如PIC、430等其他單片機,AVR既具有簡單的、可以自製的ISP下載線和Jtag模擬器,又有DIP直插的封裝形式,而且網路上AVR有關的中文資料非常多,尤其是有Atmel公司官方翻譯的中文技術文檔,大大方便初學者的入門。.第四,AVR的C語言編程與教科書上學習的C語言語法是幾乎一樣的,不像51的C語言,一些bit、srf之類的變數定義在教科書中是找不到的,在更高層次的ARM、DSP的C語言中也是沒有那樣用的,僅僅是51獨有的用法,尤其是bit變數的用法很「匯編化」,會給後續的嵌入式系統的程序設計形成不好的思維模式。而AVR的設計很入嵌入式系統設計的主流,有利於後續的發展。說了這么多「空洞」的東西,我們說點比較實在的吧,我也是初學者過來的,比較了解初學者的心理,恨不得你給他制定出第一步、第二步、第三步該干什麼,那我就按照這個模式講一下:Step1,准備萬用板三塊,查找Jtag、ISP的電路,焊接,用掉兩塊板;剩下的一塊用來焊接AVR的最小系統。Step2,在ATmega16的一個8位IO口上焊接8個LED(注意要串接220歐姆限流電阻哦)。Step3,寫一個流水燈的小程序。
C. MCS-51單片機應用設計的圖書目錄
1.1單片機的歷史及發展概況
1.2單片機的發展趨勢
1.3單片機的應用
1.3.1單片機的特點
1.3.2單片機的應用范圍
1.48位單片機的主要生產廠家和機型
1.5MCS-51系列單片機 2.1MCS-51單片機的硬體結構
2.2MCS-51的引腳
2.2.1電源及時鍾引腳
2.2.2控制引腳
2.2.3I/O口引腳
2.3MCS-51單片機的中央處理器(CPU)
2.3.1運算部件
2.3.2控制部件
2.4MCS-51存儲器的結構
2.4.1程序存儲器
2.4.2內部數據存儲器
2.4.3特殊功能寄存器(SFR)
2.4.4位地址空間
2.4.5外部數據存儲器
2.5I/O埠
2.5.1I/O口的內部結構
2.5.2I/O口的讀操作
2.5.3I/O口的寫操作及負載能力
2.6復位電路
2.6.1復位時各寄存器的狀態
2.6.2復位電路
2.7時鍾電路
2.7.1內部時鍾方式
2.7.2外部時鍾方式
2.7.3時鍾信號的輸出 3.1MCS-51指令系統的定址方式
3.1.1寄存器定址
3.1.2直接定址
3.1.3寄存器間接定址
3.1.4立即定址
3.1.5基址寄存器加變址寄存器間址定址
3.2MCS-51指令系統及一般說明
3.2.1數據傳送類指令
3.2.2算術操作類指令
3.2.3邏輯運算指令
3.2.4控制轉移類指令
3.2.5位操作類指令 4.1定時器/計數器的結構
4.1.1工作方式控制寄存器TMOD
4.1.2定時器/計數器控制寄存器TCON
4.2定時器/計數器的四種工作方式
4.2.1方式0
4.2.2方式1
4.2.3方式2
4.2.4方式3
4.3定時器/計數器對輸入信號的要求
4.4定時器/計數器編程和應用
4.4.1方式o應用(1ms定時)
4.4.2方式1應用
4.4.3方式2計數方式
4.4.4方式3的應用
4.4.5定時器溢出同步問題
4.4.6運行中讀定時器/計數器
4.4.7門控制位GATE的功能和使用方法(以T1為例) 5.1串列口的結構
5.1.1串列口控制寄存器SCON
5.1.2特殊功能寄存器PCON
5.2串列口的工作方式
5.2.1方式0
5.2.2方式1
5.2.3方式2
5.2.4方式3
5.3多機通訊
5.4波特率的制定方法
5.4.1波特率的定義
5.4.2定時器T1產生波特率的計算
5.5串列口的編程和應用
5.5.1串列口方式1應用編程(雙機通訊)
5.5.2串列口方式2應用編程
5.5.3串列口方式3應用編程(雙機通訊) 6.1中斷請求源
6.2中斷控制
6.2.1中斷屏蔽
6.2.2中斷優先順序優
6.3中斷的響應過程
6.4外部中斷的響應時間
6.5外部中斷的方式選擇
6.5.1電平觸發方式
6.5.2邊沿觸發方式
6.6多外部中斷源系統設計
6.6.1定時器作為外部中斷源的使用方法
6.6.2中斷和查詢結合的方法
6.6.3用優先權編碼器擴展外部中斷源 7.1概述
7.1.1隻讀存儲器
7.1.2可讀寫存儲器
7.1.3不揮發性讀寫存儲器
7.1.4特殊存儲器
7.2存儲器擴展的基本方法
7.2.1MCS-51單片機對存儲器的控制
7.2.2外擴存儲器時應注意的問題
7.3程序存儲器EPROM的擴展
7.3.1程序存儲器的操作時序
7.3.2常用的EPROM晶元
7.3.3外部地址鎖存器和地址解碼器
7.3.4典型EPROM擴展電路
7.4靜態數據存儲的器擴展
7.4.1外擴數據存儲器的操作時序
7.4.2常用的SRAM晶元
7.4.364K位元組以內SRAM的擴展
7.4.4超過64K位元組SRAM擴展
7.5不揮發性讀寫存儲器擴展
7.5.1EPROM擴展
7.5.2SRAM掉電保護電路
7.6特殊存儲器擴展
7.6.1雙口RAMIDT7132的擴展
7.6.2快擦寫存儲器的擴展
7.6.3先進先出雙埠RAM的擴展 8.1擴展概述
8.2MCS-51單片機與可編程並行I/O晶元8255A的介面
8.2.18255A晶元介紹
8.2.28031單片機同8255A的介面
8.2.3介面應用舉例
8.3MCS-51與可編程RAM/IO晶元8155H的介面
8.3.18155H晶元介紹
8.3.28031單片機與8155H的介面及應用
8.4用MCS-51的串列口擴展並行口
8.4.1擴展並行輸入口
8.4.2擴展並行輸出口
8.5用74LSTTL電路擴展並行I/O口
8.5.1用74LS377擴展一個8位並行輸出口
8.5.2用74LS373擴展一個8位並行輸入口
8.5.3MCS-51單片機與匯流排驅動器的介面
8.6MCS-51與8253的介面
8.6.1邏輯結構與操作編址
8.6.28253工作方式和控制字定義
8.6.38253的工作方式與操作時序
8.6.48253的介面和編程實例 9.1LED顯示器介面原理
9.1.1LED顯示器結構
9.1.2顯示器工作原理
9.2鍵盤介面原理
9.2.1鍵盤工作原理
9.2.2單片機對非編碼鍵盤的控制方式
9.3鍵盤/顯示器介面實例
9.3.1利用8155H晶元實現鍵盤/顯示器介面
9.3.2利用8031的串列口實現鍵盤/顯示器介面
9.3.3利用專用鍵盤/顯示器介面晶元8279實現鍵盤/顯示器介面
9.4MCS-51與液晶顯示器(LCD)的介面
9.4.1LCD的基本結構及工作原理
9.4.2點陣式液晶顯示控制器HD61830介紹
9.5MCS-51與微型列印機的介面
9.5.1MCS-51與TPμp-40A/16A微型列印機的介面
9.5.2MCS-51與GP16微型列印機的介面
9.5.3MCS-51與PP40繪圖列印機的介面
9.6MCS-51單片機與BCD碼撥盤的介面設計
9.6.1BCD碼撥盤
9.6.2BCD碼撥盤與單片機的介面
9.6.3撥盤輸出程序
9.7MCS-51單片機與CRT的介面
9.7.1SCIBCRT介面板的主要特點及技術參數
9.7.2SCIB介面板的工作原理
9.7.3SCIB與MCS-51單片機的介面
9.7.4SCIB的CRT顯示軟體設計方法 10.1有關DAC及ADC的性能指標和選擇要點
10.1.1性能指標
10.1.2選擇ABC和DAC的要點
10.2MCS-51與DAC的介面
10.2.1MCS-51與DAC0832的介面
10.2.2MCS-51同DAC1020及DAC1220的介面
10.2.3MCS-51同串列輸入的DAC晶元AD7543的介面
10.3MCS-51與ADC的介面
10.3.1MCS-51與5G14433(雙積分型)的介面
10.3.2MCS-51與ICL7135(雙積分型)的介面
10.3.3MCS-51與ICL7109(雙積分型)的介面
10.3.4MCS-51與ADC0809(逐次逼近型)的介面
10.3.58031AD574(逐次逼近型)的介面
10.4V/F轉換器介面技術
10.4.1V/F轉換器實現A/D轉換的方法
10.4.2常用V/F轉換器LMX31簡介
10.4.3V/F轉換器與MCS-51單片機介面
10.4.4LM331應用舉例 11.1概述
11.2串列通訊的介面標准
11.2.1RS-232C介面
11.2.2RS-422A介面
11.2.3RS-485介面
11.2.4各種串列介面性能比較
11.3雙機串列通訊技術
11.3.1單片機雙機通訊技術
11.3.2PC機與8031單片機雙機通訊技術
11.4多機串列通訊技術
11.4.1單片機多機通訊技術
11.4.2IBM-PC機與單片機多機通訊技術
11.5串列通訊中的波特率設置技術
11.5.1IBM-PC/XT系統中波特率的產生
11.5.2MCS-51單片機串列通訊波特率的確定
11.5.3波特率相對誤差范圍的確定方法
11.5.4SMOD位對波特率的影響 12.1常用功率器件
12.1.1晶閘管
12.1.2固態繼電器
12.1.3功率晶體管
12.1.4功率場效應晶體管
12.2開關型功率介面
12.2.1光電耦合器驅動介面
12.2.2繼電器型驅動介面
12.2.3晶閘管及脈沖變壓器驅動介面 13.1概述
13.2MCS-51單片機與實時日歷時鍾晶元MSM5832的介面設計
13.2.1MSM5832性能及引腳說明
13.2.2MSM5832時序分析
13.2.38031單片機與MSM5832的介面設計
13.3MCS-51單片機與實時日歷時鍾晶元MC146818的介面設計
13.3.1MC146818性能及引腳說明
13.3.2MC146818晶元地址分配及各單元的編程
13.3.3MC146818的中斷
13.3.48031單片機與MC146818的介面電路設計
13.3.58031單片機與MC146818的介面軟體設計 14.1查表程序設計
14.2散轉程序設計
14.2.1使用轉移指令表的散轉程序
14.2.2使用地地址偏移量表的散轉程序
14.2.3使用轉向地址表的散轉程序
14.2.4利用RET指令實現的散轉程序
14.3循環程序設計
14.3.1單循環
14.3.2多重循環
14.4定點數運算程序設計
14.4.1定點數的表示方法
14.4.2定點數加減運算
14.4.3定點數乘法運算
14.4.4定點數除法
14.5浮點數運算程序設計
14.5.1浮點數的表示
14.5.2浮點數的加減法運算
14.5.3浮點數乘除法運算
14.5.4定點數與浮點數的轉換
14.6碼制轉換
……
D. 簡述MCS_51單片機的主要應用領域和應用途徑
小家電各種儀器儀表,如速度表計價器頻率計列印機充電器等可以簡化控制電路,便於功能修改和升級