單片機課件|單片機課件(分享18篇)
發布時間:2022-04-21單片機課件(分享18篇)。
▲ 單片機課件
一、概述:
設計制作產品的背景、目的、意義
1.設計背景
在大二的上半個學期我們開了一門叫《單片機技術與應用》的課程,在期末考試之前有一個兩個星期的實訓,就是用平時所學的知識在自己的板子上實現一個功能,比如說:實現一個交通燈、萬年歷、密碼鎖或計算器等等,或者自己根據實際情況自己設計題目實現一個功能。設計當中最多三個人一個小組,最少自備一臺電腦。不僅如此,我們還能把以前所學的數字電路、模擬電路、電路基礎、PCB等知識在這次實訓過程中得到用用。在做中學,在學中作。
2、設計目的
1.
通過本次課程設計進一步熟悉和掌握單片機的結構及工作原理,鞏固和加深“單片機原理與應用”課程的基本知識,掌握電子設計知識在實際中的簡單應用。
2. 綜合運用“單片機原理與應用”課程和先修課程的理論及生產實際知識去分析和解決電子設計問題,進行電子設計的訓練。
3.
學習電子設計的一般方法,掌握AT89C52芯片以及簡單電子設計過程和運行方式,培養正確的設計思想和分析問題、解決問題的能力,特別是總體設計能力。
4. 通過計算和繪制原理圖、布線圖和流程圖,學會運用標準、規范、手冊、圖冊和查閱有關技術資料等,培養電子設計的基本技能。
5. 通過完成一個包括電路設計和程序開發的完整過程,了解開發單片機應用系統全過程,為今后從事的工作打基礎。
3、設計意義:交通燈的控制系統對于維持城市交通穩定有序的運轉有著至關重要的作用。考慮到單片機具有物美價廉、功能強、使用方便靈活、可靠性高等特點,本人擬采用AT89C52單片機來實現十字路口交通信號燈的模擬控制,通過模擬系統的設計來了解交通燈系統的工作原理和一些基本功能是如何通過單片機來實現的。
此次設計基于本人在校期間所學的有關單片機等相關知識,通過設計基于AT89C52單片機的交通燈控制系統,將所學知識運用到實踐中并得以深化,進一步加強單片機知識的理解,掌握單片機的基本原理和各種基本功能的應用,并且通過交通燈控制系統的設計可以進一步認識單片機在控制系統中的重要性。
設計制作產品的設計要求
1、在萬能板上組裝焊接一個十字交通模擬路口
2、利用學習板上的單片機最小系統、數碼管、按鍵等資源與組裝焊接的模擬路口組成簡易交通燈控制器硬件系統。
3、編寫軟件實現下表及下圖所示交通路口的相位規則,循環顯示交通信號指揮交通。
4、 數碼管倒計時顯示當前相位剩余時間。
5、 時間控制基于定時器實現。
擴展功能要求:
1、 在各路口綠燈變黃燈之前加上3秒鐘綠閃,即實現6相位。
2、 增加各方向綠時時間設定功能。
⑴、增加設定鍵、增加鍵、減少鍵、確認鍵
⑵、按下設定鍵進入更改綠時狀態,數碼管最左面的一位顯示0,右邊兩位顯示當前東西方向綠時時間,再次按下設定鍵數碼管最左面的一位顯示1,右邊兩位顯示當前南北方向綠時時間,依次循環。
⑶、在設定狀態下,按下增加按鍵和減少按鍵可以增加或減少當前方向綠時時間,綠時時間范圍10-99秒。
⑷、調整好綠時時間后,按下確認按鍵存儲并更新新的綠時設定。
設計文檔要求:
1、繪制系統原理圖及PCB圖。
2、編寫元器件清單
3、上交完整的源程序并對程序進行注釋
4、完成電子產品設計及制作總結報告
分工情況、工作計劃及本人所總結工作
1、了解交通燈控制系統的各項功能要求
1. 根據功能要求設計不同設計方案并擇優選擇
2. 選擇材料并根據所選設計方案進行硬件電路的設計,包括主控制系統、通行燈輸出控制、時間顯示模塊、電源電路等
3. 根據功能要求進行主要程序的設計,包括初始化程序、主程序、外中斷1中斷服務程序、定時中斷服務程序等
4. 使用PROTEUS軟件仿真,檢查是否實現所需功能并在系統上進行調試以達到預期效果
本課題的基本內容、重點及難
1、基本內容:交通燈控制系統的功能要求;制定不同的設計方案并擇優選擇;系統硬件電路的設計(包括主控制系統、通行燈輸出控制、時間顯示模塊、電源電路等);系統主要程序的設計(包括初始化程序、主程序、外中斷1中斷服務程序、定時中斷服務程序等);軟件仿真(使用PROTEUS軟件仿真)及系統運行調試(檢查能否實現功能并改進)。
2、重點:根據交通燈控制系統的功能要求制定出不同的設計方案并擇優選擇;根據設計方案進行硬件電路部分的設計(包括主控制系統、通行燈輸出控制、時間顯示模塊、電源電路等)。
3、難點:根據交通燈控制系統的功能要求進行主要程序的設計(包括初始化程序、主程序、外中斷1中斷服務程序、定時中斷服務程序等);使用PROTEUS軟件仿真并在系統上進行調試。
二、正文:
實驗原理
1.基本原理
主體電路:交通燈自動控制模塊。這部分電路主要由80C51單片機的I/O端口、定時計數器、外部中斷擴展等組成。
本設計先是從普通三色燈的指示開始進行設計,用P0口作為輸出。程序的初始化是南北綠燈亮30秒,同時東西紅燈亮30秒;之后南北黃燈亮3秒,東西紅燈亮3秒;之后南北紅燈亮15秒,東西綠亮15秒;之后南北紅燈亮3秒,東西黃燈量3秒,之后重復執行。倒計時用到定時器T0,用P2口作為LED的顯示。二位一體的LED重復執行30秒、3秒、15秒的倒計時。作為突發事件的處理,本設計主要用到外部中斷EX0。用一模擬開關作為中斷信號。實際中可以接其它可以產生中斷信號的信號源。
2.芯片AT89C52
AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256
bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復雜系統控制應用場合。
AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。
主要功能特性:
? 兼容MCS51指令系統
? 8k可反復擦寫(>1000次)Flash ROM
? 32個雙向I/O口
? 256x8bit內部RAM
? 3個16位可編程定時/計數器中斷
? 時鐘頻率0-24MHz
? 2個串行中斷
? 可編程UART串行通道
? 2個外部中斷源
? 共6個中斷源
? 2個讀寫中斷口線
? 3級加密位
? 低功耗空閑和掉電模式
? 軟件設置睡眠和喚醒功能
實驗流程圖
(一)實現方法
(1)在設計中利用軟件程序延時的方法來控制紅(綠)的亮的時間??紤]延時時間較長所以先用T0產生終端然后通過計數的方法來實現延時。利用P1口的P1.1、P1.2、P1.3作為紅綠燈控制端口。
(2)南北向的綠燈連在一塊,東西向的紅燈連在一塊,他們一塊與P1.1相連。同樣南北向的紅燈連在一塊,東西向的綠燈連在一塊,他們一塊與P1.
2相連,四個黃燈連在一塊與P1.3相連。
(二)流程圖
硬件設計
1.單片機的結構
單片微機(Single-Chip
Microcomputer)簡稱為單片機。它在一塊芯片上集中成了中央處理單元CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數和多功能輸入/輸出I/O口,如并行口I/O、串行口I/O和轉換A/D等。就其組成而言,一塊單片機就是一臺計算機。由于它具有體積小、功能強和價格便宜等優點,因而被廣泛地應用于產品智能化和工業控制自動化上。
2.主要元器件選擇
(1). 開關管的選擇:BUTTON按鈕
(2). LED發光二極管 LED-RED, LED-YELLOW ,LDE-GREEN
(3). 二位一體數碼管 7SEG-MPX2-CAT-RED:數碼管(紅色)
(4). PN4249:驅動三極管
(5). AT89S51系列單片機
3.設計顯示部分
LED數碼顯示部分。LED數碼顯示部分由七段數碼顯示管組成。
發光二極管顯示原理:
發光二極管是采用砷化鎵、鎵鋁砷和磷化鎵等材料制成,其內部結構為一個PN結,具有單向導電性。發光二極管在制作時,使用的材料不同,那么就可以發出不同顏色的光。
當定時器定時為1秒,時程序跳轉到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間
,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數器賦初值
,重新進入循環。
軟件設計
1.單片機中斷系統基本結構
中斷是一項重要的計算機技術,是處理正常工作與緊急狀態的好辦法,是實現人機實時交互的重要途徑,在單片機應用系統中,中斷技術得到了廣泛應用。下面詳細介紹單片機中斷系統基本結構、與中斷相關的特殊寄存器的設置及中斷應用系統編程方法。
當CPU查詢到系統有中斷請求時,如果系統處于中斷允許狀態,CPU將停止當前的工作,響應中斷請求,轉向中斷服務,中斷服務完成后,返回原程序繼續執行當前任務,這叫單片機中斷。
8051系列單片機中斷系統結構如圖3.7所示。能讓CPU產生中斷的信號源叫中斷源。8051單片機有NT0、INT1、T0、T1、TI、RI六個中斷源,但只有EX0、ET0、EX1、ET1、ES五個向量,
INT0、INT1:外部中斷源,由P3.2和P3.2引腳輸入。具有低電平和脈沖兩種觸發方式,在每個機器周期的S5P2采樣引腳信號,如有效則由硬件將它的中斷請求標志IE置1,請求中斷。當CPU響應中斷時,由硬件復位。
T0、T1:定時/計數器中斷,當定時/計數器產生溢出時,置位中斷請求標志TF請求中斷處理。
RI、TI:串行中斷,RI是接收,TI為發送。單片機串行口接收到一個字符后RI置1,發送完一個字符TI置1。值得注意的是,RI、TI在響應中斷后,必須由用指令將其復位。
中斷響應:
CPU在執行程序的過程中,在每個機器周期的S5P2對中斷標志位按中斷優先級進行查詢,一旦查詢到有中斷請求,CPU只要不在執行同級或高級的中斷服務程序和當前指令(RETI指令或訪問IE、IP的指令除外)執行完畢兩種情況,則響應中斷。如果當前正在執行的指令是RETI或訪問IE、IP的指令,則當前指令執行完畢后,CPU才可響應中斷。中斷響應時間可
以從中斷信號被查詢開始算起,中斷響應時間在以下三種情況下,響應時間還會更長:
① CPU正在執行一個比要響應的中斷源優先級相等或更高的中斷源的中斷服務程序,此時須等到中斷服務程序執行完畢才可中斷響應。
② 正在執行的當前指令不是在最后一個機器周期,只有指令執行完后才響應中斷。
③
如果當前執行的是RETI或訪問IE、IP的指令,則當前指令執行完畢后,CPU需再執行一條指令才可以中斷響應,因此附加等待響應時間不會超過5個機器周期。
中斷入口:
單片機響應中斷后,將轉向特定的入口進行中斷服務,從表中可以看出,兩相鄰中斷源的入口地址間隔為8個單元。這意味著如果要把中斷源對應的中斷服務程序從入口地址開始存放,則程序的長度不能超過8個字節,否則會影響到下一個中斷源的入口地址的使用。而通常的情況下,中斷服務程序的長度不止8個字節,因此,常見的處理方法是:在入口地址處存放一條無條件轉移指令,通過這條轉移指令轉向對應的中斷服務程序入口,中斷服務程序以RETI為結束。
中斷請求的撤銷:
CPU響應中斷請求,在中斷返回(RETI)之前,該中斷請求應被撤除,否則會引發另一次中斷。
定時/計數器中斷請求撤銷:CPU在響應中斷后,由硬件自動清除中斷請求標志TF。
外部中斷請求撤銷:如果采用脈沖觸發方式,CPU在響應中斷后,由硬件自動清除中斷請求標志IE;對于電平觸發方式的外部中斷請求,中斷標志的撤銷是自動的,由于造成中斷請求的低電平繼續存在,所以在響應中斷后再次會產生中斷請求,為此響應中斷后要撤銷外部信號。
2.每秒鐘的設定
延時方法可以有兩種一中是利用MCS-51內部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。
3.計數器初值計算
定時器工作時必須給計數器送計數器初值,這個值是送到TH和TL中的。我們可以把計數器記滿為零所需的計數值設定為C和計數初值設定為TC
可得到如下計算通式: TC=M-C
C語言程序
#include"reg52.h" //宏包含MCS-52系列單片機的頭文件
#define uchar unsigned char
#define uint unsigned int
uchar code
duanmatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//數碼管段碼數組
uchar code weima[]={0x7f,0xbf,0xdf,0xef};//位碼數組
uchar code xiangwei[]={0xdb,30,0x7b,3,0xbd,15,0xb7,3};
//實現相位的切換,數碼管的倒計時與
交通燈的相位切換巧妙結合。
void delay (uint z); //延時程序聲明
uchar n50ms,greentime;
uchar xianshi[2]={10,10}; //顯示數組
void intital();
main()
{ intital();
while(1)
{
uchar i,j;
for(;greentime==0&&j
{
greentime=xiangwei[j+1]; //送顯相位對應的時間
P0=xiangwei[j]; //相位段碼
}
if(j==8)
{
j=0;
}
xianshi[0]=greentime%10;//更新顯示數組
xianshi[1]=greentime/10; //更新顯示數組
if(n50ms>=20) //定時器精確延時
{ n50ms=0;
greentime-=1;
}
for(i=0;i
{
P3=weima[i];
P2=duanmatable[xianshi[i]];
delay(5);
}
}
}
/*********延時子程序**********/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=122;y>0;y--);
}
/********延時子程序結束*******/
void timer0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n50ms++;
}
void intital()
{
TMOD|=0X01; //定時器1,方式0
TMOD&=0XF1;
TH0=(65536-50000)/256; //賦初值
TL0=(65536-50000)%256;
ET0=1; //開定時器中斷
EA=1; //開總中斷
TR0=1; //開總中斷
}
2、連線說明 三、結論: 硬件平臺:I51學習板。 1、硬件平臺及用到的資源 用到的資源:數碼管顯示、發光二極管等。
3.1設計制作過程中遇到的問題及如何解決的 交通燈電路圖簡易交通燈硬件接線說明
單片機P0.1-P0.3、P0.5-P0.7依次控制東西方向的綠紅黃,南北方向的綠紅黃。
在接線時總接反,有時候還接錯。在編程時,有時忘記生成機器碼,忘記保存。最大的問題就是編程了,我在網上也找了許多相關程序但是許多都看不懂,不過老師也給了一些程序數碼管顯示電路:段碼控制接口P8用8P杜邦線連接單片機P2口;位碼控制接口P9用4P杜邦線用4P杜邦線接單片機P3.4-P3.7。
不過還是都看不懂。前面一些問題在同學和老師的幫助下我都一一解決,但是在編程這一塊還存在很大問題。
3.2通過設計制作過程有哪些提高還有哪些不足及今后學習提高計劃
在這次的實訓過程中我懂得了無論大事還是小事都應該注意細節,在硬件連接、keil開發平臺已經熟練掌握。但是在c語言編程、pcb制圖、畫電路圖在今后的學習中應該進一步提高。
四、心得體會:
在實驗過程中,單片機作為核心控制元件,使得電路的可靠性比較高,功能也比較強大、多變。而且可以隨時的更新系統,下載新的文件進行不同狀態的切換,進行不同狀態的組合。一開始感覺很好奇,于是產生濃厚興趣,夢想成為電子產品中的魔術師!
在一開始硬件連線的過程中從在問題:杜邦線不知道該往哪插,接線時順序總結反。在編程時有時忘記保存,有時忘記生成機器碼,編譯之后的錯誤很多。但是在設計和調試過程中,也發現一些問題,譬如紅綠燈的切換速度不夠,綠燈時而亮時而不亮,紅綠燈規則效率偏低等,亮度不夠是因為在焊接硬件時把排阻接錯了,應該是排阻的阻值用的較大了。在焊接外接電路時沒按照老師的步驟走,最后導致接錯、焊錯。交通燈的外接電路雖然只有幾個電阻、三極管、發光二極管和幾個接線口以及一個接線板,但是到了自己的手里卻無從下手沒有頭緒,最后在同學的幫助下最后完成了焊接。
還有,老師說我的外接電路排版不是很好,例如電阻,因為我是用手折彎的,而不是用鑷子,所以這是我以后需要注意的地方。還有一個晶振焊接的不是很整齊,應該從新焊一下,但因為我怕麻煩,也怕重焊后會影響美觀,所以就沒再去重試了。另外,由于畫PCB時,我漏畫了一條線,以至于轉化為板時那邊出了問題,后來我就得自己對照著PCB再用導線把遺漏的導線連接上,花了不少時間,增加了許多工作量,所以說這些都還需要我們在實踐中繼續加強改進,得到進一步的完善。
這次課程設計,我發現單片機原理應用性很強,只在老師的課堂講解是遠遠不夠的,老師經常說:“只有清華的學生用上課時間才能聽懂,而且課余時間不用練習,就上課的時間就夠了?!碑斎晃覀儾粚儆谒麄兤渲械囊徊糠?,要想做到的話只有自己多下功夫勤于動手去做才有可能做到,才能不斷的發現自己的不足之處,從而有針對性的去學習,去查資料。許多的余力和程序看似簡單,但真正去做才知道知識并沒有自己想的那樣扎實,就拿編程來說吧,有些程序看似好像懂了,但自己在keil軟件一編程就一塌糊涂、手忙腳亂、不知所措了,可想結果如何。
在此,從而懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學理論與實際結合起來,才能真正提高自己的動手能力與思考能力,樹立自己的工作信心。相信會對今后的學習工作和生活有非常重要的影響
在設計過程中我們還得到了老師的幫助與意見。在學習、實訓過程中不是每個問題都能自己解決,向老師請教或向同學討論也是一個解決問題,讓自己更快進步和增強學習能力很好的辦法。
在此,我還想多說幾句,就說說咱們的實訓老師吧。在他的幫助下我學到了許多東西,最后完成了實訓。此外,在實訓期間還講一些激勵我們的話讓我們從迷茫中走出來,給我們導航指引方向,從而使我們得到進步,勇往直前。在課余之時老師還講一些有關技能大賽的事情,有全國性的電子產品設計技能大賽、天津市的許多賽事等等,從而使我們從中了解許多有關大賽的信息。不僅如此,老師還經常教育一些上課不認真聽講、不做實訓的同學,這些都讓我深受感動、值得深思。
在最后,祝愿每個小組在這兩個星期的緊張學習中得到理想的成績,從中學到知識,為以后的工作學習中得到用處!
▲ 單片機課件
《單片機》這門課程我已經學了一個學期了,在這一個學期的學習過程中,我一開始不怎么懂得編程,但慢慢的我現在已經不僅會讀程序還會寫程序了。真為自己一個學期來努力學到的單片機知識只是而感到高興。
怎么學單片機?也??吹接腥苏f學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這里說說我學習單片機的經歷和方法。 我覺得學習單片機首先要懂得C語言,因為單片機大多說都是靠程序來實現的,如果看不懂程序或則不懂的編程是很難學會單片機的。學習單片機首先要明白一個程序是怎么走的,要完全懂得程序每一個步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學習單片機最主要的對89C51芯片內部結構有全方面的,只要了解了89C51才能知道單片機實現什么樣的功能和作用,才能對單片機有更深一步的了解。 通過一個學期《單片機》這門課程的學習,我也從中有了不少心得和體會想和大家分享一下。
萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,不要說單片機的程序全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程序就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會差多少。然后建個程序,加入項目中,再寫代碼、編譯、運行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程序在上面運行一下看結果,學習效果會好很多,仿真器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學不會的。 知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了后面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。 程序不要光看不寫,一定要自己寫一次。最開始的時候,什么都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果??疵靼琢酥螅鸵约簩懸淮?,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當你自己能寫出來的時候,說明你就真的懂了。
必須學會掌握調試程序的方法。不少人寫程序,把代碼寫好了,然后一運行,不是自己想要的結果,就暈了,然后跑到論壇上發個帖子,把程序一貼,問:為什么我的程序不能正常運行?然后就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習調試程序的方法,比如KEIL里,可以下斷點啦,查看寄存器內容等等,這些都是調試程序的手段,當你發現你寫的程序運行結果和你想象中不一樣的時候,你可以單步,也可以下斷點,然后跟蹤,查看各相關寄存器內容,看看程序運行過中是不是有什么偏差,找出影響結果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學到的知識是書上得不到的。
找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復制到自己的程序中,可以說,這不是一種學習的態度,無助于你編程水平的提高。我幾乎不怎么看人家的代碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從代碼中看出別人處理問題的思路,是相當困難的,特別是大型的程序,看起來是非常的累人。所以現在我也明白了,以前讀書時說的程序流程圖很重要,現在算是知道了。當你知道一個問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經不是什么問題了。
開動腦筋,運用多種方法,不斷優化自己的程序。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那么你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,編程水平才能有所提高。
看別人的程序,學習人家的思路。這個在學習初期是很有用,通過看別人的程序,特別是老師寫出的具有一定水平的程序,可以使自己編程水平得到迅速的提高。同時,也可以結合別人的編程手法,與自己的想法融合在一起,寫出更高水平的程序,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。
嘗試編寫一下綜合應用的程序。從流水燈學起,到動態掃描,再到中斷,那么,你可以試試寫一下時鐘這種綜合性應用的程序,不要小看時鐘,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(IO讀取)、動態掃描(IO輸出)、中斷等,如何協調好各功能模塊正常工作,才是編程者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序什么也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。
著重于培養解決問題的能力,而不是具體看自己編寫了多少程序或者做過什么。“學單片機重點在于學習解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學單片機學習單片機之后感悟出來的。真正的能力不是你曾經編寫過多少個可以實現的程序,而應該是:“遇到沒有解決過的問題,能利用自己已學的知識,迅速找到解決問題的方法?!边@個才是能力。
面對一個新程序時,多自己開動腦筋,不要急于找別人的程序。有不少人面對一個新程序時,第一步想到的就是網上找別人寫過的程序,然后抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個程序時,應該先自己構思一下整個程序的架構,想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數據、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。
學會提問題。一般來說,學習過程中,你遇上的'問題,多數人也有遇上的,所以如果有什么不懂,你可以去問老師。我覺得學習單片機最主要的要多提問,對于一個自己不是太懂的程序,自己一定要多提問幾遍,這樣不但有利于加深自己的印象還能從中學到不少別人的方法。
經過一個學期我對《單片機》這門課程的學習,不僅讓我懂得了很多程序的編寫,還讓我學到了很多對自己有用的學習方法??偨Y這個學期來的我自己的學習情況,我覺得自己對編程進步了不少,懂得運用正確的學習方法學習單片機程序,不再去死記硬背指令了。所以我覺得學習要不斷總結學習方法,才能讓自己學習不斷進步。
▲ 單片機課件
通過這次單片機實習,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。創新可以是在原有的基礎上進行改進,使之功能不斷完善,成為真己的東西。
作為一名自動化專業的快大三學生,我覺得做單片機實習是十分必要的。在已度過的大學時間里,我們大多數接觸的是專業課。我們在課堂上掌握的僅僅是專業課的理論知識,如何去鍛煉我們的實踐能力,如何把我們所學的專業基礎課理論知識運用到實踐中去,我想做類似實習就為我們提供了良好的實踐平臺
學習單片機沒有捷徑,不能指望兩三天就學會,要堅持不懈,重在積累單片機是一門應用性和實踐性很強的學科,要多動手,多做實驗。
(4)要學會參考別人的程序,減少自己琢磨的時間,迅速提高自己的編程能力。
(5)碰到問題可以借助網絡來搜尋答案和對自己有幫助的問題,一定會有所收獲。
(6)小組要團結,小組之間要多交流。技術是靠不斷的積累和交流才會進步的,封閉自守只會更加落后
通過這次單片機設計N也喚黽由盍碩緣テ機理論的理解=理論很好地應用到實際當中去M時也使我認識到自身存在的不足之處N蘼凼搶礪凵匣故怯齙轎侍獾拇理能力上都還有待提高6且這也激發了我今后努力學習的興趣。發現問題、提出問題、分析問題、解決問題和實踐能力的提高都會受益于我在以后的學習、工作和生活中。1、不管做什么事,計劃是很重要的。沒有一個完好的計劃,做事情就會沒有一個好的順序,做事情會比較亂,很難成功。而有一個好的計劃,不管做什么事都會事半功倍,做事心中有數,明確重點和緩急,不會有疏漏。這樣才能提高成功率。
2、做事要多動腦,選出最好的方法。一件事往往有多種解決方法,一個好的方法,不僅能使事情事半功倍,而且往往決定最后的成與敗,所以做事時一定要多動一下腦筋,想出最好的方法。 3、要注意細節。細節決定成敗,這句話在這次課題中不僅一次得到了印證,特別是在軟件的編程過程中,一點點的錯誤就會使你整個程序不能運行。因此我們不僅僅要有整體意識,也要注意細節,不要因一個關鍵地方的一個細節而導致滿盤皆輸。
4、最后,也是最重要的一點,通過這次課題,我們學到了很多有關單片機方面的知識,也對單片機有了更深入的了解。使我們受益匪淺。
總之,親自動手是課堂學習的延續,電子領域隨時隨地都在發生著翻天覆地的變化,現有的知識儲備總是落后于科技的發展腳步,我們只有不斷學習新知識,才能做到面對新課題時游刃有余
這學期的單片機實驗課程已經結束了,雖然做的實驗是比較簡答的,但麻雀雖小五臟俱全,因此自己也通過實驗課學到了很多知識。單片機實驗課是為了更好的學習單片機使用單片機而開設的一門課程。單片機在實際生活中的應用非常廣泛,尤其是在工業控制、網絡通信、模塊化系統和汽車電子等領域。因此,單片機課程是電子信息類專業學生的必修課之一。由此,可以看出單片機課程對于這類專業學生的重要性。
單片機課是一門實踐性很強的課程,僅有課堂上理論知識的學習,對運用好單片機是完全不夠的,必須親自做實驗,從實驗中吸取教訓,總結經驗,增加實戰經驗,加深對單片機的理解,更好的運用單片機。單片機實驗課的目的就是為學生提供做實驗的機會,讓學生能夠從幾個簡單的實驗中學會單片機開發的過程和單片機的實際運用。
單片機實驗課讓我將課堂上學到的理論知識運用到實驗當中去,在實驗中發現問題,解決問題,強化理論知識的運用。下面是自己做實驗當中遇到的一些問題和體會。
首先,自己在實驗課上對老師講解的東西沒有很好的領會。自己覺得老師講的電路和原理自己都懂,就沒有認真聽老師的講解,但是當自己去理解程序和修改程序就發現自己對電路的工作原理和過程并不是很了解,使得自己在改編程序實現不同功能時遇到較多的問題。
其次,自己對匯編語言的運用不是很熟練。自己之前接觸和使用的編程語言都是諸如C語言等的高級語言,對匯編語言基本上是空白狀態。雖然每個實驗老師都給出了參考程序,但是自己理解整個程序的運行過程和程序的功能依然遇到了比較大的困難。這就說明基礎薄弱是實驗中最大的問題。
最后,也是最突出的一個問題。自己邏輯思維和分析問題的能力比較欠缺。對程序的分析能力不足,不能夠很好的理解程序段之間的邏輯關系。同時,自己對實驗中遇到的問題不能及時分析并找出解決的辦法,知識一味的依賴老師的指導和同學的幫助。這也提醒自己,只有多加強鍛煉,才能不斷提高這方面的能力。單片機實驗課學生人數眾多,課程資源有限,只有一個老師指導,老師是非常辛苦的。同時,因為資源的限制,并不是每個人都可以親自操作的,這也就限制了同學們的積極性,出現了有些學生出工不出力的現象。因此,我建議可以限制選課的人數或者是調整時間段,避開大家的專業課時間,使每個時間段的學生人數比較合理,以達到最好的教學效果。
最后,還是要感謝一下老師的辛勤指導。這么多的學生,眾口難調,老師只能滿足大多數學生的需求,老師在這個過程中付出的辛勤勞動我們大家是有目共睹的,在這里,要向老師表示敬意。
時間過得真快,不經意間,一個學期就到了尾聲,進入到如火如荼的期末考試階段。
在學習單片機這門課程之前,就早早的聽各種任課老師和學長學姐們說過這門課程的重要性和學好這門課程的關鍵~~多做單片機實驗。這個學期,我們除了在課堂上學習理論知識,還在實驗室做了7次實驗。將所學知識運用到實踐中,在實踐中發現問題,強化理論知識。
現在,單片機課程已經結束,即將開始考試了,需要來好好的反思和回顧總結下了。
第一次是借點亮LED燈來熟悉keil軟件的使用和試驗箱上器材。第一次實驗體現了一個人對新事物的接受能力和敏感度。雖然之前做過許多種實驗。但依舊發現自己存在一個很大的問題,對已懂的東西沒耐心聽下去,容易開小差;在聽老師講解軟件使用時,思路容易停滯,然后就跟不上老師的步驟了,結果需要別人再次指導;對軟件的功能沒有太大的熱情去研究探索,把一個個圖標點開,進去看看。所以第一次試驗相對失敗。鑒于此,我自己在宿舍下載了軟件,然后去熟悉它的各個功能,使自己熟練掌握。
在做實驗中,第二個問題應該是準備不充分吧。一開始,由于沒有課前準備的意識,每每都是到了實驗室才開始編程,完成作業,導致每次時間都有些倉促。后來在老師的批評下,認識到這是個很大
的問題:老師提前把任務告訴我們,就是希望我們私下把程序編好。于是我便在上機之前把程序編好,拷到U盤,這樣上機時只需調試,解決出現的問題。這樣就會節約出時間和同學討論,換種思路,換種方法,把問題給吃透。發現、提出、分析、解決問題和實踐能力是作為我們這個專業的基本素質。三是我的依賴性很大,剛開始編程序時喜歡套用書上的語句,卻對語句的理解不夠。于是當程序出現問題時,不知道如何修改,眼前的程序都是一塊一塊的被拼湊整合起來的,沒法知道哪里錯了。但是編程是一件很嚴肅的事情,容不得半點錯誤。于是便只能狠下決心,堅持自己編寫,即使套用時,也把每條語句弄懂。這也能激發了學習的興趣。
還有一次實驗是調出電腦里的程序,讓它在試驗箱上實現其功,讓我們去體會別人編程的技巧和程序邏輯美感??戳酥?,不得不說我目前的水平簡直太小兒科了。還有連線也是個問題,對試驗箱內部結構功能的不懂,以至于不知道如何連線讓程序實現其功能。這讓我意識到單片機是軟件和硬件的結合,兩者是一個整體。所以必須把硬件方面加強。
五是基礎知識的薄弱,也是最基礎的問題吧!在用C語言編程時,才發現自己C語言真的太差勁了,雖然這門課程早就學過,但是就目前所掌握的C語言知識,對于單片機編程遠遠不夠。C語言也是我們以后學各種語言的基礎,必須要花大量的時間溫習強化。通過這個學期的單片機實驗,我發現了自己很多問題,也從中學到了很多。它不是物理實驗時,只需要記住老師說的步驟,順次做完就可以了;并不是matlab實驗,只需要你知道一些語句表達,然后在不違背語法的情況下,組合好就可以了;它不是EDA實驗,把一節課混下去就行了,反正大家都不知道,都是混,都跟不上老師的節奏思路。他需要我們在掌握硬件的基礎上,用單片機語言在keil軟件上寫出一定的程序,然后利用stcisp燒到試驗箱上,實現其特定的功能。而在編程時需要邏輯力,創新力,知識組合力,知識搜索。單片機在電子技術應用領域中,單片機的應用愈來愈多地應用到各行各業。要開發單片機的應用,不但要掌握單片機硬件和軟件方面的知識,而且還要深入了解各應用系統的專業知識,融會貫通和有機結合,才能設計出優良的應用系統。并且需要與時俱進,不斷了解各公司最新芯片的結構和應用,在實際應用中找到最好的性能價格比。培養自己接受新知識的自學能力,掌握芯片發展動態。培養自己的創新精神,在原有的基礎上進行改進,使之功能不斷完善。當然,最重要到還是態度,無論做什么事情,足夠認真,足夠堅強,足夠毅力,足夠決心,足夠勇氣,就一定能辦到。
單片機實驗心得體會時間過得真快,不經意間,一個學期就到了尾聲,進入到如火如荼的期末考試階段。
在學習單片機這門課程之前,就早早的聽各種任課老師和學長學姐們說過這門課程的重要性和學好這門課程的關鍵~~多做單片機實驗。
這個學期,我們除了在課堂上學習理論知識,還在實驗室做了7次實驗。將所學知識運用到實踐中,在實踐中發現問題,強化理論知識。
現在,單片機課程已經結束,即將開始考試了,需要來好好的反思和回顧總結下了。第一次是借點亮LED燈來熟悉keil軟件的使用和試驗箱上器材。第一次實驗體現了一個人對新事物的接受能力和敏感度。雖然之前做過許多種實驗。但依舊發現自己存在一個很大的問題,對已懂的東西沒耐心聽下去,容易開小差;在聽老師講解軟件使用時,思路容易停滯,然后就跟不上老師的步驟了,結果需要別人再次指導;對軟件的功能沒有太大的熱情去研究探索,把一個個圖標點開,進去看看。所以第一次試驗相對失敗。鑒于此,我自己在宿舍下載了軟件,然后去熟悉它的各個功能,使自己熟練掌握。
在做實驗中,第二個問題應該是準備不充分吧。一開始,由于沒有課前準備的意識,每每都是到了實驗室才開始編程,完成作業,導致每次時間都有些倉促。后來在老師的批評下,認識到這是個很大的問題:老師提前把任務告訴我們,就是希望我們私下把程序編好。于是我便在上機之前把程序編好,拷到U盤,這樣上機時只需調試,解決出現的問題。這樣就會節約出時間和同學討論,換種思路,換種方法,把問題給吃透。發現、提出、分析、解決問題和實踐能力是作為我們這個專業的基本素質。
三是我的依賴性很大,剛開始編程序時喜歡套用書上的語句,卻對語句的理解不夠。于是當程序出現問題時,不知道如何修改,眼前的程序都是一塊一塊的被拼湊整合起來的,沒法知道哪里錯了。但是編程是一件很嚴肅的事情,容不得半點錯誤。于是便只能狠下決心,堅持自己編寫,即使套用時,也把每條語句弄懂。這也能激發了學習的興趣。還有一次實驗是調出電腦里的程序,讓它在試驗箱上實現其功,讓我們去體會別人編程的技巧和程序邏輯美感??戳酥螅坏貌徽f我目前的水平簡直太小兒科了。還有連線也是個問題,對試驗箱內部結構功能的不懂,以至于不知道如何連線讓程序實現其功能。這讓我意識到單片機是軟件和硬件的結合,兩者是一個整體。所以必須把硬件方面加強。
五是基礎知識的薄弱,也是最基礎的問題吧!在用C語言編程時,才發現自己C語言真的太差勁了,雖然這門課程早就學過,但是就目前所掌握的C語言知識,對于單片機編程遠遠不夠。C語言也是我們以后學各種語言的基礎,必須要花大量的時間溫習強化。通過這個學期的單片機實驗,我發現了自己很多問題,也從中學到了很多。它不是物理實驗時,只需要記住老師說的步驟,順次做完就可以了;并不是matlab實驗,只需要你知道一些語句表達,然后在不違背語法的情況下,組合好就可以了;它不是EDA實驗,把一節課混下去就行了,反正大家都不知道,都是混,都跟不上老師的節奏思路。他需要我們在掌握硬件的基礎上,用單片機語言在keil軟件上寫出一定的程序,然后利用stcisp燒到試驗箱上,實現其特定的功能。而在編程時需要邏輯力,創新力,知識組合力,知識搜索。單片機在電子技術應用領域中,單片機的應用愈來愈多地應用到各行各業。要開發單片機的應用,不但要掌握單片機硬件和軟件方面的知識,而且還要深入了解各應用系統的專業知識,融會貫通和有機結合,才能設計出優良的應用系統。并且需要與時俱進,不斷了解各公司最新芯片的結構和應用,在實際應用中找到最好的性能價格比。培養自己接受新知識的自學能力,掌握芯片發展動態。培養自己的創新精神,在原有的基礎上進行改進,使之功能不斷完善。當然,最重要到還是態度,無論做什么事情,足夠認真,足夠堅強,足夠毅力,足夠決心,足夠勇氣,就一定能辦到。
▲ 單片機課件
通過為期一周的單片機實訓,是我們對這門課有了許多新的了解,彌補了在課堂上學習的不足。相信這對我們以后的學習和工作都會有很大的幫助。我們一定要在最短的時間里對這些不足加以改正!
首先,在這次試訓中我被單片機強大的功能所震撼,以前在課堂上完全沒有能理解可編程單片機的優越性。這次通過實體仿真軟件等輔助軟件的共同效果,是這次試訓有了鮮明的活力。換是我們認識到這次試訓不僅僅是一個軟件的應用,更多的是使我們認識到學習到很多在課堂上無法得到的東西。特別是protues軟件的功能是我們了解了當今開發系統的新方向,簡直太不可思議啦!
單片機作為一種最簡單的軟件,與我們的日常生活息息相關,了解一些單片機程序的簡單錄入是非常必要的。如:led顯示器、鍵盤和顯示器的應用和原理。
在被刺實訓中我們每個人通過一個八位流水燈的制作,使我們深深地體會到了單片機在現實生活中的小小應用,既增強了我們的好奇心,又鞏固了我們的理論知識。更讓我們體會到了單片機手動的開始平臺的完善與成熟。只要你有想法,單片機就有可能讓他成為現實。這里我學習完protues軟件后的第一感覺是,雖然這軟件工作不穩定,但是會有相當不錯的效果出來。這對我以后的工作一定會有幫助的。在這次試訓中不僅只對單片機編程有了新的認識,還對整個單片機的開發平臺都有了一廳的了解,這是一筆不錯的收獲。
通過這幾天的試訓,使我的感觸很深,真實“條條大路通羅馬”,要達到目的,不同的人就有不同的方法。只要你的方法不錯!五花八門都可以,而且是各有特色。走出來的結果都有各自的獨到之處。在編程中“簡”字貫穿于整個程序設計中,越簡單越好,畢竟單片機留給用戶的資源是有限的,所以我們要充分利用這些資源,達到更好的效果,這些是我們在以后的學習生活中應值得注意的地方。
在試訓中有苦有甜,當我們為一個很難攻破的程序找出路時,心情煩躁,感覺自己很不可理喻,當程序一點一點編好后,自己從心底感覺到一點小小的安慰,看著自己的成果。感覺很欣慰,有一絲絲的甜意,幾天的實訓使自己的思維邏輯也有了小小的進步。
時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機綜合課程設計也在一周內完成了。
俗話說“好的開始是成功的一半”。說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。
雖然這次的課程設計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。
硬件的設計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。
當然,這其中也有很多問題,第一、不夠細心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對于這次單片機綜合課程實習,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什么辦不到的。
在這次難得的課程設計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設計電路的過程中,加強了我思考問題的完整性和實際生活聯系的可行性。在方案設計選擇和芯片的選擇上,培養了我們綜合應用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術資料的能力,動手能力,發現問題,解決問題的能力。并且我們熟練掌握了有關器件的性能及測試方法。
再次感謝老師的輔導以及同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深單片機實習總結及體會
隨著電子技術的發展,特別是隨著大規模集成電路的產生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現使現代的科學研究得到了質的飛躍,那么可編程控制器的出現則是給現代工業控制測控領域帶來了一次新的革命。在現代社會中,溫度控制不僅應用在工廠生產方面,其作用也體現到了各個方面。本學期我們就學習了單片機這門課程,感覺是有點難呢。也不知道整個學習過程是怎么過來得,可是時間不等人。
時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機實習課題也在一周內完成了。俗話說“好的開始是成功的一半”。說這次實習,我認為最重要的就是做好程序調試,認真的研究老師給的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起產品就會事半功倍,如果沒弄明白,就迷迷糊糊的去做,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。
雖然這次的實習算起來在實驗室的時間只有幾天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。硬件的設計跟焊接都要我們自己動手去焊,軟件的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。
當然,這其中也有很多問題,第一、不夠細心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對于這次單片機綜合課程實習,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什么辦不到的。
通過這次單片機實習,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的'創新精神,從而不斷地戰勝自己,超越自己。創新可以是在原有的基礎上進行改進,使之功能不斷完善,成為真己的東西。
這個設計過程中,我們通過在原有的計數器系統進行了改進,使之增添了暫停、計數、清零等的三個控制功能,使之成為一個更加適用,功能更加完備的屬于自己的一個系統。設計結果能夠符合題意,成功完成了此次實習要求,我們不只在乎這一結果,更加在乎的,是這個過程。這個過程中,我們花費了大量的時間和精力,更重要的是,我們在學會創新的基礎上,同時還懂得合作精神的重要性,學會了與他人合作。作為一名自動化專業的快大三學生,我覺得做單片機實習是十分必要的。在已度過的大學時間里,我們大多數接觸的是專業課。我們在課堂上掌握的僅僅是專業課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學的專業基礎課理論知識運用到實踐中去呢?我想做類似實習就為我們提供了良好的實踐平臺。
首先在做本次實習的過程中,我感觸最深的當屬查閱大量的設計資料了。為了讓自己的設計更加完善,查閱這方面的設計資料是十分必要的,同時也是必不可少的。我們是在做單片機實習,但我們不是藝術家,他們可以拋開實際盡情在幻想的世界里翱翔,而我們一切都要有據可依,有理可尋,不切實際的構想永遠只能是構想,永遠無法升級為設計。
其次,在這次課程設計中,我們運用到了以前所學的專業課知識,如:c語言、模擬和數字電路知識等。雖然過去從未獨立應用過它們,但在學習的過程中帶著問題去學我發現效率很高,這是我做這次課程設計的又一收獲。
最后,在實習之前,我們要對所用單片機的內部結構有一個系統的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的'軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在實習過程中遇到問題是很正常的,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。但是從中學到的知識會讓我受益終身。發現、提出、分析、解決問題和實踐能力提高都會受益于我在以后的學習、工作和生活中。
▲ 單片機課件
這學期的單片機實驗課程已經結束了,雖然做的實驗是比較簡答的,但麻雀雖小五臟俱全,因此自己也通過實驗課學到了很多知識。
單片機實驗課是為了更好的學習單片機使用單片機而開設的一門課程。單片機在實際生活中的應用非常廣泛,尤其是在工業控制、網絡通信、模塊化系統和汽車電子等領域。因此,單片機課程是電子信息類專業學生的必修課之一。由此,可以看出單片機課程對于這類專業學生的重要性。
單片機課是一門實踐性很強的'課程,僅有課堂上理論知識的學習,對運用好單片機是完全不夠的,必須親自做實驗,從實驗中吸取教訓,總結經驗,增加實戰經驗,加深對單片機的理解,更好的運用單片機。單片機實驗課的目的就是為學生提供做實驗的機會,讓學生能夠從幾個簡單的實驗中學會單片機開發的過程和單片機的實際運用。
單片機實驗課讓我將課堂上學到的理論知識運用到實驗當中去,在實驗中發現問題,解決問題,強化理論知識的運用。下面是自己做實驗當中遇到的一些問題和體會。
首先,自己在實驗課上對老師講解的東西沒有很好的領會。自己覺得老師講的電路和原理自己都懂,就沒有認真聽老師的講解,但是當自己去理解程序和修改程序就發現自己對電路的工作原理和過程并不是很了解,使得自己在改編程序實現不同功能時遇到較多的問題。
其次,自己對匯編語言的運用不是很熟練。自己之前接觸和使用的編程語言都是諸如C語言等的高級語言,對匯編語言基本上是空白狀態。雖然每個實驗老師都給出了參考程序,但是自己理解整個程序的運行過程和程序的功能依然遇到了比較大的困難。這就說明基礎薄弱是實驗中最大的問題。
最后,也是最突出的一個問題。自己邏輯思維和分析問題的能力比較欠缺。對程序的分析能力不足,不能夠很好的理解程序段之間的邏輯關系。同時,自己對實驗中遇到的問題不能及時分析并找出解決的辦法,知識一味的依賴老師的指導和同學的幫助。這也提醒自己,只有多加強鍛煉,才能不斷提高這方面的能力。 單片機實驗課學生人數眾多,課程資源有限,只有一個老師指導,老師是非常辛苦的。同時,因為資源的限制,并不是每個人都可以親自操作的,這也就限制了同學們的積極性,出現了有些學生出工不出力的現象。因此,我建議可以限制選課的人數或者是調整時間段,避開大家的專業課時間,使每個時間段的學生人數比較合理,以達到最好的教學效果。
最后,還是要感謝一下老師的辛勤指導。這么多的學生,眾口難調,老師只能滿足大多數學生的需求,老師在這個過程中付出的辛勤勞動我們大家是有目共睹的,在這里,要向老師表示敬意。
▲ 單片機課件
一、實習說明
(1)實習時間:20xx.x-20xx.x
(2)實習地點:xx科技有限公司
(3)實習性質: 頂崗實習(主要基于xx平臺從事中小型企業管理軟件定制開發,使用現在主流的一些框架,在開發中擔當設計、編碼角色。)
二、實習的性質、目的和意義
畢業實習是教學過程中的重要組成部分,是使學生獲取生產、經營實際知識和技能,鞏固和加深對理論知識的理解,培養與提高能力的重要實踐環節。通過本次實習,學生將進一步加深對計算機理論知識的理解,進一步熟悉計算機文員的相關運作過程,為學生畢業后的實際工作打下良好基礎。
xx在人事部門的廣泛使用,改進了統計手段,改革了統計方法,提高了統計工計算機在人事部門的廣泛應用,將為我國的人事管理工作,提供現代化的管理手段和科學的管理方法,并將為開創人事管理工作的新局面創造條件。 目前,計算機在我國的人事管理工作中,主要可用來進行報表處理,檔案管理,文書編輯,信息查詢,綜合分析。干部統計作為人事管理的一個重要組成部分,是通過對干部情況的調查,整理和分析,了解干部隊伍的發展趨勢,為各級領導機關制定干部工作的方針,政策,加強干部管理,改革干部制度提供準確數字的依據。其工作除涉及到干部的基本情況統計之外,還包括干部的工資統計,干部編制情況統計,干部獎懲情況統計,軍轉干部安置情況統計,老干部情況統計等方面,其涉及的面之廣,數據量之大可想而知,若利用手工進行干部的統計工作,大致要經過干部統計調查,干部統計資料的整理,干部統計分析三個過程,但這種手工統計過程,存在著幾個明顯的問題,比如說統計資料缺乏準確性,及時性,需要花費大量的人力,物力,財力等。當今社會已步入了信息社會,知識經濟將成為新世紀的主導產業。
三、實習工作情況及實習內容
(一)、實習公司簡介
xx有限公司.簡稱xx(x), 是一個具有鮮明技術特色的專業軟件開發及咨詢服務的軟件企業,是中國軟件外包行業的積極倡導者和參與者,并立志為全球客戶提供全面的軟件開發、測試、維護和認證等專業服務。xx主要服務領域為金融、電信、電力、鋼鐵、電子商務等,我們的質量保證系統能有效為客戶提供從項目咨詢設計到實施維護的全面服務。xx擁有一批專業化的團隊和良好的人才梯隊,海外歸國人才的加盟,使我們迅速擁有進入國際市場的實力。
面對軟件行業人力資源嚴重匱乏的現狀,xx基于雄厚的技術實力,研發了一套適用于企業內部員工的培訓體系,使經過培訓的員工能快速適應項目變換的需要,時刻掌握行業最新技術動向。xx非常注重具有自主知識產權產品的設計和開發工作,在xx、xx, 無線通訊, 嵌入式系統等技術領域都推出了自己的產品,并有著穩定的客戶群。
xx為包括xx、xx等國內外客戶提供了專業化服務。xx的優質技術服務贏得了客戶的信賴。
(二)、實習過程
讀了四年的大學,然而大多數人對本專業的認識還是寥寥無幾,在編程與軟件測試周圍纏繞不定,在大二期末學院曾要求我們做一個關于計算機行業前景研究的調查報告,但由于當時所學知識涉及本專業知識不多,所看到的東西與本專業根本就很難聯系起來,在很多同學心里面對于本專業一直很茫然。
通過這次實習,我對xx專業在行業實踐中的工作對象、面臨問題及解決辦法有了一個較為全面的理解。鞏固專業知識的同時也增加了行業責任感,實習的日子里也加深了同學友誼,鍛煉了團隊精神。現將實習的個人感想總結報告如下:
在這三個禮拜的時間中,我復習了曾經學過的編程語言x,讓我對x在認識的基礎上,又具備了用x開發x應用程序和web應用程序的能力。現在我再去理解.x和xx,就會發現xx是個強大的新平臺,而java則是該平臺下最佳的開發語言。我還系統的學習了x編程,并努力完成我此次實習的任務----商品進銷存系統設計。系統采用x,開發工具為x,開發語言為x。這個系統是針對中國中小企業開發的進銷存管理軟件,全面提高商業企業的管理效率,高效管理庫存,提高銷售力度,為企業增加更大利潤。使用簡單,最大程度的簡化了財務管理軟件的操作復雜性,使企業無需學習,即可自己輕松上手,不但界面簡單易于操作,而且通過此系統您可以知道您每天、每月、每年的銷售額、利潤,統計所有的應收款、應付款,知道您的哪個分公司、門市、柜臺、商品、業務員賺了多少錢,庫存商品的價值,等等!有了此軟件您就可以輕輕松松的打理您的企業,獲得更多自由時間。還有此軟件數據流比較大,數據庫中表有五個,可光視圖就建了十來個,我們小組經過三個禮拜的開發時間完成了該系統,也受到了老師的肯定。在此次的實習中我們小組合理分配時間,恰當的調用人手,時刻爭當速度最快,界面最整潔的小組,我在其中主要完成了詳細設計文檔和測試設計文檔的編寫,還做了其中幾個頁面,同時協助同事進行開發,現在能熟練進行開發環境中各個控件的使用。
我們小組的名字為xx, 顧名思義,xx有力量的(力量來源于團結)故寓意我們小組成員的團結!但是,我們覺得:理論與實際有很大的差距,課內與課外有很大的區別,基于這一點,我們認為我們很缺乏“實戰經驗==”xx,與此同時,也暗含了我們對于知識的渴求;另外,還隱含了我們在這個過程中不怕苦不怕累的艱苦奮斗的革命精神!
指導老師們在整個實習過程中盡職盡責,對保證實習質量起到了重要作用。實習開始時,老師們深入學生的生活和學習環境,闡明實習大綱及實習計劃內容,明確實習目的和要求。實習過程中,結合實習單位的具體情況,幫助學生學會具體地分析問題、解決問題,學會深化專業知識,用專業知識指導實踐,指導學生做好具體工作;在業務不多的實習點,引導學生“找事做”,挖掘一定的實踐經驗;檢查學生實習工作日記,掌握實習情況,指導工作及時有效;督促學生認真完成實習報告。指導老師平均每周至少與學生交流一次。基本達到了及時發現問題,解決問題,提高實習質量的目的。 實習單位的指導老師認真負責。不僅指導具體工作,還無私的介紹自己的工作與社會經驗。
在此次實習過程中,我們每個人都把自己當成是公司研發部的一員,我們每天堅持按時上下班,甚至有時還會早到或者加班,合理的安排自己的工作時間,在指導老師的安排下勁量做到勞逸結合,時而做個小游戲放松我們自己的大腦,隨后便盡快讓大腦做到高速運轉,我對自己技術上的特點作一個概括。熟練的編寫詳細設計和測試設計文檔;努力學習編程;熟練掌握xx xx 20xx,復習并掌握了簡單的xx語句;熟悉xx應用系統的開發,開發語言為xx。
最后總結一下我在此次實習過程中的收獲主要有四個方面:一是通過直接參與企業的運作過程,學到了實踐知識,同時進一步加深了對理論知識的理解,使理論與實踐知識都有所提高,圓滿地完成了此次實習的實踐任務。二是提高了實際工作能力,為就業和將來的工作取得了一些寶貴的實踐經驗。三是在實習過程中成立一個小團隊,彼此之間互相溝通,互相幫助,為了我們的目標而努力,讓我看到了大家對于工作的熱情,還有每個人的工作能力。四是為xx論文積累了素材和資料。
四、實習總結和心得
經過過去四個月的實踐和實習,我對未來充滿了美好的憧憬,在未來的日子,我將努力做到以下幾點:
(1)、繼續學習,不斷提升理論素養
在信息時代,學習是不斷地汲取新信息,獲得事業進步的動力。作為一名年輕同志更應該把學習作為保持工作積極性的重要途徑。走上工作崗位后,我積極響應單位號召,結合工作實際,不斷學習理論、業務知識和社會知識,用先進的理論武裝頭腦,用精良的業務知識提升能力,以廣博的社會知識拓展視野。
(2)、努力實踐,自覺進行角色轉化
“理論是灰色的,生活之樹常青”,只有將理論付諸于實踐才能實現理論自身的價值,也只有將理論付諸于實踐才能使理論得以檢驗。同樣,一個人的價值也是通過實踐活動來實現的,也只有通過實踐才能鍛煉人的品質,彰現人的意志。 從學校走向社會,首要面臨的問題便是角色轉換的問題。從一個學生轉化為一個單位人,在思想的層面上,必須認識到二者的社會角色之間存在著較大的差異。學生時代只是單純的學習知識,而社會實踐則意味著繼續學習,并將知識應用于實踐,學生時代可以自己選擇交往的對象,而社會人則更多地被他人所選擇。諸此種種的差異。不勝枚舉。但僅僅在思想的層面上認識到這一點還是不夠的,而是必須在實際的工作和生活中潛心體會,并自覺的進行這種角色的轉換。
(3)、提高工作積極性和主動性
四個月的實習期很快過去了,是開端也是結束。展現在自己面前的是一片任自己馳騁的沃土,也分明感受到了沉甸甸的責任。在今后的工作和生活中,我將繼續學習,深入實踐,不斷提升自我,努力創造業績,繼續為中心創造更多的價值。
五、致謝
四年寒窗,所收獲的不僅僅是愈加豐厚的知識,更重要的是在閱讀、實踐中所培養的思維方式、表達能力和廣闊視野。很慶幸這些年來我遇到了許多恩師益友,無論在學習上、生活上還是工作上都給予了我無私的幫助和熱心的照顧,讓我在諸多方面都有所成長。感恩之情難以用語言量度,謹以最樸實的話語致以最崇高的敬意。如果沒有你們的幫助,我根本就不可能順利的完成本次的實習。
在實習的這段期間,再次感謝我工作過的武漢飛彩維修服務有限公司,感謝在其公司工作的所有同事,感謝所有幫助過我的人們,我成長的每一步,都離不開他們的關心與支持,謝謝他們。
這一段難忘的實習時光,將會永遠銘記在我的心靈。成為我一輩子的永恒的記憶。
▲ 單片機課件
1. 單片機由CPU、存儲器及各種I/O接口三部分組成。
2. 單片機即單片微型計算機,又可稱為微控制器和嵌入式控制器。
3. MCS-51系列單片機為8位單片機,共40個引腳,MCS-51基本類型有8031、8051和8751.
(2) 8031、8051和8751的區別: 8031片內無程序存儲器、8051片內有4KB程序存儲器ROM、8751片內有4KB程序存儲器EPROM。
4. MCS-51單片機共有16位地址總線,P2口作為高8位地址輸出口,P0口可分時復用
為低8位地址輸出口和數據口。MCS-51單片機片外可擴展存儲最大容量為216=64KB,地址范圍為0000H—FFFFH。(1.以P0口作為低8位地址/數據總線;2.以P2口作為高8位地址線)
5. MCS-51片內有128字節數據存儲器(RAM),21個特殊功能寄存器(SFR)。 (1)MCS-51片內有128字節數據存儲器(RAM),字節地址為00H—7FH; 00H—1FH: 工作寄存器區;
00H—1FH: 可位尋址區; 00H—1FH: 用戶RAM區。
(2)21個特殊功能寄存器(SFR)(21頁—23頁);
(3)當MCS-51上電復位后,片內各寄存器的狀態,見34頁表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH
6. 程序計數器PC:存放著下一條要執行指令在程序存儲器中的地址,即當前PC值或現行值。程序計數器PC是16位寄存器,沒有地址,不是SFR.
7. PC與DPTR的區別:PC和DPTR都用于提供地址,其中PC為訪問程序存儲器提供地址,而DPTR為訪問數據存儲器提供地址。
8. MCS-51內部有2個16位定時/計數器T0、T1,1個16位數據指針寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位數據傳送指令,用來設置地址指針DPTR。(46頁)
定時/計數器T0和T1各由2個獨立的8位寄存器組成,共有4個獨立寄存器:TH1、TL1、TH0、TL0,可以分別對對這4個寄存器進行字節尋址,但不能吧T0或T1當作1個16位寄存器來尋址。即:MOV T0,#data16 ; MOV T1,#data16 都是錯的., MOV TH0,#data; MOV TL0,,#data是正確的。
9.程序狀態字寄存器PSW(16頁) (1)PSW的格式: PSW ?D7 D6 D5 D4 D3 D2 D1 D0 D0H
(2)PSW寄存器中各位的含義; Cy:進位標志位,也可以寫為C。 Ac:輔助進位標志位。
P為奇偶標志位:該標志位用來表示累加器A中為1的位數的奇偶數 P=1, A中1的個數為奇數; P=0, A中1的個數為偶數。
另:使用加法指令時,累加器A中的運算結果對各個標志位的影響: (1)如果位7有進位,則置1進位標志位Cy,否則清0 Cy; (2)如果位3有進位,置1輔助進位標志位Ac,否則清0 Ac;
(3)如果位6有進位,而位7沒有進位,或者位7有進位,而位6沒有,則溢出標志位OV置1,否則清0 OV。即只要位7和位6中有一個進位,而另一個沒進位,OV就置1. 10. MCS-51指令系統的七種尋址方式,熟練掌握各尋址方式。(40頁)。
10.訪問MCS-51單片機中:(1)訪問片內RAM應使用MOV指令; (2)訪問片外RAM應使用MOVX指令; (3)訪問程序存儲器應使用MOVC指令。
11. MCS-51有5個中斷源,2級中斷優先級。5個中斷源名稱及其中斷入口地址分別是什么?哪些中斷源的中斷請求標志位在響應中斷時由硬件自動清除?那些中斷源的中斷請標志位必須使用軟件清除?記住各個中斷請求標志位,優先級標志位,觸發方式標志位。(102頁—108頁)
前面4種都是硬件自動清0,串行中斷必須使用軟件清除,因為串行接收和發送共享串行中斷,在中斷處理中必須使用T1和R1判斷串行接收還是發送中斷。
▲ 單片機課件
摘要:本文介紹一種嵌入式系統仿真方法,通過一種特殊設計的指令集仿真器ISS將軟件調試器軟件KeiluVision2和硬件語言仿真器軟件Modelsim連接起來,實現了軟件和硬件的同步仿真。關鍵詞:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,KeiluVision2,ISS,TFTP,HTTP,虛擬網卡,Sniffer,SMARTMEDIA,DMA,MAC,SRAM,CPLD
縮略詞解釋:
BFM:總線功能模塊。在HDL硬件語言仿真中,BFM完成抽象描述數據和具體的時序信號之間的轉換。
PLI:Verilog編程語言接口,是C語言模塊和Verilog語言模塊之間交換數據的接口定義。
TCL:字面意思是工具命令語言,是一種解釋執行語言,流行EDA軟件一般都集成有TCL。使用TCL用戶可以編寫控制EDA工具的腳本程序,實現工具操作自動化。
ISS:CPU指令集仿真器,可以執行CPU的機器碼。
TFTP:簡單文件傳輸協議,Windows的tftp.exe既是該協議的客戶端實現。
SMARTMEDIA:一種存儲卡,常用于數碼相機、MP3。
DMA:直接內存訪問。用于外部設備之間高速數據轉移。
MAC:媒體接入控制器。本文中是指網卡芯片。
前言
傳統的嵌入式系統中,設計周期、硬件和軟件的開發是分開進行的,并在硬件完成后才將系統集成在一起,很多情況下,硬件完成后才開始進行實時軟件和整體調試。軟硬件聯合仿真是一種在物理原型可用前,能盡早開始調試程序的技術。
軟硬件聯合仿真有可能使軟件設計工程師在設計早期著手調試,而采用傳統的方法,設計工程師直到硬件設計完成才能進行除錯處理。有些軟件可在沒有硬件支持的情況下完成任務的編碼,如不涉及到硬件的算法。與硬件相互作用的編碼在獲得硬件之前編寫,但只有在硬件上運行后,才能真正對編碼進行調試。通過采用軟硬件聯合仿真技術,可在設計早期開始這一設計調試過程。由于軟件的開發通常在系統開發的后段完成,在設計周期中較早的開始調試有可能將使這一項目提早完成,該技術會降低首次將硬件和軟件連接在一起時出現意外而致使項目延期完成所造成的風險。
在取得物理原型前,采用軟硬件聯合仿真技術對硬件和軟件之間的接口進行驗證,將使你不會花太多的時間在后期系統調試上。當你確實拿到物理原型開始在上面跑軟件的時候,你會發現經過測試的軟件部分將會正常工作,這會節省項目后期的大量時間及努力。
軟硬件聯合仿真系統由一個硬件執行環境和一個軟件執行環境組成,通常軟件環境和硬件環境都有自己的除錯和控制界面,軟件通過一系列由處理器啟動的總線周期與硬件的交互作用。本文以一個MiniWeb卡的開發介紹一種軟硬件聯合仿真系統。
該方案的核心是采用一個51單片機仿真引擎GoldBullISS51(以下簡稱ISS51),ISS51是51單片機開發環境KeiluVision2的一個插件,ISS51具有連接Keil和硬件仿真環境Modelsim的接口,可以實現軟硬件同步仿真。在該系統中,Keil作為軟件調試界面,Modelsim作為硬件仿真和調試界面,ISS51負責軟件執行、監控軟件斷點、單步執行、內存和寄存器數據返回給Keil、CPU總線時序產生和捕獲、內部功能模塊(如定時器,串口)的運行等功能。
MiniWeb卡介紹
MiniWeb卡是一個運行在單片機上的Web服務器,提供網口連接,有大容量文件系統,提供TFTP和HTTP服務。盡管軟件系統比較復雜,但優化編譯后,執行代碼還不足25K,為后續升級留下了足夠空間。
51CPU采用SST89系列,這種CPU具有ISP功能,可以通過RS232串口,直接將目標碼下載到CPU。
DMA控制邏輯是一個可編程邏輯器件,采用的是ALTERA的CPLDEPM240,主要功能是實現外圍器件之間的DMA傳遞。因為51CPU進行IO訪問是很低效的,需要24個時鐘周期才能進行一
▲ 單片機課件
單片機是一種集成電路芯片,采用超大規模集成電路技術把CPU、ROM、RAM等功能集成到一塊硅片上構成一塊小而完善的微型計算機系統,在工業控制領域廣泛應用。廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。
單片機屬于數字電路,其概念、術語、硬件結構和原理都源自數字電路,如果數字電路基礎扎實,對復雜的單片機硬件結構和原理就能容易理解,所以在學習單片機的時候我們也同時去重溫了數字電路,搞清楚觸發器、寄存器、門電路、COMS電路、時序邏輯和時序圖、進制轉換等理論知識。所以單片機的學習也能使我們對數字電路的學習有了更進一步的實踐方案。
通過對單片機學習開發板的安裝、焊接、調試、了解電子產品的裝配全過程,訓練動手能力,掌握元器件的識別,簡易測試,及整機調試工藝,從而有助于我們對理論知識的理解,幫助我們學習專業的相關知識。理論結合實際,提高分析解決問題能力的同時也培養同學之間的團隊合作、共同探討、共同前進的精神。
1、對各種元器件認識并熟悉其功能、適用范圍。
2、了解手工焊錫用具用法、保養及注意事項。
3、掌握手工電烙鐵的焊接技術,能夠獨立的完成簡單電子產品的安裝與焊接。
4、了解電子產品的焊接、調試 以及維修方法。
實習要求:
認真細致地將元器件安裝在電路板上并焊接,按照講解的方法認真進行焊接,避免出現虛焊、少焊、多焊。以在規定時間內完成單片機學習開發板的安裝、焊接、調試及使用。
在實習的過程中應該嚴格按照老師的要求去做,按照步驟一步一步的按照實習的流程來,做到按時到不早退,注意安全,從而圓滿完成這學期的實習。 1、 了解單片機學習開發板特點和發展趨勢。 2、 熟悉萬用表的使用。 3、 認識液晶顯示器件。 4、安裝制作單片機學習開發板。
(1) 電烙鐵:由于焊接的元件多,所以使用的是外熱式電烙鐵,功率為30 w,烙鐵頭是銅制。
(2) 吸錫工具,鑷子,鉗子等必備工具。
(3)錫絲:由于錫它的熔點低,焊接時,焊錫能迅速散步在金屬表面焊接牢固,焊點光亮美觀。 (4)電路板上的元件:
二極管,三極管,電阻(排阻),電容(瓷片電容、電解電容),排針,跳線帽,穩壓管,LED,液晶,單片機板,下載器板,大小通用板,支柱螺栓(螺母),各種插座,電源開關,2pin接插件,晶振,0.5A保險,按鍵,5V蜂鳴器,5V繼電器,杜邦線,排線,47歐姆電阻等等
焊接就是將各種元器件固定在電路板上,它不但能固定零件,而且能保證可靠的電流通路,焊接質量的好壞,將直接影響單片機的質量。
1、烙鐵是焊接的主要工具之一。新烙鐵使用前應用銼刀將烙鐵頭部倒角磨光,以防焊接時毛刺將印刷電路板焊盤損壞。然后用焊錫在烙鐵頭上沾附一層光亮的錫,這樣烙鐵就可以使用了 2、烙鐵溫度和焊接時間要適當
焊接時應讓烙鐵頭加熱到溫度高于焊錫溶點,并掌握正確的焊接時間。一般不超過5秒鐘。時間過長會使印刷電路板銅鉑蹺起,損壞電路板及電子元器件。
一般采用直徑1.0-1.2mm的焊錫絲。焊接時左手拿錫絲,右后拿烙鐵。在烙鐵接觸焊點的同時送上焊錫絲,焊錫的量要適量。太多易引起搭焊短路,太少元件又不牢固。
焊接時不可將烙鐵頭在焊點上來回移動或用力下壓,要想焊得快,應加大烙鐵和焊點的接觸面。增大傳熱面積焊接也快。特別注意的是溫度過低烙鐵與焊接點接觸時間太短,熱量供應不足,焊點錫面不光滑,結晶粗脆,象豆腐渣一樣,那就不牢固,形成虛焊和假焊。反之焊錫易流散,使焊點錫量不足,也容易不牢,還可能出現燙壞電子元件及印刷電路板??傊稿a量要適中,即將焊點零件腳全部浸沒,其輪廓又隱約可見。焊點焊好后,拿開烙鐵,焊錫還不會立即凝固,應稍停片刻等焊錫凝固,如未凝固前移動焊接件,焊錫會凝成砂狀,造成附著不牢固而引起假焊。焊接結束后,首先檢查一下有沒有漏焊,搭焊及虛焊等現象。虛焊是比較難以發現的毛病。造成虛焊的因素很多,檢查時可用尖頭鉗或鑷子將每個元件輕輕的拉一下,看看是否搖動,發現搖動應重新焊接。
每次焊接完一部分元件,均應檢查一遍焊接質量及是否有錯焊、漏焊,發現問題及時糾正。這樣可保證焊接單片機的一次成功而進入下道工序。
注意事項:
(1).外殼整合要到位,不然會因接觸不良而無法顯示數字。
(2).一些小的零件也要小心安裝,如圖中沒有經過焊接安裝上的,如不小心很容易掉。
(3) 注意電解電容、發光二極管、蜂鳴器的正負極性不能接反、三者均是長的管腳接正極、短的管腳接負極。
在焊接的過程中難免會出現錯誤,所以就要熟練掌握拆焊的方法。 拆焊的時候先右手拿用電烙鐵靠在焊點的位置,將焊點上的焊錫熔化掉,同時左手拿吸錫器放在焊點附近,等焊錫融化的時候,用吸錫器將焊點上的錫吸出去,留出管腳和插孔,如果一次不能將焊錫全部吸除可重復吸除知道插孔完全暴漏出來而方便再次焊接。
在拆焊的時候應該注意電烙鐵在電路板上的時間應盡量少,融化掉焊錫可,所以就要電烙鐵和吸錫器同時運用,否則時間過長會使吸錫的時候將板上鐵片一起吸掉,這樣就會給下一次的焊接造成不必要的麻煩。
由于每個芯片都有多個引腳,難免會出現虛焊、多焊、漏焊的現象,所以要一個個的測試,要保證每一種電壓每一個電源引腳都正確安裝和焊接。在此部分我發現有好幾個點都出現虛焊的情況,這樣導致了接觸不良的問題,還有好幾個點的焊點過大焊錫過多,這樣也容易出現問題,我把他們吸掉再焊了一遍,我認為這一部分是非常必要的。
在進行調試的時候,用萬用表測試每個元器件的管腳,尤其是電阻、電容和三極管,由于元器件較多,所以防止安裝時安裝上了錯誤的原件;電容要注意它的正負腳的方向,確保電源正極接電容的長管腳;三極管也要測試三個管腳的電壓,保證發射極正偏集電極反偏,使三極管正常工作在放大區內。
最后要檢查芯片放著合適的位置,方向不要放反,給電路板裝上支架,這樣所有的調試工作就完成了。
首先是單片機焊接后的接線,用杜邦線將各部分連接起來,組成一個完整的單片機系統,把跳線帽插在合適的位置,最后把所有的元器件放在對應位置。
然后焊接USB小板,將顯示燈、USB接口的器件裝在對應位置,再用線將單片機開發板和USB接口板連接起來。
再將程序寫入芯片內,將USB和電腦連接起來,寫入、編程是的單片機開發系統能正常工作。
最后是溫度顯示:在溫度顯示部分,由于在后部某位置處焊點的問題,導致溫度顯示有問題,八段譯碼器的顯示有一小部分不正常,數字80.0攝氏度的“零”出現小部分異常,這里應該是后方某處焊的不夠牢固的原因,由于焊點過多,檢查難度過大,所以導致了實驗的小問題發生,但是以后的學習中會逐步學到該方面的知識,等專業知識足夠時再將遺留問題一并解決。
單片機開發板的制作完成了,雖說在安裝和焊接的過程出現的問題比較多,不過因為同學們都在一起實習,所以有了錯誤也能及時的發現并改正,當然從中走了不少的彎路,但是我們終究還是完成了,當然這也要感謝老師的幫助。這次電路板焊接實習就是培養我們的動手能力,同金工實習的意義是一樣的,金工實習要求我們都日常的機械車床,勞動工具能夠熟練使用,能夠自己動手做出一個像樣的東西來。而電子技術實習就要我們對電子元器件識別,相應工具的操作,相關儀器的使用,電子設備制作、裝調的全過程。實習將對理論知識有了更深的理解,將書本上的知識變成電路板,變成電阻電容,最終變成單片機系統。同時也培養同學之間的團隊合作、共同探討的機會,大家互相幫助互相學習這樣也增進了同學們之間的感情。
在這幾天的實習過程中最挑戰我動手能力的一項訓練就是焊接。在實習中,我鍛煉了自己動手技巧,提高了自己解決問題的能力同時也鍛煉了自己的耐心。比如做電路板組裝與調試時,芯片觸角的間距特別小,稍不留神,就焊在一起了,剛開始的時候手還有點抖,還有因不小心而燙到手的情況。但是后來我讓自己心靜下來也就平和下來了。我第一天焊接的時候還算順利,但第二天出的問題就比較多,特別是發現自己粗心不止表現在零件安裝上,還表現自己不夠專注。臺上一分鐘臺下十年功,還是我的練習不夠,到了后幾天開始制作單片機的時候我便能熟練焊接的種植街枇恕T謖餛詡湮宜伎劑?,动手了,也努力了,将给我以后惦y吧畬春芏嗟木楹徒萄怠K運擔獯蔚氖笛槎暈依此凳嗆苡幸庖宓!
▲ 單片機課件
單片機實訓報告
一、前言
單片機是在微處理器的基礎上集成了內存、IO端口、計時器等功能模塊的芯片,廣泛應用于嵌入式系統領域。在本次實訓課程中,我與我的團隊成員共同完成了一項基于單片機的實訓項目,通過設計、編程、調試,深入了解了單片機的工作原理和應用。
二、項目概況
本次實訓項目的主題是設計一個基于單片機的溫濕度監測系統。該系統可以實時監測環境溫度和濕度,并將數據通過串口傳輸至PC端進行顯示和存儲。項目除了要求準確監測環境數據外,還要求系統具有實時性和穩定性。
三、項目設計
1.硬件設計
我們選用了STC89C52單片機作為處理器,DHT11溫濕度傳感器作為數據采集模塊,MAX232芯片實現串口通信,LCD1602液晶屏顯示數據。通過搭建硬件電路,將各個模塊連接在一起,實現數據的采集、處理和顯示。
2.軟件設計
通過C語言編程實現系統的功能。我們采用了Keil C51開發環境,編寫了相應的程序代碼。通過編程,我們實現了系統的初始化、數據采集、數據處理和數據顯示等功能,確保系統正常運行。
四、系統調試
在完成硬件和軟件設計后,我們開始進行系統調試。首先進行了硬件電路的測試,確保各個模塊正常工作;然后對程序進行調試,檢查代碼邏輯是否正確。通過不斷的調試和修改,最終實現了系統的穩定運行。
五、項目總結
通過本次實訓項目,我深刻理解了單片機的工作原理和應用場景,掌握了單片機編程的基本技能。通過與團隊成員的合作,我學會了團隊協作和溝通,提高了解決問題的能力。通過不斷的學習和實踐,我對單片機技術有了更深入的了解,為今后的學習和工作打下了堅實的基礎。
六、展望
在未來的學習和工作中,我將繼續深入學習單片機技術,不斷提升自己的編程能力和創新能力。我將積極參與實踐活動,鍛煉解決問題的能力,不斷完善自己,為實現自己的夢想而努力奮斗。
▲ 單片機課件
摘要:總結了目前使用比較廣泛的四種單片機復位電路,為微分型、積分型復位電路建立了數學模型,并比較了它們在使用中的可靠性,同時介紹了專用復位芯片。最后提出了設計復位電路應注意的問題及提高抗干擾性的措施。關鍵詞:復位死機可靠性
單片機目前已被廣泛地應用于家電、醫療、儀器儀表、工業自動化、航空航天等領域。市場上比較流行的單片機種類主要有Intel公司、Atmel公司和Philip公司的8051系列單片機,Motorola公司的M6800系列單片機,Intel公司的MCS96系列單片機以及Microchip公司的PIC系列單片機。無論用戶使用哪種類型的單片機,總要涉及到單片機復位電路的設計。而單片機復位電路設計的好壞,直接影響到整個系統工作的可靠性。許多用戶在設計完單片機系統,并在實驗室調試成功后,在現場卻出現了“死機”、“程序走飛”等現象,這主要是單片機的復位電路設計不可靠引起的。圖1是一個單片機與大功率LED八段顯示器共享一個電源,并采用微分復位電路的實例。在這種情況下,系統有時會出現一些不可預料的現象,如無規律可循的“死機”、“程序走飛”等。而用仿真器調試時卻無此現象發生或極少發生此現象。又如圖2所示,在此圖中單片機復位采用另外一種復位電路。在此電路的應用中,用戶有時會發現在關閉電源后的短時間內再次開啟電源,單片機可能會工作不正常。這些現象,都可認為是由于單片機復位電路的設計不當引起的。
目前為止,單片機復位電路主要有四種類型:(1)微分型復位電路;(2)積分型復位電路;(3)比較器型復位電路;(4)看門狗型復位電路。另外,Maxim等公司也推出了專用于復位的專用芯片[1]。
1復位電路的數學模型及可靠性分析
1.1微分型復位電路
微分型復位電路的等效電路如圖3所示。以高電平復位為例。建立如下方程:
電源上電時,可以認為Us為階躍信號,即。其中U0是由于下拉電阻R在CPU復位端引起的電壓值,一般為0.3V以下。但在實際應用中,Us不可能為理想的階躍信號。其主要原因有兩點:(1)穩壓電源的輸出開關特性;(2)設計人員在設計電路時,為保證電源電壓穩定性,往往在電源的輸入端并聯一個大電容,從而導致了Us不可能為階躍信號特征。由于第一種情況與第二種情況在本質上是一樣的,即對Us的上升斜率產生影響,從而影響了的URST的復位特性。為此假Us的上升斜率為k,從0V~Us需要T時間,即:
當T<<τ時,Us上電時可等效為階躍信號。與前相同,當T>>τ時,令A=T/τ,則:
即此時的復位可靠性較前面的好。
另一種情況就是設計人員將一些開關性質的功率器件,如大功率LED發不管與單片機系
統共享一個穩壓電源,而單片機系統的復位端采用微分復位電路,由此也將造成復位的不正?,F象。具體分析如圖4所示。
將器件等效為電阻RL,其中
▲ 單片機課件
這周我們進行了單片機實訓,一周中我們通過七個項目1:p1口輸入/輸出2:繼電器控制3音頻控制4:子程序設計5:字符碰頭程序設計6:外部中斷7:急救車與交通信號燈,練習編寫了子程序、熟悉了人工會匯編方法、設計和調試方法。學習了p1口、i/o端口、外部中斷技術的基本的使用方法及輸入/輸出端口控制方法。而且初步掌握了大型程序的調試方法。
實訓中首先對mcs-51單片機開發試驗系統鍵盤監控操作、使用及配套的仿真軟件的應用進行了熟悉和了解。該實驗儀提供了許多基本實驗電路和實驗插孔,對于基本的實驗只需要少量連線就可以進行,減少了繁瑣的實驗連線過程,以減輕工作量,突出實驗的內涵,達到培養實際動手能力,加強對實驗電路的理解。通過本實驗儀器進一步了解了單片機存儲器的組織結構、單片機片內片外數據存儲器讀寫方法、工作寄存器的應用、單片機對簡單編程及調試方法進一步的掌握了調試軟件的操作方法和編程環境。
編寫并調試完成一個實驗項目總概括起來有五大步驟:1、立項目2、查找數據3、畫流程圖、4根據流程圖進行編程5、編完后進行修改、調試、編譯等。最終要達到會寫、會做、會說,編寫開始幾個項目的程序還比較順利,到了編寫led燈碰頭程序、字符碰頭程序、急救車與交通燈呈程序時遇到了好多困難,本來還以為編程會很簡單的,等到實際操作起來才
知道它的復雜性,沒有想像中的那么得心應手,理解流程是有思維的'前提.不過經過我們最后在全組人竭盡全力,老師的精心指導下,花費的時間與精力終于沒有白費,效果漸漸地出現了.這是我們共同努力的結果,在享受我們成果之時,不得不感慨單片機的重要性與高難度性,所以為期一周的單片機課程設計沒有浪費,我們從中學到了很多知識.,也讓我們對單片機有了更深一步的了解.雖然最后結果是出來了,可這與老師的精心指導是分不開的。
這次實訓雖然其中會有些錯誤和失敗,但總的來說是受益匪淺,在運用中發現問題,解決問題,就是最大的收獲。專心做自己的事,是一種樂趣;互相交流,是大家一起進步的必要過程;上網查閱資料,是獲得所需信息的有效途徑。我想,這些練習和經驗都將是我以后最寶貴的財富!
單片機課程設計心得體會
這是我第一次做單片機實驗,說起來有一些緊張和新奇。在此之前我并沒有接觸過單片機,我本以為與之前的光學實驗及其它實驗差不多,可我進到實驗室之后,我就改變了這個看法。
單片機實驗要求的是一種思維的創新,而不是簡單的重復老師所說的實驗步驟。因此第一次實驗,實驗老師向我們講解了cvavr編譯器的大體情況及使用方法和技巧,并簡單的向我們示例——如何在cvavr中編寫一段程序。編完程序之后,知道我們如何使用avrstudio達到將編好的程序輸入到單片機中來使其運行。
之后老師讓我們以組為單位合作編寫一段程序,并使其運行。我們組想要編寫一個跑馬燈的程序。在第一次運行cvavr時,我們組就遇到了一個麻煩,我們在建立一個新project文件那里出現了錯誤。在保存這個新project文件的時候,我們單擊了save,而不是generate,saveandexit.因此它彈不出我們我們所需要的源程序。之后我們通過詢問其他人解決了這個問題。在編程中,我們開始做的是兩盞燈的交替閃爍,間隔時間是1000ms。在運用avrstudio的時候,我們又犯了一個錯誤。在我們打開編譯好的工程文件時,開始調試,在最后一步點擊finish時,彈出一對話框,問我們是否更新,然后我們單擊了yes。這導致了仿真器無法下次使用。這是由于實驗室中的仿真器是盜版的,無法進行更新。
經過我們的不斷努力,我們終于實現了簡單的跑馬燈的運行,便是兩個燈地交替閃爍。我們感到興奮極了。但是我們并沒有滿足于當前,我們又編寫了三個燈地交替閃爍,四個及多個。當我們一步步實現我們的目的時,我得到莫大成就感和自信。
在這次實驗中,我體會到了合作的重要性。一個人也可能實現這一系列的過程,但是要花費很多精力和時間。群策群力,分工明確,可以使我們更好、更快地完成我們的工作。在此期間,你可以更好知道自己的不足和缺陷,來得到改正。還可以知道自己的優勢所在,把握好自己的優勢。
▲ 單片機課件
這學期我們選擇了單片機這門課,從第一節課開始,我們就感覺到了這門課與其他的課有一些不同。單片機課程不僅是學習書本的內容,也需要從實驗中掌握知識。這門課程確實讓我們受到了很多的啟發,并學到了很多的知識。
學習單片機,要掌握單片機指令系統中匯編語言各種基本語句的意義及匯編語言程序設計的基本知識和方法,以及單片機與其他設備相連接的輸入輸出中斷等接口技術。使我們從硬件軟件的結合上理論聯系實際,提高動手能力,從而全面掌握單片機的應用。
熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經懂單片機的人而寫的,一般先介紹單片機的硬件結構和指令系統,再是系統擴展和外圍器件,順便講一些應用設計。如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,不可能一蹴而就。萬事開頭難、要勇敢邁出第一步知識點用到才學,不用的暫時丟一邊。想把厚厚的一本書看完在做實驗,估計是不太可能的。看著人頭都暈了,學了后面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看。我們在焊接具體電路之前,最好做個仿真,這樣實驗的成功率會大大提高。我們都學習過C語言,相信的大家的基礎都不錯,在編寫程序千萬不要光看不寫,一定要自己寫一次。剛開始我們可以模仿別人的程序,然后慢慢的學會自己編寫,這是一個完全自主學習的過程,需要恒心和信心。
在學習這門課程時,我遇到過許多困難,這并不可怕,因為只要我們敢于面對,團結合作,就沒有解決不了的問題。在焊接電路過程中,我們需要互相學習焊接技巧,互相幫助、互相鼓勵。在編寫程序的時候,要善于把自己好的算法給大家分享,不會的時候要虛心向同學和老師請教。當然更要利用當今社會為我們提供的網絡資源,學會在網絡上搜索資料,自主學習。切忌拿別人做好的實驗和編寫好的程序去蒙混過關,這樣對自己百害無一利。
在學習單片機的時候,讓我學會了思考生活中的點點滴滴。比如說,當我看到交通燈的時候會想到它的程序是怎樣實現的?為什么它的led燈會有如此的高亮度?而我的led燈亮度很低,如果電流稍過大,就會燒毀。在家鄉的公家車上看到遠程led信息遠程發布測試的時候,我便會想到它應有通信模塊和顯示模塊兩部分組成,也許我想的過于簡單,但是讓我學會了思考。
總之,學習單片機這門課程,不僅學會了這門專業課的知識,還提高了我的自主學習能力,更讓我的世界觀、方法論有了深層的提高,謝謝老師對我的教誨,讓我受益匪淺。
▲ 單片機課件
該模塊的電路設計思想是基于FM1702各引腳的功能和特點,合理的設計芯片的外圍電路,其中的電容和電感所構成的天線是芯片與S50卡通信的工具。
單片機核心板是本次實習中最重要的部分,它是實現各種模塊功能的基礎部分。單片機核心板的核心是STC12C5A60S2單片機芯片,圍繞該芯片設計出相應電源供電電路,蜂鳴器驅動電路,按鍵電路,串行口通信電路,復位電路,液晶屏驅動電路以及各模塊的接口電路,由以上的電路部分就構成一個核心板電路系統。
電子鐘模塊配合單片機核心板,可在LCD1602液晶屏上顯示當前的日期(年月日)時間(時分秒),環境溫度值,和紅外遙控解碼值。用戶可通過遙控器或單片機核心板上的按鍵來進行日期和時間的設置。
通過遙控上的“EQ”鍵,可控制LED顯示界面在時間溫度紅外解碼之間的切換。如果想調整時間,需要首先使用遙控器的“EQ”鍵將LCD顯示調制時間界面;之后通過按“播放停止鍵”將時間停止;然后再按“左快捷鍵”向右切換;最后按“加減鍵”可以進行數值的加減操作,調整完成后,再次按“播放停止鍵”,時間開始運行。另外通過單片機核心板上的K1-K4鍵也可以完成時間的調整:其中K1鍵對應遙控器的“右快捷鍵”,即實現向右切換年月日時分;K3鍵對應遙控器的“加鍵”,即實現年月日時分的加1;K4鍵對應遙控器的“減鍵”,即實現年月日時分的減1。
是一單芯片MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個高性能低功耗的DSP處理器核VS-DSP。5K的指令RAM,0.5K的數據RAM,串行的控制和數據輸入接口,4個通用IO口,1個UART口;同時片內帶有一個可變采樣率的DAC,一個立體聲DAC以及音頻耳機放大器;VS1003通過一個串行接口來接收輸入的比特流,它可以作為一個系統的從機。
與單片機連接的引腳主要有7個,分別為:SOSISCLKXDCSXRESETDREQMOSI,只有保證它們與單片機正確可靠的連接,才能對VS1003進行有效的操作與控制。另外,VS1003各部分的供電電壓與輸出電壓值是不同的。
芯片各部分供電電壓如下表:
卡是一種大容量,性價比高,體積小,訪問接口簡單的存儲卡。SDIMMC卡大量 應用于數碼相機MP3手機大容量存儲設備。作為這些便攜式設備的存儲載體,它具有低功耗,非易失性,保存數據無需消耗能量的特點。
卡只使用了1-7觸點。對于1號引腳(CD/DAT3)擴展的DAT線(DAT1-DAT3)在上電后處于輸入狀態,它們在執行SET-BUS-WIDTH命令后作為DAT線操作,當不用DAT1-DAT3線時,主機應使自己的DAT1-DAT3線處于輸入模式,這樣定義是為與MMC卡保持兼容。上電后,CD/DAT3作為帶50K上拉電阻的輸入線(可用于檢測卡是否存在或選擇SPI模式)。用戶可以在正常的數據傳輸中用SET-CLR-CARD-DETECT(ACMDA口)命令斷開上拉電阻的連接。MMC卡的該引腳在SD模式下為保留引腳,在SD模式下無任何作用。對于2號引腳CMD,MMC卡在SD模式下為IO/PP/OO,MMC卡在SPI模式下為I/PP。
關于電壓匹配問題,SD卡的邏輯電平相當于3.3V TTL電平標準,而單片機的邏輯電平為5V。因此,它們之間不能直接相連,否則會有燒毀SD卡的可能。解決邏輯器件接口的電平兼容問題,原則主要有兩條:一為輸出電平器件輸出高電平的最小電壓值,應大于接受電壓器件識別為高電平的最低電壓值;二為輸出電平器件輸出低電平的最大電壓值,應小于接受器件識別為低電平的最高電壓值??紤]到SD卡在SPI協議的工作模式下,通訊都是單向的,于是在單片機向SD卡傳輸數據時采用晶體管加上拉電阻法的方案。在SD卡向單片機傳輸數據時,可以直接連接。因為它們之間的電平剛好滿足上述的電平兼容原則,既經濟又實用。該方案可以雙電源供電(一個5V電源,一個3.3V電源供電),3.3V電源可用ASL1117穩壓管從5V電源穩壓獲取。
基于FM1702SL的非接觸式IC卡讀寫器,只要稍加改動就能開發成不同的射頻識別應用系統,如考勤系統,門禁系統,公交車收費系統等。S50非接觸式卡符合MIFARE的國際標準,容量8K位,數據保存期10年,又可改寫10萬次,讀無限次。S50卡不帶電源,自帶天線,內含加密控制邏輯電路和通用邏輯電路,卡與讀卡器之間的通訊采用國際通用DES和RES保密交叉算法,具有較高的保密性能。
單片機與FMITDISL通用SPI總線通信,采用中斷工作模式,在FMITDISL復位后,必須進行一次初始化程序以便初始化SPI接口模式,而且可以同步實現單片機和FMITDISL的啟動工作。信息存儲在MIFARSE卡里,讀寫器與卡通過各自的天線建立起二者之間非接觸信息傳輸通道。當卡進入系統的工作區時,讀寫器向卡發射一組固定頻率的電磁波,卡內有一個LC串聯諧振電路,其頻率與讀寫器發射的頻率相同,在電磁波的激勵下,LC諧振電路產生共振,從而使電容內有了電荷,在這個電容的另一端接有一個單向導通的電子粟,將帶內容內的電荷送到另一個電容內存儲,當所有積累的電荷達到2V時,此電容可做到電源為其它電路提供工作電壓,將卡內數據發射出去或讀取讀寫器的數據。
根據互感原理可知,讀寫器天線半徑越大,匝數越多,讀寫器上的天線和卡上的天線的互感系數就越大。根據國際標準的要求,卡和讀寫器的通信距離為10cm,通過調整天線驅動電壓可以改變通信的最長距離。天線的傳輸帶寬和品質因數成反比關系。過高的品質因數會導致帶寬減小,從而減弱讀寫器的調制邊帶,會導致讀寫器無法與卡通信。
是一無線通信芯片,采用FSK調制,可以實現點對點或是1對6的無線通信。無線通信速度最高可達2Mbps,只需為單片機系統預留5個GPIO,1個中斷輸入引腳,就可很容易地實現天線通信的功能,非常適合用MCU系統構建無線通信功能。
具有收發模式,待機模式和掉電模式,四種工作模式,并由CE寄存器內部PWRVP和PRIMRX共同控制。nRF24L01所有的配置都由配置寄存器來定義,這些配置寄存器可通過SPI口訪問。SPI接口由SCKMOSIMISO及CSN組成,在配置模式下單片機通過SPI接口配置nRF24L01的工作參數,在發射或接收模式下單片機SPI接口發送和接收數據。
單片機的控制指令從nRF24L01的MOSI引腳輸入,而nRF24L01的狀態信息和數據是從其MISO引腳輸出并送給單片機的。利用SPI傳輸數據時,是先傳輸低位字節,再傳輸高位字節,并且在傳輸每個字節時是從高位傳起。
通過使用STC-ISP軟件,STC12C5A60S2單片機可實現串口在線編程。由于現在大的數據計算機都不存在提供單獨的串口,所以需要USB轉RS232串口線。
七實習過程心得:
新學期伊始,就迎來了為期四周的單片機生產實習。在這次生產實習過程中,我受益頗多。這是我們經歷的第一次廣泛了解實際電子產品生產的全過程。從最初的設計,到焊接,安裝,調試,我們都是逐一親自動手操作完成的。在這次實習中,我們遇到了不少問題,但正是因為有了這些問題,才有了我們更加深入學習的機會。為了解決這些問題,我們查資料,探討,請教老師,充分利用自己身邊的一切資源來學習。這樣的學習過程讓我們對所學內容理解的更深刻,而且大大提高了我們的團結協作能力。在實際操作焊接的過程中,我們從笨拙到熟練,動手能力不斷提高,有了很大的進步。這為我們以后步入工作崗位做了良好的鋪墊。
總之,通過這次生產實習,我受益匪淺,各方面的能力都有了提高。最后,感謝在實踐過程中悉心指導的每一位老師!
▲ 單片機課件
摘要:隨著電子科技的飛速發展,尤其是超大規模集成電路的出現,給我國的經濟帶來了實質性的改變。其中,對于單片機的使用已經在很多領域都有出現,比如說在工業自動化控制房間、在智能儀器儀表方面以及各種家用電器方面,單片機都起到了很大的作用。由于其極高的性能價格比,使其在電子時鐘方面的應用也是很常見的。本文通過對普通單片機電子時鐘的設計分析,從而達到對單片機進行更深入的學習與設計。
關鍵詞:單片機;電子時鐘;設計分析
時鐘就是一個最典型的例子,由于人們的生活速度越來越快,人們的時間觀念也在不斷增強,生活中處處離不開時鐘,時鐘對人們可以說是不可或缺的東西?,F如今,時鐘的樣式很功能也越來越多,人們對時鐘的精準度要求也越來越高。本文就是針對時鐘的精準度來設計一個普通單片機電子時鐘。
一、單片機的簡單介紹
(一)單片機的定義與分類
單片機是一種集成電路芯片,采用超大規模集成電路技術把具有數據處理能力的中央處理器、隨即存儲器、只讀存儲器等集成到一塊硅片上構成的一個小而完善的微型計算機系統。主要分類包括:STC系列單片機、AVR單片機、AT系列單片機等等 。
(二)單片機的應用與發展
目前,隨著電子自動化的廣泛應用,單片機以其自身的諸多優勢已經應用到了各個領域之中,這些領域主要包括智能儀器儀表、計算機網絡、機器人控制、工業控制、家電管理等等。由于單片機的優勢很有多,在未來的生活中一定會被更多的領域所應用,有很好的發展趨勢。
二、單片機電子時鐘的設計方案
單片機電子時鐘的構成主要由:一個8位CPU;一個片內振蕩器及時鐘電路;4K字節ROM程序存儲器;256字節RAM數據存儲器;兩個16位定時器/計數器;可尋址64K外部數據存儲器和64K外部程序存儲器空間的控制電路;32條可編程的I/O線(四個8位并行I/O端口)和一個可編程全雙工串行口組成。
單片機電子時鐘的設計主要是對時鐘的內部工作和外部顯示進行設計,主要的設計方案則分為數字時鐘方案和數碼管顯示方案。通過數字時鐘和數碼管顯示的完美結合使電子時鐘的質量得到完善和保證。
(一)數字時鐘方案
這部分是單片機電子時鐘最主要的設計,也是時鐘內部工作部分。在單片機的內部存儲器中設置三個分別代表時、分、秒信息的字節。在對內部的存儲器進行設置的時候,要根據時鐘的運作規律設定,時鐘的工作是由內部的定時器和軟件結合來實現的。對此設定1秒中斷,以此來推動秒針的運動,而當秒針中斷的次數達到60次的時候,則將其清零,同時分針的字節開始運行,以此類推,當分鐘的中斷次數達到60次的時候,時鐘的字節開始運行。當時鐘的字節達到24的時候,便將時鐘的字節清零,以上的操作反復進行,這就是單片機電子時鐘關于數字時鐘的設計方案。這部分的設計起來比較繁瑣,每個步驟都要做到很好的處理,設置時、分、秒的順序也不能打亂。
(二)數碼管顯示方案
數碼管顯示方案主要是對時鐘的外部顯示進行設計,主要分為靜態顯示和動態顯示兩個部分,在電子時鐘外部顯示中占主導地位的就是動態顯示。所謂動態顯示就是根據內部設計中的秒針的運行情況,在出現的顯示器數字的輪流點亮,每隔一段時間都要點亮一次,這部分要求顯示器的掃描必須要有足夠快的速度,只有這樣,顯示出來的字符才不會出現閃爍的效果。同時,秒鐘和顯示器的運作應該是保持一致的,否則在電子時鐘運行的時候,就很容易出現時間上的誤差,這種動態顯示節省了I/O口,也會降低耗能。
(三)電子時鐘的硬件選擇
1、單片機的選擇,在單片機電子時鐘的設計中,通常都會選用AT89c52單片機,配備12MHz晶振,采用上電復位來對電路進行系統復位。
2、顯示電路選擇,在顯示電路的選擇上,采用軟件譯碼動態顯示。
3、電源選擇,采用直流電源供電,電源基本選擇在4.5V左右。
4、選擇器的選擇,通常采用741s04.
三、系統軟件設計
對系統軟件的設計主要包括軟件的設計思想、總體設計以及按鍵掃描子程序。
(一)軟件設計思想
根據人們對電子時鐘功能的需求,需要設計出來的電子時鐘程序必須具備動態掃描、時鐘信號產生以及按鍵掃描處理等功能。利用單片機來實現電子時鐘的這些功能,主要利用的方法就是分時復用,要協調好各個器件的占用時間,這樣才能實現單片機電子時鐘以上的功能,使電子時鐘對人們的需求造成滿足。
(二)總體設計
1、系統說明及設計框圖
利用普通單片機制作的簡易時鐘,其主要的工作原理就是運用6個PNP管來分別控制6個LED數碼管來完成時鐘的運行工作。這里出現的6個數碼管主要負責顯示小時、分鐘以及秒針的十位位置和個位位置,還會設定一個按鍵用于對時間的調整。
2、模塊設計
普通單片機電子時鐘的設計主要包括電源部分、復位電路、顯示部分、控制部分、位選部分等幾個模塊。對于電源部分的技術,要從外部引入直流電,電流應該選擇4.5V,這樣就可謂電子時鐘提供電源,使其能夠正常運行。
位選電路、復位電路二極管、電解電容部位,在其運行的時候,相應的引腳也會出現不同。在開關按下時引腳RST為高電平1,斷開時引腳為低電平0。
(三)按鍵掃描子程序
普通單片機電子時鐘的運行,最好選用按鍵來切換各種不同的狀態,這樣不僅簡單,容易操作,而且在電子時鐘出現狀況而需要查詢按鍵信息的時候,電子時鐘所具有的按鍵掃描功能就可以提供以往的按鍵情況,這種按鍵程序中還嵌套了按鍵掃描程序用來處理在不同情況下的電子時鐘狀態切換。
四、對整體系統進行調試
在單片機電子時鐘設計完成之后,要對電子時鐘所應用的系統進行簡單的測試,仔細分析在測試的過程中所出現的問題,進行問題的統計與分析,從而找到合理、科學的解決方法。使單片機電子時鐘更加完善。
(一)系統調試方法
對于單片機電子時鐘各個系統的調試,首先要對每個單獨的程序進行調試,將出現的問題歸納整理,找到合理的解決方法后,針對出現問題的程序進行系統的調試。確保每個程序都沒有問題之后,再進行整體的調試工作。只有這樣,才調試的過程中才會使調試工作有理有序的進行。
(二)系統時鐘誤差分析
時間準確,長時間不容易出現誤差是一個時鐘被認可的標準之一。對于系統誤差,設計者應該及時進行誤差的分析和調試工作。
在單片機電子時鐘系統中,能夠出現誤差的地方有很多,比如說晶體頻率的誤差,定時器溢出誤差以及延遲誤差等等,設計者要結合不同的誤差進行不同的分析,找出其內在的原因,從而擬定出解決的方案,使電子時鐘的精準度提高。
(三)軟件調試問題及解決
在軟件調試的過程中,應該將調試的重點分別放在各個模塊上,對這些模塊的調試可以采取在線調試和離線調試兩種方法,在調試過程中出現的問題要及時分析及時解決。
結語:
隨著我國電子技術的迅速發展,單片機的應用也會越來越廣泛,對于電子時鐘系統的設計一定也會日趨完善,功能也會越來越全面,性能會更加穩定,可以預見,在未來的幾年里,單片機的應用也會越來越廣泛。更好的造福人們。
參考文獻:
[1]何立民.MCS251單片機應用系統設計技術[M].北京:北京航天航空大學.1999
[2]程光璇.普通單片機電子時鐘的設計[J].電子世界.2011(8)
[3]華貴山.基于單片機微機測控系統中的數字濾波技術研究[J].安徽電子信息職業技術學院學報.2006(5)
▲ 單片機課件
兩周的單片機課程設計實訓,真是讓我們受益匪淺,學到了很多東西,不管怎么樣,先感謝學校給我的這么多機會。真正的學到了東西。
此次課程設計軟件與硬件相結合,考察了我們的焊接水平與編程能力。因為以前做過關于焊接的電工實習,所以對于我們機械設計專業的學生而言焊接是不成問題,也很順利;可到了編程時就出現了很大的障礙,先開始的顯示時鐘還算順利,本來還以為編程會很簡單的,等到實際操作起來才知道它的復雜性,沒有想像中的那么得心應手,理解流程是有思維的前提。其實本身程序的思維是正確的,只是步驟中有點小錯誤,所以導致整個程序的結果很亂,在仔細修改程序之后,終于一步步地達到效果了。
系統以AT89S51為核心部件,利用軟件編程,通過鍵盤控制和液晶顯示實現了秒表的功能,能實現本設計題目的基本要求和發揮部分。盡量做到硬件電路簡單穩定,充分發揮軟件編程的優點,減小因元器件精度不夠引起的誤差。
我們將各個部分的程序編好后怎么都連不起來,出不了預期的效果。對于硬件在編程過程中pCB板的接觸又是一個頭疼的問題,在進行編譯的時候,數碼顯示管上什么都沒有,按一下旁邊與之相連的元器件時就有顯示了,所以也花費了好多時間在pCB板的重新焊接上,最后在全組人竭盡全力,老師的精心指導下,程序基本編寫成功,這是我們共同努力的結果,在享受我們成果之時,不得不感慨單片機的重要性與高難度性,所以為期兩周的單片機課程設計沒有浪費,我們從中學到了很多知識,也讓我們對單片機有了更深一步的了解。雖然最后結果是出來了,可這與老師的精心指導是分不開的,他引導我們的思路,本來一竅不通的我們經過老師的點撥基本上通了,所以說老師是功不可抹的。
▲ 單片機課件
科信學院
課程設計說明書
(2010/2011學年第二學期)
課程名稱:mcu課程設計
基于單片機的活動門設計
專業班級
學生姓名
學號指導教師吳開興
設計周數2周
設計成績
年月日 目錄
1課程設計的主要任務和技術要求3
1.1主要任務 3
1.2技術要求 3
2.系統分析與設計 3
2.1系統分析 3
2.2活動門總體設計方案4
3. 單片機簡介 5
3.1 80c51單片機功能及引腳介紹6
4.主要硬件電路 6
4.1電機驅動電路 6
4.2門限電路 8
4.3按鍵去抖電路 8
4.3.1作用 8
4.3.2技術方案 8
5單片機與pc機的串行通信
6. 程序設計 9
6.1 單片機程序設計 9
6.1.1程序流程圖10
6.1.2源程序的** 13
6.2上位機程序設計15
6.2.1控制界口16
6.2.2程序**:16
7. 總結 20
8. 參考文獻 20
附錄一電路圖 21
附錄二 pcb版圖 22
附錄三實物圖 23
(1) 系統分析與設計:對系統進行研究,對系統進行詳細分析,設計了基于單片機的移動門控制系統的技術方案;
(2) 設計并實現了系統的相關技術:電機驅動、閾值電路、軟件控制;
(3) 系統電路的設計與實現:器件選擇、地址分配和硬件連接;
(4) 系統軟件的設計與實現:單片機的實現**和計算機控制的實現**;
(5) 系統調試:調試串口、調試按鈕、調試驅動程序;
⑹系統聯調。
⑴實現活動門的開關動作:在單片機的作用下,通過活動門上安裝的控制按鈕,控制外部電機實現活動門的開關動作(即用單片機控制電機的正反轉);
⑵實現上位機軟件控制活動門:利用計算機的軟件實現對活動門的開關動作(即單片機與上位機的通信,完成對活動門的正確控制);
(3) 采用單電源,控制電機采用直流電機,活動門必須安裝限位開關,實現門的自動控制。
要想實現活動門的開關動作,從理論上分析,最簡單的方法就是用開關控制電機的通斷,帶動開關門機構作相應的動作。也就是說,只要安裝一個電機就可以了。
基本結構如下:
圖2.1 活動門結構圖
然而,圖2.1所示的控制方案只能實現最簡單的切換操作。但是,實際工作情況要復雜得多,這種工作方式還存在以下問題。
⑴如何控制電機的正反轉
由于電機的動作十分簡單,只能是正轉或者是反轉。在圖2.1所示的方案中,需要使用接觸開關來實現每個活動門的開關動作。
判斷當前主動門的開關狀態是必要的。這需要在活動門的操作機構上增加一個邏輯控制模塊。
⑵是否能用單一電源方案
在圖2.1所示的方案中,為了控制電動機的正反轉,采用正、負供電方式。一般來說,這樣的面板機構,最好采用單電源供電的方式。
采用單電源控制電機正反轉設計電機驅動電路的設計。
(3) 可不可以用軟件控制活動門的開關
活動門操作結構中的電機通常是小型直流電機。這個按鈕可以改變電機的正反轉。但是,對于某些特殊的要求或者是在某些程序中需要涉及到利用軟件實現活動門的開關動作,這對于如圖2.1所示的電路方案而言,是無法做到的,所以還需要對電路作進一步的改進,并在pc機軟件中加入活動門的開關控制功能。
機柜活動門控制原理框圖如圖2.2所示
圖2.2 活動門控制原理框圖
各部分功能:
pc機:使用c#.***提供用戶微機程序界面,并將用戶對發光二極管的操作轉化為控制指令發送到下位機上。
單片機:監測和接收外部狀態信號,控制發光二極管的亮和滅,并發送控制指令給驅動電路,控制小電機正轉或反轉。
驅動電路:驅動電機動作,實現二極管的通斷。
接近傳感器:將當前二極管狀態信息反饋給mcu。
接觸開關:反映led的狀態變化,并通知mcu led狀態。
pc機與單片機的通訊:串行通訊。
單片機是一種集成電路芯片。它采用超大規模技術將具有數據處理能力的微處理器(cpu)、存儲器(含程序存儲器rom和數據存儲器ram)、輸入、輸出接口電路(i/o接口)集成在同一塊芯片上,構成一個即小巧又很完善的計算機硬件系統,在單片機程序的控制下能準確、迅速、高效地完成程序設計者事先規定的任務。因此,單片機芯片具有計算機的所有功能。從某種意義上講,單片機就是微型計算機。
由此來看,單片機有著一般微處理器(cpu)芯片所不具備的功能,它可單獨地完成現代工業控制所要求的智能化控制功能,這是單片機最大的特征。然而單片機又不同于單板機(一種將微處理器芯片、存儲器芯片、輸入輸出接口芯片安裝在同一塊印制電路板上的微型計算機),單片機芯片在沒有開發前,它只是具備功能極強的超大規模集成電路,如果對它進行應用開發,它便是一個小型的微型計算機控制系統,但它與單板機或個人電腦(pc機)有著本質的區別,與微型計算機相比單片機具有一下特點:
⑴體積小、結構簡單、可靠性高
單片機把各功能不僅集成在一塊芯片上,內部采用總線結構,減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,體積小,對強磁場環境容易采取屏蔽措施,適合在惡劣環境下工作。
⑵控制功能強
單片機雖然結構簡單,但是它“五臟俱全”,已經具備了足夠的控制功能。單片機具有較多的i/o口,cpu可以直接對i/o進行i/o操作、算術操作、邏輯操作和位操作,指令簡單而豐富。所以單片機也是“面向控制”的計算機。
⑶低電壓、低功耗
單片機可在2.2v電壓下工作,部分可在1.2v或0.9v電壓下工作;將功能降低到ua級別時,紐扣電池可以長時間工作。
⑷優異的性能、**比
由于單片機構成的控制系統硬件結構簡單、開發期短、控制功能強、可靠性能高,因此,在達到同樣功能的條件下,用單片機來發的控制系統比其他類型的微型計算機開發的控制系統**更便宜。
本設計采用的單片機型號為80c51,80c51系列單片機是從mcs-51系列中派生出來的。各廠家生產的以8051為基本核心的各類80c51兼容單片機統稱為80c51系列。8051是mcs-51系列中最基礎的單片機型號,其**狀態有8051(maskrom)、8751(eprom)、8031(romless)。
51系列單片機的主要特點如下
⑴一個8位微處理器cpu;
⑵片內振蕩器,振蕩頻率范圍為1.2~12mhz;
⑶4kb/8kb的片內rom(8031、8032、80c31無);
⑷128/節的片內ram;
(5) 片外rom的尋址范圍為64kb;
(6) 片外ram的尋址范圍為64kb;
⑺21個特殊功能寄存器(sfr);
⑻四個8位并行i/o接口(p0~p3),32根i/o口線1個全雙工uart串行口,可多級通信;
(10) 2/3 16位定時/計數器;
(11) 它有5/6個中斷源,可編程成兩個優先級;
(12) 具有適合布爾處理的位尋址功能的位處理器;
⒀111條指令;
⒁片內采用單總線結構;
⒂用單一+5v電源。
由于采用分立元件構成的直流電機的驅動電路原理上較為簡單,但要考慮到器件的應用條件等一些因素,本次設計采用了專用的小功率直流電機驅動芯片。
設計中采用的是東芝公司的ta7267bp,改芯片在相應的邏輯電平的控制下,能夠實現電機的正轉,反轉,停止,和剎車4種動作。其邏輯電平工作電壓為6v~18v,驅動電機工作電壓為0v~18v,是一個單電源芯片。其封裝如圖4.
1,各管腳功能定義見表4.1。
圖4.1 ta7267bp封裝圖
表4.1 ta7267bp引腳功能定義
根據ta7267bp引腳功能定義,只要將單片機的控制信號接到ta7267bp的1、2兩個引腳上,并把其驅動輸出連接到被控制電機的輸入端,就可以實現電機的正反轉控制了。ta7267bp的輸入控制信號、驅動輸出和電機狀態變化如表4.2所示。
▲ 單片機課件
單片機生產實習報告模板
一、生產實習的目的和意義:
生產實習是培養本科學生理論聯系實際,提高實際動手操作能力的重要教學環節。本專業的生產實習旨在使學生廣泛了解實際電子產品生產的全過程,熟悉電子產品的主要技術管理模式,并在實習的操作過程中學習、掌握電子產品的焊接、安裝、調試的實際操作技能。鞏固和加深理解所學的理論,開闊眼界,提高能力,為培養高素質大學本科人才打下必要的基矗通過學習,是理論與實際相結合,可以使學生加深對所學知識的理解,并為后續專業課的學習提供必要的感性知識,同時使學生直接了解本業的生產過程和生產內容,為將來走上工作崗位提供必要的實際生產知識。
二、實習的基本內容:
1、集中授課,進行相關知識的學習。
掌握電子產品的獨立性設計與安裝、調試的能力;進一步掌握電子測量儀器的正確使用方法,電元器件的測量與篩選技術。
3、初步了解電子整機產品的工藝過程。
4、為能使學生得到充分的鍛煉,較大的提高學生的實際動手能力,本次生產實習安排每一位學生獨立完成全部系統的設計與安裝工作。
5、本實習環節,學生要獨立使用電焊鐵及各種電子測試設備電路安裝與調試,要學生嚴格遵守電器設備的使用安全,遵守實驗室的各項規章制度。
三、基本要求:
1、在教師的指導下練習在測試電路德核心板上焊接元件,掌握焊接要領。
2、熟悉元器件的性能及管腳分配。
3、在給定的pcb板上焊接跳線,ic插座,電阻,電容,led器件等。
4、檢查焊接是否正確。
5、插上元器件,運行系統,并觀測系統工作是否正常。
四、總體設計電路思想和原理:
本次生產實習用到的開發板和模塊共7塊,分別為:單片機核心板,電子鐘模塊,mp3模塊,rfid模塊,無線傳輸模塊,脈搏傳感模塊,gps模塊。
各模塊相互組合,其所能實現的基本功能如下:
定鬧等。
2、單片機核心板+無線傳輸模塊:實現數據的近距離無線傳輸。
:實現mp3播放功能。
4、單片機核心板+rfid模塊:實現地鐵檢票系統的模擬。
5、單片機核心板+脈搏傳感模塊:實現人體脈搏傳感的測量。
6、單片機核心板+gps模塊:實現gps衛星定位功能。
(一)核心板電路設計
單片機核心板電路主要包括stc的單片機,是高速、低功耗、超強干擾的新一代8051單片機。通過使用stc-isp軟件,該單片機可實現串口在線編程,無需編程器,無需仿真器。
核心板電路的設計思想主要是圍繞單片機芯片的工作原理和特點,為其實現合理的設計出外圍電路:包括電源電路,顯示電路部分,復位電路部分,串行口通信電路,按鍵電路等。
(二)電子鐘模塊電路設計
該模塊主要用到的芯片有:時鐘保持芯片ds1302,單總線數字溫度傳感器ds18b20,紅外遙控解碼器tl1838a。
該模塊電路設計的思想是了解這三種芯片的工作電壓,ds1302的工作時鐘頻率以及三種芯片與單片機之間的硬件連接。
(三)mp3模塊電路設計
該模塊用到的主要芯片有mp3音頻解碼芯片vs1003,3.3v電壓轉換芯片lm1117-3.3,2.5v電壓轉換芯片lm1117-2.5。
-
為了您方便瀏覽更多的單片機課件網內容,請訪問單片機課件
