




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、河海大學物聯網工程學院單片機課程設計報告 題 目 模擬電話鍵盤 專業、學號 電信 授課班號 275503 學生姓名 指導教師 金紀東 完成時間 2012 /12/29 摘要本設計為了實現電話鍵盤的撥號功能,根據所學的單片機知識首先通過編寫C程序通過KeiL C進行調試,編譯得到機器代碼,調試成功后通過燒寫工具進行功能測試,并通過串口調試程序驗證串口發送和自動重發功能。設計過程中,一開始程序功能有限,但通過不斷的改進和查閱資料獲得了所需的功能,其中行列式鍵盤的程序和串口程序都比較關鍵。最終實現了按鍵撥號,數碼管顯示和自動重播等目標功能。關鍵字:行列式鍵盤,串口通信 ,數碼管顯示,自動重播,Kei
2、LCABSTRACTIn order to achieve the design of telephone keypad dialing function, according to study single-chip knowledge first through writing C program through the KeiL C compiler debugging, get the machine code, debugging success by writing tools for functional testing, and through the serial debug
3、ging program verify serial transmission and automatic retransmission function.In the design process, first the program features a limited, but through continuous improvement and access to information to obtain the desired function, wherein the determinant keyboard procedures and serial procedures ar
4、e the key.Finally realizes the key dialing, digital tube display and automatic replay, target function.KEY WORDS: Determinant keyboard, serial communication, digital display, automatic replay, KeiLC目錄1系統設計- 4 1.1 模擬電話鍵盤設計的目的、要求和指標 - 4 1.2 組要組件- 4 1.3 軟件流程圖-72實驗結果及討論- 8 2.1實際電路設計及程序設計- 8 2.2 設計過程中的問題
5、- 8 2.3 實驗數據及討論- 83結論 - 9 3.1 課程設計的特點及貢獻- 9 3.2 評估結果 - 9 3.3 改善建議 - 9 3.4 自我體會 - 94.參考文獻 - 10 5.附錄 - 111. 系統設計1.1模擬電話鍵盤設計的目的、要求和指標把【S207、S206、S205;S217、S216、S215;S227、S226、S225;S237、S236、S235】;按鍵分別當作電話按鍵的123456789*0#。當撥打電話時,電話號碼顯示在動態LED上(相當于手機的顯示屏)。當按下S204鍵Call電話時,電話號碼通過串口發送到PC上,通過串口調試助手可以觀察。(相當于把號碼
6、發給基站)。M- 模擬電話不同時,每隔1分鐘自動重撥一次。1.2主要組件 C部分電路由4位一體的數碼管LED1、單個數碼管LED2和8個獨立發光二極管L1-L7組成。這3個部分都是共陰結構,并聯在一起,連接在P0口上。LED1用于完成LED動態顯示實驗,各個位選線為P24P27,段碼由P0口輸出;LED2的COM端接地,完成LED靜態顯示實驗;L1L7,可以方便地讀出P0輸出的二進制數據,亦可做流水燈實驗。E部分電路為行列式鍵盤和獨立式按鍵輸入電路。P20P23為行,P24P27為列,構成4×4行列式鍵盤。按鍵編號規律為S2+行號列號。例如S226表示P22行和P26列跨接處的按鍵。
7、K20K27構成獨立式按鍵,分別接在P20-P27上,當按鍵按下時,對應的口線輸入0,同時相應的LED點亮。D20D27構成P20P27的狀態指示,當某口線輸出0,相應的LED點亮。有4個用途:1、當行列式鍵盤逐行掃描時,可做為正在被掃描的行的指示。2、當行列式鍵盤逐行掃描時,可做為已按下鍵的指示。G部分電路為串口通訊部分。U5 PL2303HX構成了USB轉URAT電路,即完成USB口轉TTL串口電平。U6 MAX232 構成了RS232轉URAT電路,即完成RS232串口轉TTL串口電平。由于單片機只有一個串口,所以以上兩部分通過雙刀雙擲開關切換使用,當實驗板上SCOM開關按下時選擇USB
8、轉URAT電路。否則選RS232轉URAT電路。這部分電路可以完成PC機跟單片機的串行通訊,也可以完成兩個單片機進行串行通訊。D_RXD和D_TXD指示收和發線上是否有信號,當通信時可觀察到二燈閃爍。當選擇USB轉URAT電路時,PC機的USB口同時承擔給實驗板供電的任務。J部分為電源部分。當USB供電不足時可通過J3接入后備電源。SW_PWR為電源開關,閉合時電路板得電,同時D_P1亮。F1為自恢復保險,防止電源反接和短路,保護PC機USB口。1.3軟件流程圖開始按鍵輸入數碼管顯示按鍵(S204)發送電腦顯示是否成功發送結束Y重發NC程序實現了將按鍵對應的數字顯示在數碼管上,并給鍵S204賦
9、予了串口通信發送功能,按鍵后,電腦上會顯示已按數字。若接收到重發標志,則重新發送。2.實驗結果及討論2.1實際電路設計及程序設計實際電路就是將行列式矩陣鍵盤與數碼管連接在一起,并將電源等必須部件都加入到整個電路中,并把串口通訊電路連入電路。程序設計見附錄。2.2.設計過程中的問題一開始只能按一個鍵顯示一個數;到后面只能顯示最開始按的四位;最后按鍵時數碼管顯示的數會消失。2.3實驗數據及討論通過不斷的改進和調試,大多問題都得到解決。實驗數據見附錄。通過實驗數據可以知道程序能始終保持數碼管顯示當前按的4位數,并最多按鍵20位,將之傳送到電腦上,且能實現自動重發,目前尚無超過20位的電話號碼,可以說
10、基本實現了電話鍵盤的功能。3.結論3.1課程設計的特點及貢獻本次課程設計的工作量并不龐大,能讓同學們在理論學習的基礎上,在能力范圍內,通過完成一個小功能系統的設計,不僅增強了同學們的動手能力,并在實踐中加強了對單片機的理解,并且能夠加深對電子電路和某些電子元件的認識,為今后能自己獨立的進行一些系統的設計作出了貢獻。3.2評估結果 本次設計的基本功能已經實現了電話撥號的功能,最多可撥20位,并通過發送鍵通過串口傳送到電腦上,且能實現重發。3.3改善建議 1.可以對按鍵時的數碼管顯示問題進行改進,加一個中斷程序可以實現。 2.可以將行列式鍵盤的剩余未用鍵賦值。 3.自動重發功能可以進行改進。3.4
11、自我體會 通過這次課程設計,我加深了對所學單片機知識的理解,并學會了KeiLC軟件的使用,提高了自己的動手能力和編程能力。4.參考文獻1.張友德、趙志英、涂時亮單片微型機原理、應用于實驗,復旦大學出版社。2.譚浩強C語言程序設計,清華大學出版社。3.網絡資源。5.附錄1.實驗程序 #include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar flag=0,TS; /flag為接受重播標志位 TS為服務臺發送的數據uchar num; uchar t,symbol=0;uint i=0,j; uc
12、har save20=0;uchar code show=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;sbit p1=P27;sbit p2=P26;sbit p3=P25;sbit p4=P24;uint shownum;void delay(uchar x)uchar m,n;for(m=5;m>0;m-)for(n=x;n>0;n-);void delay1(uint x)uint m,n;for(m=x;m>0;m-)for(n=10;n>0
13、;n-);void delay2(uint x) /延時1ms uint m,n;for(m=x;m>0;m-)for(n=110;n>0;n-);void savenum(num)uchar z;for(z = 20; z>0; z-)savez=savez-1;save0=num;i+;void display(Q,B,S,G) if(i=1) P0=showG; p1=0;p2=1;p3=1;p4=1; / 0 為開啟 段選 高 為亮 delay(100); if(i=2) P0=showG; p1=0;p2=1;p3=1;p4=1; / 0 為開啟 段選 高 為亮 d
14、elay(100); P0=showS; p1=1;p2=0;p3=1;p4=1; delay(100); if(i=3) P0=showG; p1=0;p2=1;p3=1;p4=1; / 0 為開啟 段選 高 為亮 delay(100); P0=showS; p1=1;p2=0;p3=1;p4=1; delay(100); P0=showB; p1=1;p2=1;p3=0;p4=1; delay(100); if(i=4) P0=showG; p1=0;p2=1;p3=1;p4=1; / 0 為開啟 段選 高 為亮 delay(100); P0=showS; p1=1;p2=0;p3=1;p
15、4=1; delay(100); P0=showB; p1=1;p2=1;p3=0;p4=1; delay(100); P0=showQ; p1=1;p2=1;p3=1;p4=0; delay(100); if(i>4) P0=showG; p1=0;p2=1;p3=1;p4=1; / 0 為開啟 段選 高 為亮 delay(100); P0=showS; p1=1;p2=0;p3=1;p4=1; delay(100); P0=showB; p1=1;p2=1;p3=0;p4=1; delay(100); P0=showQ; p1=1;p2=1;p3=1;p4=0; delay(100)
16、; void main() /* 串口通信設置*/EA=1; /開總開關IT0=1;EX0=1;TMOD=0x20; /中斷工作方式為0TH1=0xFD; /波特率為9600 用11.0592Mz晶振TL1=0xFD;TR1=1; /啟動定時、計數器工作SM0=0; /工作方式1(10位異步收發器 )SM1=1; /工作方式1(10位異步收發器 REN=1; /啟動串口接收數據ES=1; /關閉中斷PCON=0x00; /復位時 while(1) P2=0xfe; /將最低位(第一行)至零,1111 1110 P3初始化t=P2;/此處P3會隨著按鍵變的t=t&0xf0;/按位與,一旦
17、有鍵按下,高四位肯定有一個被拉低為0;temp 肯定不會等于0xf0 了/之所以要與一下,主要是使低四位全為0 if(t!=0xf0)/說明第一行有鍵被按下,高四位有一個被至零了delay1(3000); /去抖switch(t)case 0x70: num=1;savenum(num); break;/第一列的鍵盤被按下 也就是第一行第一列被按下case 0xb0: num=2;savenum(num); break;/第一行第二列 case 0xd0: num=3; savenum(num); break;/第一行第三列case 0xe0: symbol=1;break; /* 第二行掃描
18、 */P2=0xfd; /1111 1101 t=P2;t=t&0xf0;if(t!=0xf0)delay1(3000);switch(t)case 0x70: num=4; break;case 0xb0: num=5; break; case 0xd0: num=6; break;savenum(num); /* 第三行掃描 */P2=0Xfb; /1111 1011 t=P2;t=t&0xf0;if(t!=0xf0)delay1(3000);switch(t)case 0x70: num=7; break;case 0xb0: num=8; break; case 0xd0: num=9; break;savenum(num); /* 第四行掃描 */P2=0Xf7; /1111 0111 t=P2;t=t&0xf0;if(t!=0xf0)delay1(3000);switch(t)cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肇慶市封開縣2025年八年級《語文》上學期期末試題與參考答案
- 航空航天股權收益互換與技術研發合作協議
- 跨省家庭探視權協議
- 2025年中國薄膜涂層行業市場前景預測及投資價值評估分析報告
- 2025年中國薄壁注塑ABS行業市場前景預測及投資價值評估分析報告
- 抖音短視頻合作終止與內容更新協議
- 游艇俱樂部會員專屬保險經紀合同
- 2025年中國鈀金行業市場前景預測及投資價值評估分析報告
- 高效能固態電池電解質大宗采購年度協議
- 旅游交通服務合作經營管理協議
- 雇人包工免責協議書
- 2025屆高三5月份全國各地聯考文言文閱讀分類匯編(解析版)
- 土建項目分包協議書
- 吐魯番市高昌區招聘社區工作者考試真題2024
- 山東省濟南市2025屆高三三模歷史試卷(含答案)
- 2025年中考道法答題技巧與模板構建專題08主觀題答題技巧(觀點概括類試)(學生版+解析)
- 2024-2025學年廣東省深圳市高一數學下學期7月期末考試(附答案)
- “教-學-評”一體化下初中英語寫作教學評價措施
- 2025團員考試試題及答案
- 2025年軟件測試工程師考試題及答案
- 血管內導管相關性血流感染預防與診治指南(2025)解讀課件
評論
0/150
提交評論