第15講 假期知識總復習
一、 單片機與單片機程序設計 1、單片機程序書寫結(jié)構(gòu): #include “頭文件.h”
各種定義; mcu_init();//單片機資源初始化
voidmain(void) { while(1)//或用 for 循環(huán) for(;;) { 主程序; } }
另外還有中斷函數(shù),獨立于所有函數(shù)(包括主函數(shù)) 如 51 單片機的定時器 0 中斷: voidTimer0() interrupt 1 { 中斷服務程序; } 同學們一定要記住,單片機程序從結(jié)構(gòu)上來講分為主程序和中斷服務程序,我們假期里 學習的程序、設計的程序都是放在主程序里的,以后我們還要學習中斷服務程序的設計。 2、IO 端口 51 單片機有 4 組并行 I/O 端口,其中 P0 口在使用時必須接上拉電阻(因為內(nèi)部漏極開 路),其它 P1、P2、P3 沒有特殊的地方,但被稱為準雙向 I/O 端口。 所謂 I/O 口,是指既可以作為輸入,又可以作為輸出,51 單片機 I/O 口在作為輸入口時, 應先向?qū)亩丝诩拇嫫鲗?1。 我們可以對端口的每一位進行操作,比如想使用 P1 口的第 0 位,我們可以這樣定義:sbit LED = P1^0;,其中 LED 是起的名字,根據(jù)標識符的命名規(guī)則起名。一定要掌握這 種定義方法。(等號不能忘記) 3、IO 端口的并行讀寫 要記住端口的高位與低位是從左向右起的,既最左邊是第 7 位,最右邊是第 0 位。 比如:P0 口的 8 個位: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
我們可以對 I/O 端口進行并行讀寫,即,一次可以讀取一個字節(jié),也可以一次寫入一個 字節(jié)。比如:P0 = 0X3F; 4、8 段數(shù)碼管的編碼 8 段數(shù)碼管(含小數(shù)點位),其中的每一個筆段都是一個發(fā)光二極管,8 個二極管可以 連成共陽極或共陰極,但我們常根據(jù)共陰極來編碼,亮為 1,滅為 0。 A,B,C,D,E,F,G,H, 8 個筆段從低位到高位編碼。我們常用一個 code 數(shù)組來存放我們的編碼: u8code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F 編碼 5、動態(tài)顯示原理: 在實際的應用中,數(shù)碼管都是動態(tài)顯示的。所謂動態(tài)顯示,就是按一定的頻率輪流點亮其中的一個數(shù)碼管。實驗板上用 74HC138 譯碼器控制 8 位數(shù)碼管的公共端,選中其中一 位,就向哪一位送欲顯示的數(shù)據(jù),循環(huán)顯示 8 位。這里要注意每次送顯之前,要先消隱。 5、行列式按鍵獲取鍵值的方法 反轉(zhuǎn)法 其解題思路是,先測試列,讓所有的列為 1,所有的行為 0;然后再測試行,讓所有的行為 1,從而確定鍵值。 6、一種點陣 LED 驅(qū)動方法 7、掌握二進制與十六進制之間的轉(zhuǎn)換方法:8421 法 8、單片機程序設計原則 1、硬件驅(qū)動層與應用層分離 2、模塊化編程:文件級的模塊化、函數(shù)級的模塊化、數(shù)據(jù)結(jié)構(gòu)級的模塊化 3、平時加強硬件編程能力
二、電子器件與電路 1、理解二極管的單向?qū)щ娦裕宏枠O接高電平、陰極接低電平,二極管就可以導通 2、理解上拉電阻與下拉電阻的含義 3、記住 74HC138 譯碼器的輸入輸出關系: 4、記住三極管的開關作用
三、C 語言 1、預處理命令:#include 、#define 2、重新定義數(shù)據(jù)類型:typedef用法 3、code、sbit 關鍵字
四、應熟練掌握的二個硬件驅(qū)動 1、顯示驅(qū)動(數(shù)碼管、LED、LCD) 2、輸入驅(qū)動(比如:機械式按鍵) 這兩種器件是人機交互的重要手段,一定要掌握它們的工作原理、程序設計思路。以后 有機會,我把這兩種器件在實際應用中的程序?qū)崿F(xiàn)思路講給大家!

這是以前給小學生培訓單片機做的一套講義,盡可能的做到了通俗易懂,現(xiàn)分享給大家,絕對的純原創(chuàng)資料.
全部資料下載地址(共15章,pdf格式):http://www.zg4o1577.cn/bbs/dpj-98524-1.html
|