




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及應用課程實驗報告專業: 班級: 姓名: 學號:實驗一、keilC51及proteus軟件的使用一、實驗目的:1、掌握keil和proteus軟件的基本操作2、通過具體實例掌握keil和proteus軟件的使用。二、實驗原理: keil使用步驟,proteus使用步驟三、程序:四、實驗結果分析:五、總結:學會了使用keil和proteus軟件,掌握了利用keil和proteus軟件進行仿真的步驟。實驗二、并行輸入/輸出接口實驗一、實驗目的:1、 進一步熟悉keil仿真軟件、proteus仿真軟件的使用。2、 了解并熟悉單片機I/O口和LED燈的電路結構,學會構建簡單的流水燈電路。3、
2、 掌握C51中單片機I/O口的編程方法和使用I/O口進行輸入輸出的注意事項。二、實驗原理:MCS 51單 片 機 的 串 行 口 在 實 際 使 用 中 通 常 用 于 三 種 情 況 : 利 用 方 式 0 擴 展 并 行 i/0 接 口 : 利 用 方 式 1 實 現 點 對 點 的 雙 機 通 信 ; 利 用 方 式 2 或 方 式 3 實 現 多 機 通 信 。 利 用 方 式 0 擴 展 并 行 i/0 接 口 MCS 5 1 單 片 機 的 串 行 口 在 方 式 0 時 , 若 外 接 一 個 串 入 并 出 的 移 位 寄 存 器 , 就 可 以 擴 展 并 行 輸 出 口 ;
3、 若 外 接 一 個 并 入 串 出 的 移 位 寄 存 器 , 就 可 以 擴 展 并 行 輸 入 口 。三、程序:#includesbit P1_0=P10;void main() unsigned char i; unsigned int j;SCON=0x00;i=0x01;for(;) P1_0=0; SBUF=I; while(!TI) i P1_0=1;TI=0;for(j=0;j=254;j+);i=i*2;if(i=0x00) i=0x01; 四、實驗結果分析:五、總結:進一步熟悉了keil仿真軟件、proteus仿真軟件的使用。了解并熟悉單片機I/O口和LED燈的電路結構,
4、學會了構建簡單的流水燈電路。掌握了C51中單片機I/O口的編程方法和使用I/O口進行輸入輸出的注意事項。實驗三、定時器/計數器實驗(1)查詢方式產生500us的方波一、實驗目的:1、熟悉keil仿真軟件、proteus的使用和C51定時程序的編寫;2、了解51單片機中定時、計數的概念,熟悉51單片機內部定時/計數器的結構與工作原理;3、掌握查詢方式處理定時/計數的工作過程,4、掌握定時/計數器在C51中的設置與程序的書寫格式以及使用方法。二、實驗原理:通 常 利 用 定 時 / 計 數 器 來 產 生 周 期 性 的 波 形 。 利 用 定 時 / 計 數 器 產 生 周 期 性 波 形 的
5、基 本 思 想 是 : 利 用 定 時 / 計 數 器 產 生 周 期 性 的 定 時 , 定 時 時 間 到 則 對 輸 出 端 進 行 相 應 的 處 理 。 例 如 產 生 周 期 性 的 方 波 只 需 定 時 時 間 到 對 輸 出 端 取 反 一 次 即 可 。 不 同 的 方 式 定 時 的 最 大 值 不 同 , 如 定 時 的 時 間 很 短 , 則 選 擇 方 式 2 。 方 式 2 形 成 周 期 性 的 定 時 不 需 重 置 初 值; 如 定 時 比 較 長 , 則 選 擇 方 式 0 或 方 式 1 ; 如 時 間 很 長 , 則 一 個 定 時 / 計 數 器 不
6、 夠 用 , 這 時 可 用 兩 個 定 時 / 計 數 器 或 一 個 定 時 / 計 數 器 加 軟 件 計 數 的 方 法 。三、程序:#include sbit P1_0=P10;void main()TMOD=0x02;TH0=0x06;TL0=0x06;TR0=1;for(;)if(TF0)TF0=0;P1_0=!P1_0;四、實驗結果分析:五、總結:熟悉了keil仿真軟件、proteus的使用和C51定時程序的編寫;了解51單片機中定時、計數的概念,熟悉了51單片機內部定時/計數器的結構與工作原理;掌握了查詢方式處理定時/計數的工作過程,掌握了定時/計數器在C51中的設置與程序的
7、書寫格式以及使用方法。實驗四、定時器/計數器實驗(2)中斷方式產生500us的方波一、實驗目的:1、熟悉keil仿真軟件、proteus的使用和C51定時程序的編寫;2、進一步熟悉51單片機內部定時/計數器的結構與工作原理;3、掌握中斷方式處理定時/計數的工作過程。二、實驗原理從 P 1.0 輸 出 周 期 為 500 us 的 方 波 , 只 需 P 1.0 每 250 us 取 反 后一次 即 可 。當系統時鐘為 12MHz 時 , 定 時 / 計 數 器 TO 工 作 于 方 式 2 時 , 最 大 的 定 時 時間 為 256 us , 滿 足 250us 的 定 時 要 求 , 方
8、式 控 制 字 應 沒 定 為 000000 1 0B ( 02H ) 。 系 統 時鐘 為12Mhz , 定 時 250us, 計 數 值N 為 250 , 初 值 X = 256 -250 =6 , 則 THO = TLO =06 H 。:三、程序:#include sbit P1_0=P10;void main()TMOD=0x02;TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);void time0_int(void) interrupt 1P1_0=!P1_0;四、實驗結果分析:五、總結:熟悉了keil仿真軟件、proteus的使用和C51定時
9、程序的編寫;進一步熟悉了51單片機內部定時/計數器的結構與工作原理;掌握了中斷方式處理定時/計數的工作過程。實驗五:串行接口實驗(1)工作方式0擴展并行IO口一、實驗目的:1, 掌握串行口工作方式0的程序設計;2、熟悉51單片機串口的結構和工作原理3、掌握串口工作方式0的工作特點。二、實驗原理: MCS 51單 片 機 的 串 行 口 在 實 際 使 用 中 通 常 用 于 三 種 情 況 : 利 用 方 式 0 擴 展 并 行 i/0 接 口 : 利 用 方 式 1 實 現 點 對 點 的 雙 機 通 信 ; 利 用 方 式 2 或 方 式 3 實 現 多 機 通 信 。 利 用 方 式 0
10、 擴 展 并 行 i/0 接 口 MCS 5 1 單 片 機 的 串 行 口 在 方 式 0 時 , 若 外 接 一 個 串 入 并 出 的 移 位 寄 存 器 , 就 可 以 擴 展 并 行 輸 出 口 ; 若 外 接 一 個 并 入 串 出 的 移 位 寄 存 器 , 就 可 以 擴 展 并 行 輸 入 口 。 三、程序:#includesbit P1_0=P10;void main() unsigned char i; unsigned int j;SCON=0x00;i=0x01;for(;) P1_0=0; SBUF=I; while(!TI) i P1_0=1;TI=0;for(j
11、=0;j=254;j+);i=i*2;if(i=0x00) i=0x01; 四、實驗結果分析:五、總結:掌握了串行口工作方式0的程序設計;熟悉了51單片機串口的結構和工作原理。掌握了串口工作方式0的工作特點。實驗六:串行接口實驗(2)雙機通信一、實驗目的:1、掌握串行口工作方式1的程序設計;2、進一步掌握51單片機串口的結構和工作原理3、掌握串口工作方式1的工作特點。二、實驗原理:甲 、 乙 兩 機 處 理 過 程 一 樣 , 程 序 相 同 。 方 式 選 擇 方 式 1 : 即 8 位 異 步 通 信 方 式 , 波 特 率 為 1200bps , 既 要 發 送 , 也 要 接 收 ,
12、所 以 串 口 控 制 字 為 50H 。 由 于 選 擇 的 是 方 式 1, 波 特 率 由 定 時 / 計 數 器 TI 的 溢 出 率 和 電 源 控 制 寄 存 器 PCON 中 的 SMOD 位 決 定 , 則 需 對 定 時 / 計 數 器 Tl 初 始 化 。 設 振 蕩 頻 率 為 12MHz , 取 SMOD=0, 波 特 率 為1200bps , 定 時 / 計 數 器 T1選 擇 為 方 式 2 , 則 初 值 如 下 初 值 = 256 一 foscx2SMOD ( 12 波 特 率 32 ) = E6H 根 據 要 求 , 定 時 / 計 數 器 T1的 方 式 控
13、 制 字 為 20H 。 發 送 過 程 采 用 查 詢 方 式 , 在 主 程 序 中 讀 取 PI 口 的 開 關 狀 態 , 通 過 串 口 發 送 ; 接 收 過 程 采 用 中 斷 方 式 , 接 收 的 內 容 送 P2 口 , 通 過 P2 口 的 發 光 二 極 管 顯 示 。 三、程序:#include void main()unsigned char i;SP=0x60;SCON=0X50;TMOD=0x20;TL1=0xe6;TH1=0xe6;TR1=1;EA=1;ES=1;while(1)P1=0XFF;i=P1;SBUF=i;while(TI=0);TI=0;void
14、 funins(void) interrupt 4EA=0;RI=0;P2=SBUF;EA=1;四、實驗結果分析:五、總結:掌握了串行口工作方式1的程序設計;進一步掌握了51單片機串口的結構和工作原理,掌握了串口工作方式1的工作特點。實驗七:中斷系統實驗(1)交通燈模擬控制一、實驗目的1、掌握單片機外部中斷的原理及過程。2、掌握單片機外部中斷程序的設計方法。3、掌握單片機外部中斷時中斷方式的選擇方法。二、實驗原理:交 通 燈 正 常 運 行 時 , 可 分 為 4 個 狀 態 : 狀 態 1 , 東 西 方 向 綠 燈 , 南 北 方 向 紅 燈 20 秒 , 狀 態 編 碼 “ 001000
15、01 ” ; 狀 態 2 , 東 西 方 向 黃 燈 , 南 北 方 向 紅 燈 3 秒 , 狀 態 編 碼 “ 01000001 ” ; 狀 態 3 , 南 北 方 向 綠 燈 , 東 西 方 向 紅 燈 20 秒 , 狀 態 編 碼 “ 00010010 ” 狀 態 4 , 南 北 方 向 黃 燈 , 東 西 方 向 紅 燈 3 秒 , 狀 態 編 碼 “ 0001m00 ” 。 東 西 發 生 異 常 時 , 東 西 通 行 , 南 北 禁 止 , 東 西 方 向 綠 燈 閃 , 南 北 方 向 紅 燈 閃 60 秒 ; 南 北 發 生 異 常 時 , 南 北 通 行 , 東 西 禁 止
16、 , 南 北 方 向 綠 燈 閃 , 東 西 方 向 紅 燈 閃 60 秒 。 主 程 序 中 實 現 交 通 燈 正 常 運 行 過 程 , 兩 種 異 常 用 外 中 斷 0 和 外 中 斷 1 管 理 , 外 接 開 關 模 擬 異 常 發 生 , 在 中 斷 服 務 程 序 中 實 現 異 常 處 理 , 在 主 程 序 中 開 放 外 中 斷 0 和 外 中 斷 1 , 設 置 為 邊 沿 觸 發 方 式 。 時 間 單 位 采 用 500ms 信 號 , 由 定 時 計 數 器 0 定 時 50ms , 循 環 10 次 產 生 , 定 時 計 數 器 0 采 用 查 詢 方 式
17、, 主 程 序 中 設 定 定 時 計 數 器 0 的 工 作 方 式 : 方 式 1 。三、程序:#include void delay500ms(unsigned char k);void main(void)SP=0x60;TMOD=0x01;IE=0x85;TCON=0x05;while(1)P1=0x21;delay500ms(40);P1=0x41;delay500ms(6);P1=0x12;delay500ms(40);P1=0x14;delay500ms(6);void int_0(void) interrupt 0unsigned char i1,i2;i1=P1;for(i
18、2=0;i260;i2+)P1=0x21;delay500ms(1);P1=0x00;delay500ms(1);P1=i1;void int_1(void) interrupt 2unsigned char j1,j2;j1=P1;for(j2=0;j260;j2+)P1=0x12;delay500ms(1);P1=0x00;delay500ms(1);P1=j1;void delay500ms(unsigned char m)unsigned char k1,k2;TH0=0x3C;TL0=0xB0;TR0=1;for(k1=0;k1m;k1+)for(k2=0;k210;k2+)whil
19、e(!TF0);TF0=0;TH0=0x3C;TL0=0xB0;四、實驗結果分析:五、總結:掌握了單片機外部中斷的原理及過程。掌握了單片機外部中斷程序的設計方法。掌握了單片機外部中斷時中斷方式的選擇方法。實驗八:中斷系統實驗(2)工業監控系統的設計一、實驗目的:1、進一步掌握外部中斷技術的基本使用方法。2、進一步熟悉中斷處理程序的編程方法。二、實驗原理:在 單 片 機 監 控 系 統 中 , 信 號 的 監 控 用 外 部 中 斷 來 實 現 , 51 單 片 機 外 部 中 斷 只 有 兩 個 , 而 監 控 信 號 通 常 有 多 個 , 這 里 就 涉 及 到 多 個 中 斷 源 的 處
20、 理 , 處 理 時 往 往 通 過 中 斷 加 查 詢 的 方 法 來 實 現 。 連 接 時 , 一 方 面 把 多 路 監 控 信 號 中 斷 源 通 過 “ 線 與 ” 接 于 5 1 單 片 機 外 部 中 斷 引 腳 上 , 另 一 方 面 , 每 一 個 中 斷 源 再 連 接 到 一 根 并 口 線 上 。這 里 用 4 個 開 關 (BUTTON) 模 擬 4 路 監 控 信 號 , 通 過 4 輸 入 的 與 門 ( AND 一 4 ) 連 接 到 INTO 引 腳 上 , 監 控 信 號 正 常 情 況 為 高 電平 , 發 生 超 限 變 為 低 電 平 。 4 路 監
21、 控 信 號 又 分 別 與 P2 口 的 低 4 位 并 口 線 相 連 。 在 該 電 路 中 , 無 論 哪 個 中 斷 源 提 出 請 求 , 系 統 都 會 響 應 TO 中 斷 。 響 應 后 , 進 入 中 斷 服 務 程 序 , 在 中 斷 服 務 程 序 中 通 過 對 并 口 線 的 逐 一 檢 測 來 確 定 是 哪 一 個 中 斷 源 提 出 了 中 斷 請 求 , 進 一 步 轉 到 對 應 的 中 斷 服 務 程 序 入 口 位 置 執 行 對 應 的 處 理 程 序 。 三、程序:#include #include #define uchar unsigned c
22、harsbit P10=P10;sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P23=P23;void delay()uchar i,j;for(i=0;i250;i+)for(j=0;j250;j+)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();void int0() interrupt 0if(P20=0)P10=0;if(P21=0)P11=0;if(P22=0)P12=0;if(P23=0)P13=0;delay();
23、delay();void main(void)IT0=1;EA=1;EX0=1;while(1)P1=0xff;P2=0xff;四、實驗結果分析:實驗九:簡單的I/O擴展實驗一、實驗目的:1、掌握單片機系統中擴展簡單I/ O口的基本方法。2、掌握擴展I/O口的編程方法。二、實驗原理:74LS373 的 數 據 鎖 存 控 制 端 LE 是由8051 單 片 機 的 片 外 數 據 存 儲 器 寫 信 號 WR 和 P2.7 通 過 或 非 門 ( NOR ) 后 相 連 的 , 輸 出 允 許 端 OE 直 接 接 地 , 輸 入 端 有 數 據 來 時 直 接 通 過 輸 出 端 輸 出 。
24、 當 執 行 向 片 外 數 據 存 儲 器 的 寫 指 令 時 , 指 令 中 片 外 數 據 存 儲 器 的 地 址 使 P2.7 為 低 電 平 , 則 數 據 鎖 存 控 制 端 LE 有 效 , 數 據 總 線 上 的 數 據 就 送 到 74LS373 的 輸出 端 74LS244 的 控 制 端 10E 和 20E 連 在 一 起 , 與 8051 單 片 機 的 片 外 數 據 存 儲 器 讀 信 號RD和 P2.7 通 過 或 門 ( OR ) 后 相 連 , 當 執 行 從 片 外 數 據 存 儲 器 讀 的 指 令 時 , 指 令 中 片 外 數據儲 器 的 地 址 使
25、P2.7 為 低 電 平 , 則 控 制 端 10E 和 20E 有 效 , 74LS244 的 輸 入 端 的 數 據通過 輸出端送 到 數 據 總 線 , 然 后 傳 送 到 8051 單 片 機 的 內 部 。 這 里 , 擴 展 的 簡 單 i/O 口訪問時 只 需 地 址 線 最 高 位 P2.7 為 低 電 平 即 可 , 其 余 地 址 沒 有 用 , 可 取 為 低 電 平 , 因 此 對 應 的片 外 據 在 儲 器 地 址 為 7FFFH。三、程序:#include #include #define uchar unsigned charvoid main(void)uch
26、ar i;while(1)i=XBYTE0x7fff;XBYTE0x7fff=i;四、實驗結果分析:五、總結:掌握了單片機系統中擴展簡單I/ O口的基本方法。掌握了擴展I/O口的編程方法。實驗十:可編程I/O口的擴展實驗一、實驗目的:1、熟悉8255A的結構和功能;2、熟悉8255A的幾種工作方式;3、掌握8255A與單片機的接口;4、掌握8255A的編程方法。二、實驗原理: 8255A 的 數 據 線 與 51 單 片 機 的 數 據 總 線 相 連 , 讀 / 寫 信 號 線 對 應 相 連 , 地 址 線 AO 、 Al 與 51 單 片 機 的 地 址 總 線 的 AO 和 Al 相
27、連 , 片 選 信 號 線 CS與 51 單 片 機 的 P2.7 相 連 。 8255A 的 A 口 、 B 口 、 C 口 和 控 制 口 的 地 址 分 別 是 7F00H 、 7F01H 、 7F02H 和 7F03H ( 高 8 位 地 址 線 未 用 的 取 1 , 低 8 位 地 址 線 未 用 的 取 0 ) , 8255A 擴 展 的 并 行 接 口 B 口 接 8 個 開 關 (DIPSWC_8) 輸 入 , A 口 接 8 個 發 光 二 極 管 (LED-BARGRAPH-RED) 輸 出 。 三、程序:#include #include #define uchar u
28、nsigned charvoid main(void)uchar i;XBYTE0x7f03=0x82;while(1)i=XBYTE0x7f01;XBYTE0x7f00=i;四、實驗結果分析:五、總結:熟悉了8255A的結構和功能;熟悉了8255A的幾種工作方式;掌握了8255A與單片機的接口;掌握了8255A的編程方法。實驗十一:LED顯示器與51單片機的接口實驗一、實驗目的:1、掌握LED顯示器的基本結構與原理2、掌握LED數碼管的靜態顯示和動態顯示3、掌握LED顯示器與單片機的接口的編程特點二、實驗原理:8255A 擴 展 并 行 1/0 接 口 接 8 位 共 陰 極 數 碼 管 (
29、7SEG-MPX8-CC-BLUE) , 采 用 動 態 顯 示 方 式 , 8 位 數 碼 管 的 段 選 線 (AH) 與 8255A 的 A 口 相 連 , 8 位 數 碼 管 的 公 共 端 (18 ) 與 8255A 的 B 囗 相 連 。 也 即 8255A 的 B 口 輸 出 位 選 碼 選 擇 要 顯 示 的 數 碼 管 , 8255A 的 A 口 輸 出 字 段 碼 使 數 碼 管 顯 示 相 應 的 字 符 , 8255A 的 A 口 和 B 口 都 工 作 于 方 式 0 輸 出 。 A 口 、 B 口 、 c 口 和 控 制 口 的 地 址 分 別 為 7F00H 、
30、7F01H 、 7F02H 和 7F03H ( 高 8 位 地 址 線 未 用 的 取 1 , 低 8 位 地 址 線 未 用 的 取 0 ) 。 三、程序:#include #include #define uchar unsigned char#define uchar unsigned intvoid delay(uint);void display(void);uchar disbuffer8=0,1,2,3,4,5,6,7;void main(void)XBYTE0x7f03=0x80;while(1)display();void delay(uint i)uint j;for(j=0;ji;j+)void display(void)uchar codevalue16=0x3f,0x06
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外賣配送外包合同
- 品牌合作協議書合同
- 手房購房貸款合同
- 建筑工地安防監控合同
- 勞務砌磚分包合同
- 房地產買賣交易合同
- 房屋租賃管理合同
- 工程勞務分包合同價格
- 技術服務咨詢費合同
- 化工產品采購合同
- 2025年國家糧食和物資儲備局垂直管理系事業單位招聘筆試參考題庫附帶答案詳解
- 《住院患者身體約束的護理》團體標準解讀課件
- 探索太空小報手抄報WORD模板
- 6.3.3 平面向量的加、減運算的坐標表示 教學設計-人教A版高中數學必修第二冊
- 生豬養殖場檢查表
- 《孟子》導讀PPT課件
- 小區會所經營方案(開業投資分析)
- 國家自然科學獎評價指標
- 常用食物含銅量表
- (完整版)詳細化學物質及其CAS注冊號清單
- 科研與臨床ppt課件
評論
0/150
提交評論