重慶大學本科學生課程設計指導教師評定成績表
說明:1、學院、專業、年級均填全稱。
2、本表除評語、成績和簽名外均可採用計算機列印。
重慶大學本科學生課程設計任務書
說明:1、學院、專業、年級均填全稱。
2、本表除簽名外均可採用計算機列印。本表不夠,可另附頁,但應在頁尾新增頁碼。
電子綜合實習報告書
----微控制器雙機通訊系統的設計
一、引言
由於mcs51系列微控制器具有效能穩定、工作可靠、**低廉等特點,因此其應用相當廣泛。乙個mcs51系列的微控制器(如atmel89c51)內部包含有ram、flash rom、兩個或者三個16位的定時器/計數器、乙個通用非同步序列通訊控制器(uart)等多種資源。但即便如此,在一些相對複雜的微控制器應用系統中,僅僅乙個微控制器資源還是不夠的,因此而常常需要擴充i/o介面、定時器/計數器、序列通訊介面、ram、rom等。
採用通用的標準器件進行擴充是通常的做法,但將微控制器本身作為乙個通用的擴充器件來使用,也不失為乙個好的方法。在這種情況下,乙個系統中就使用了兩個或兩個以上的微控制器,而微控制器之間就要通過互連來進行資料通訊。mcs51系列的微控制器(以下簡稱微控制器)都帶有串列埠,利用串列埠進行互連通訊極為方便,其各種連線方式在許多書籍和資料上都有介紹,在此不再重述。
但如果系統要求擴充的資源是對外連線的串列埠,或對相互之間的資料傳送有一定的速度要求,則微控制器的串列埠就不能用作系統內兩微控制器的通訊介面了。所幸的是,微控制器的並行埠也能相互連線來進行資料通訊。根據微控制器埠內部結構的特點,這些埠的埠線可以直接相連,從而使兩微控制器之間並行通訊介面的實現不用另外的硬體電路裝置。
此次設計就是針對上述情況展開的。系統結構框圖如圖(1)所示。
二、鍵盤設計
1、硬體接線部分
考慮到此次設計要求用到的按鍵數比較多(0~9,a~f共16個按鍵),為了節約i/o資源,採用行列式鍵盤,如圖(2)所示
圖(2)
按鍵編排如圖(3)所示
圖(3)
2、4×4矩陣鍵盤識別處理
按鍵設定在行列式交點上,行列線分別連線到按鍵開關的兩端。當行線通過上拉電阻接+5伏時,被鉗位在高電平狀態 ,事先認為設定好行線和列線的序號。此處設行號為i,從上到下編為0-3對應於p1.
0-p1.3口,列線設為j,從左到右編為0-3對應於p1.4-p1.
7口。 每個按鍵有它的行值和列值 ,行值和列值的組合就是識別這個按鍵的編碼。事先有陣列存放好對應鍵值的段選碼。
矩陣的行線和列線分別通過兩並行介面和cpu通訊。每個按鍵的狀態同樣需變成數字量「0」和「1」,開關的一端(列線)通過電阻接vcc,而接地是通過程式輸出數字「0」實現的。鍵盤處理程式的任務是:
確定有無鍵按下,判斷哪乙個鍵按下,鍵的功能是什麼;還要消除按鍵在閉合或斷開時的抖動。兩個並行口中,乙個輸出掃瞄碼,使按鍵逐行動態接地,另乙個並行口輸入按鍵狀態,由行掃瞄值和回饋訊號共同形成鍵編碼而識別按鍵,通過軟體查表,查出該鍵的功能。
3、鍵盤識別處理程式
鍵盤識別程式如下:
void scanf(void鍵盤掃瞄子程式*/
;/*採用共陽極輸出*/
while(1) }
三、數碼管顯示設計
1、數碼管顯示工作原理
七段led顯示器但是最常用的顯示器件。它是由7個led二極體組成。
圖(4)七段led圖
八位led動態顯示電路只需要兩個8位i/o口。其中乙個控制段選碼,另乙個控制位選。要想每位顯示不同的字元,必須利用人的視覺暫留,採用掃瞄方式。
數碼管顯示部分硬體接線如圖(5)所示
圖(5)
四、微控制器的選擇及其連線
1、微控制器型號的選擇
微控制器選用兩片atmel公司的常用晶元at89c51,一片用於接收鍵盤的輸入並做出判斷,一片用於接收資料並驅動8個七段數碼管實現動態顯示。at89c51完全可以滿足功能要求,而且**便宜,容易獲得。
2、協議設計
規定協議內容如下:
資料傳輸的雙方均使用2400bps的速率傳送資料,使用主從通訊方式,主機傳送資料,從機接收資料,雙方在傳送資料和接收資料時使用查詢方式。(此處設計甲機傳送,乙機接收)
雙方開始資料傳輸時,甲機先傳送aah給乙機,當乙機接收到aah之後,向甲機回答bbh。甲機收到bbh後就把數碼表tab[8]中的8個資料傳送給乙機,並傳送校驗和。
乙機收到8個資料並計算收到的資料的校驗和,與甲機傳送過來的校驗和進行比較,若校驗和相同(正確)則傳送00h給甲機;否則傳送ffh(錯誤)甲機,重新接收。乙機接收到8個資料後送8個數碼管動態顯示。
3、雙機電路如圖所示
圖(6)
五、總體電路圖及程式設計
#include "reg51.h"
#define uchar unsigned char
//時鐘頻率11.0592mhz,每秒鐘921600個時鐘週期,
sfr pseg = 0x80;
sfr pnum = 0xa0;
char lednow = 0;
bit success = 1;
char keystate;//上一次中斷結束時鍵盤的狀態,keystate/4>15表示無鍵按下
否則,商表示按鍵編號,餘數表示狀態
0表示檢測到按下,等待去抖動
1表示已經響應過事件,等待彈起
2表示已經彈起,等待再次去抖動
3未定義
char num[8];
char code numcode[16] = ;
sbit acc0=acc^0;
sbit acc1=acc^1;
sbit acc2=acc^2;
sbit acc3=acc^3;
sbit acc4=acc^4;
sbit acc5=acc^5;
sbit acc6=acc^6;
sbit acc7=acc^7;
sbit b0=b^0;
sbit b1=b^1;
sbit b2=b^2;
sbit b3=b^3;
sbit b4=b^4;
sbit b5=b^5;
sbit b6=b^6;
sbit b7=b^7;
uchar hammingcode(uchar dat) reentrant
dat = 0;
a[0] = 0;
for(i = 7; i>0; i-=1){
a[0] ^= a[i];
電子商務專業實習報告樣本
一周的認知實習很快過去,但留給我的思考卻還有很多,實踐出真理,在此期間,我接觸了很多的新東西,也給我帶來了新的體驗,本文是一篇電子商務專業實習報告,讓我們一起來看看具體內容吧 大學生實習是為了在畢業進入社會前,將自己的理論知識與實踐融合,並且完成從學生到職員的過渡。實習是邁向成熟重要的一步,也是大學...
電子工藝綜合實踐實習報告
齊魯理工學院 實習報告 實習名稱電子工藝綜合實踐 學院機電工程學院 專業電氣工程及其自動化 班級學生姓名 學號實習地點 指導教師 實習起止時間 2019年 1月13日至 2019年5月 17日 1.掌握電烙鐵的正確使用方法,熟悉手工電焊工具的使用與維護,了解規範操作及安全用電的常識,熟悉電烙鐵的使用...
綜合辦公室實習報告樣本
這裡是一篇綜合辦公室實習報告,我會在以後的工作學習中更加努力,取長補短,需心求教。相信自己會在以後的工作中更加得心應手,表現更加出色,讓我們一起來看看具體內容吧 這裡是一篇綜合辦公室實習報告,我會在以後的工作學習中更加努力,取長補短,需心求教。相信自己會在以後的工作中更加得心應手,表現更加出色,讓我...