久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機原理及應用課程設計

時間:2019-05-14 21:32:03下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《單片機原理及應用課程設計》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《單片機原理及應用課程設計》。

第一篇:單片機原理及應用課程設計

智能電子鐘(LCD顯示)

1、設計內容及要求...............................................................................................2 1.1、設計內容..............................................................................................2 1.2、設計要求..............................................................................................2 1.3、撰寫設計報告......................................................................................2

2、總體方案設計...................................................................................................2 2.1、方案圖................................................................................................2 2.2、面板布置圖.........................................................................................2 2.3、方案討論.............................................................................................3 2.4、明晰任務.............................................................................................4

3、電路原理圖......................................................................................................4

4、程序框圖.........................................................................................................5 4.1、顯示子程序流程圖............................................................................5 4.2、實時時鐘芯片 1302 讀/寫數據流程圖............................................6

5、編程序................................................................................................................6

6、調試....................................................................................................................6 6.1、軟件調試.............................................................................................6 6.2、仿真調試..............................................................................................7

7、自我感想............................................................................................................7

8、參考書目............................................................................................................8 附錄:C 語言編程源程序.......................................................................................8 1.設計內容及要求 1.1、設計內容:

以AT89C51 單片機為核心,制作一個 LCD 顯示的智能電子鐘。1.2、設計要求:

(1)計時:秒、分、時、天、周、月、年。(2)閏年自動判別。

(3)五路定時輸出,可任意關斷(最大可到16路)。(4)時間、月、日交替顯示。(5)自定任意時刻自動開/關屏

(6)計時精度:誤差≤1秒/月(具有微調設置)

(7)鍵盤采用動態掃描方式查詢。所有的查詢、設置功能均由功能鍵K1、K2完成 1.3、撰寫設計報告

單片機課程設計是以課題或項目設計方式開展的一門課程,具有較強的綜合性、實踐性,是工科、工程類院校或職業類院校電類專業在校生的必修課,是將單片機原理與應用課程的理論知識轉變為應用技術的重要教學環節。這一環節不但能加深對單片機原理的理解,而且還能培養學生的實踐動手能力,開發學生的分析、解決問題的能力。單片機課程設計環節的訓練能夠讓學生知道單片機工程項目的制作過程,使學生盡早了解單片機系統的開發過程。

2.總體方案設計 2.1、方案圖

2.2、面板布置圖

2.3、方案討論

方案一:采用實時時鐘芯片

實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點計時功能,計時數據的更新每秒自動進行一次,不需程序干預。計算機可通過中斷或查詢方式讀取計時數據進行顯示,因此計時功能的實現無需占用 CPU 的時間,程序簡單。此外,實時時鐘芯片多數帶有鋰電池做后備電源,具備永不停止的計時功能;具有可編程方波輸出功能,可用做實時測控系統的采樣信號等;有的實時時鐘芯片內部還帶有非易失性 RAM,可用來存放需長期保存但有時也需變更的數據,由于功能完善,精度高,軟件程序設計相對簡單,且計時不占用 CPU 時間,因此,在工業實時測控系統中多采用這一類專用芯片來實現實時時鐘功能。

方案二:軟件控制

利用單片機內部的定時/計數器進行中斷定時,配合軟件延時實現時、分、秒的計時及秒表計時。該方案節省硬件成本,且能使設計者對單片機的指令系統能有更深入的了解,從而掌握單片機應用技術 MCS-51 匯編語言程序設計方法,因此,本系統設計采用此種軟件控制方法來實現計時。而由于 Atmel 公司 的AT89C51 是一種自帶 4KB Flash 存儲器的低電壓、高性能的 CMOS 8 位微處理器。該器件采用 Atmel 高密度非易失存儲器制造技術制造,與工業標準 的MCS-51 指令集和輸出引腳相兼容。AT89C51 將多功能 8 位 CPU 和閃存集成在單個芯片中,是一種高效的微控制器,使用也更方便,壽命更長,可以反復擦除 1000 次。形成了功能強大、使用靈活和具有較高性能價格比的微控制器。它的功能強大而且也比較容易購買,故本設計中所選的單片機為 AT89C51 單片機。2.4、明晰任務

采用 AT89C51 單片機作為系統的控制核心。時鐘數據通過市場上流行的時鐘芯片 DS1302 來獲取。DS1302 是 DALLAS 公司推出的涓流充電時鐘芯片,內含一個實時時鐘/日歷和 31 字節靜態 RAM,可以通過串行接口與計算機進行通信,使得管腳數量減少。實時時鐘/日歷電路能夠計算 2100 年之前的秒、分、時、日、星期、月、年的,具有閏年自動判斷調整的能力。定時電路能夠實現自定任意時刻自動開/關屏,采用 LCD LM016L 顯示年、月、周、天、時、分、秒。通過按鍵開關實現微調,確保計時精度:誤差≤1 秒/月。DS1302 時鐘芯片的主要功能特性:

(1)能計算 2100 年之前的年、月、日、星期、時、分、秒的信息;每月的天數

和閏年的天數可自動調整;時鐘可設置為 24 或 12 小時格式。(2)31B 的 8 位暫存數據存儲 RAM。(3)串行 I/O 口方式使得引腳數量最少。

(4)DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需 3 根線。

(5)寬范圍工作電壓 2.0-5.5V。

(6)工作電流為 2.0A 時,小于 300nA。

(7)功耗很低,保持數據和時鐘信息時功率小于 1mW。

3.電路原理圖

4.程序框圖

4.1、顯示子程序流程圖

4.2、實時時鐘芯片 1302 讀/寫數據流程圖

5.編程序 源程序見附錄部分 6.調試 6.1、軟件調試

目前設計過程中容易造成元件和儀器儀表的損壞,而借助 Keil 和 Proteus進行單片機系統的開發,可以節省設計成本,提高設計速度。Keil 軟件包是一個功能強大的開發平臺,它包括項目管理器、CX51 編譯器、AX51 宏匯編器、BL51/LX51 連接定位器、RTX51 實時操作系統、Simulator 軟件模擬器及 Monitor51 硬件目標調試器。它是一種集成化程度高的文件管理編譯環境,主要功能為編譯 C 語言源程序,匯編程序或混合語言源程序,連接和定位目標文件和庫,創建 HEX 文件,調試目標程序等。Keil 是目前最好的 51 單片機開

發工具之一。Keil 支持軟件模擬仿真(Simulator)和用戶目標調試(Monitor51)兩種工作模式。前者不需要任何單片機硬件即可完成用戶程序仿真、調試,后者利用硬件目標板中的監控程序可以直接調試目標硬件系統。Proteus 是一個完整的嵌入式系統軟件、硬件設計仿真平臺,它包括原理圖輸入系統 ISIS、帶擴展的 Prospice 混合模型仿真器、動態元件庫、高級圖形分析模塊和處理器虛擬系統仿真模型 VSM。ISIS 是 Proteus 系統的中心,具有超強的控制原理設計環境。ProteusVSM 最重要的特點是能把微處理器軟件作用在處理器上,并和該處理器的任何模擬和數字元件協同仿真,仿真執行目標碼就像在真正的單片機系統上運行一樣,VSM CPU 模型能完整仿真 I/O 接口、中斷、定時器、通用外部設備口及其他與 CPU 有關的外部設備,甚至能仿真多個處理器。6.2、仿真調試 Proteus 仿真

7.自我感想

經歷過這么多天不間斷的課程設計,我們有挺多感觸的,從最基本上說我們看到了,也意識到了自己的不足,對于不斷克服的各種阻礙也讓我們體會到了課程設計的意義所在。對于只接觸課本只動筆桿的我們,面臨實際的設計尺寸,讓我們很是尷尬,都說理論聯系實際,真正到聯系的時候才發現挺困難的,不過正是理論知識的各種補充才讓我們能最終完成任務,然后深深地體會到理論對現實的指導作用。我們現在最缺乏的就是實際工作經驗,而理論聯系實踐并不像我們想象的那么簡單,他需要堅實的理論基礎和實際工作經驗。堅實的理論基礎決定了我必須堅持學習新的知識新的理論,完善了自己的知識結構,才能在以后的實際中輕松面對,才能設計出更好的更有益于人們生活與工作的機械,才能跟上時代的步伐,不被淘汰。在這個一邊忙著復習忙著考試又要準備課程設計的日子里,真真正正的體會到了時間的寶貴,有點像高中忙忙碌碌的生活,不過能按時完成課程設計對我們來說也是一個莫大的安慰。嚴謹和細心是做機械設計的必要態度,要想做好一件事,就必須一絲不茍、態度認真。俗話說:“失之毫厘,謬之千里。”在機械設計上尤其應該注意。在以后的工作中,你的很小的一個疏忽將會造成一個公司很大的損失,甚至給用戶帶去生命危險,而自己也會為自己的不負責任行為付出代價。再者就是設計中要嚴謹和細心,對于機械是不能出差錯的,任何的微小誤差都可能產生不可預計的后果,當然對于我們來說就是設計中要走一些彎路,而且在這個嚴重缺少時間又惦記回家問題的我們來說也是一個很嚴重的后果。不過,困難雖是難免的,但我們有信心就能并且已經戰勝了困難,完成了這個無比揪心的課程設計。因為時間等各種關系設計中難免有些不足還請老師助教給予批評和幫助。

8.參考文獻

《MCS-51 系列單片機原理及應用》 孫涵芳 主編 《新概念 51 單片機 C 語言教程》 郭天祥 主編 《51 單片機課程設計》 周向紅 主編 《單片機原理及其應用教程》 張元良 主編 附錄:C 語言編程源程序

#include #include //--------#define uint unsigned int #define uchar unsigned char //--------/*ucharcode table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf 8, 0x80,0x98,0x88,0x83,0xc6,0xa1,0x86,0x8e};// 共 陽極數碼管代碼 */ ucharcode xingqi[8]={0x00,0x07,0x01,0x02,0x03,0x04,0x05, 0x06};//星期顯示代碼 uchar miao,shi,fen,date,month,day,year,year10,set,mun,set_shi,set_fen,time_ flag;// 全 局 定 義

uint year_data,t;//-----sbit SCLK=P3^5;//DS1302 通訊線定義 sbit DIO=P3^6;sbit RST=P3^7;sbit speak=P0^0;sbit DS=P2^0;//595 通訊線定義 sbit SH_CP=P2^1;sbit ST_CP1=P2^2;sbit ST_CP2=P2^3;sbit ST_CP3=P2^4;sbit ST_CP4=P2^5;sbit ST_CP5=P2^6;sbit ST_CP6=P2^7;sbit ST_CP7=P3^0;sbit ST_CP8=P3^1;sbit OE1=P1^0;sbit OE2=P1^1;sbit OE3=P1^2;sbit OE4=P1^3;sbit OE5=P1^4;sbit OE6=P1^5;sbit OE7=P1^6;sbit OE8=P1^7;sbit K1=P3^2;//按鍵接口定義 sbit K2=P3^3;sbit K3=P3^4;sbit K4=P0^1;sbit K5=P0^2;//-----void write_595(uchar temp)//寫 74HC595 一個字節 { uchar temp_595,i;temp_595=temp;for(i=0;i<8;i++)

{

SH_CP=0;

_nop_();_nop_();_nop_();if(temp_595&0x80){ DS=1;} else { DS=0;} _nop_();_nop_();_nop_();SH_CP=1;temp_595<<=1;} } //--------------void delay(uint z)//Nms 延時 { uint x,y;for(x=z;x>0;x--)for(y=112;y>0;y--);} //-------------void delaynus(uint z)//ums 延時 { uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);} //---------------void write(uchar date)//寫入 DS1302 一個字節 { uchar temp,i;RST=1;SCLK=0;temp=date;for(i=0;i<8;i++){ SCLK=0;if(temp&0x01)DIO=1;else DIO=0;SCLK=1;temp>>=1;} } //-----uchar read()//讀出 DS1302 一個字節 { uchar a,temp;RST=1;for(a=8;a>0;a--){ temp>>=1;SCLK=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();SCLK=0;if(DIO){ temp=temp|0x80;} else { temp=temp|0x00;} } return(temp);} //---void write_1302(uchar add,uchar dat)//寫 DS1302 數據 { RST=0;SCLK=0;RST=1;write(add);write(dat);SCLK=1;RST=0;} //----------uchar read_1302(uchar add)// 讀 DS1302 數據 { uchar temp;RST=0;SCLK=0;RST=1;write(add);temp=read();SCLK=1;RST=0;return(temp);} //------------void display()//顯示子程序 { miao=read_1302(0x81);//讀秒 fen=read_1302(0x83);//讀分

shi=read_1302(0x85)&0x3f;//讀時 date=read_1302(0x87);//讀日 month=read_1302(0x89);//讀月 year=read_1302(0x8d);//讀年 day=read_1302(0x8B);//讀星期 write_595(miao);//顯示秒 ST_CP1=0;ST_CP1=1;ST_CP1=0;delaynus(10);write_595(fen);//顯示分 ST_CP2=0;ST_CP2=1;ST_CP2=0;delaynus(10);write_595(shi);//顯示時 ST_CP3=0;ST_CP3=1;ST_CP3=0;delaynus(10);write_595(date);//顯示日 ST_CP4=0;ST_CP4=1;ST_CP4=0;delaynus(10);write_595(month);//顯示月 讀 ST_CP5=0;ST_CP5=1;ST_CP5=0;delaynus(10);write_595(year);//顯示年 ST_CP6=0;ST_CP6=1;ST_CP6=0;delaynus(10);write_595(xingqi[day]);//顯示星期 ST_CP7=0;ST_CP7=1;ST_CP7=0;delaynus(10);} //----------void ds1302_init()//1302 初始化 { RST=0;SCLK=0;/* write_1302(0x80,0x00);//設置初始值 SEC write_1302(0x82,0x00);//設置初始值 MIN write_1302(0x84,0x00);//設置初始值 HR write_1302(0x86,0x00);//設置初始值 DATE write_1302(0x88,0x00);//設置初始值 MONTH write_1302(0x8A,0x00);//設置初始值 DAY */ write_1302(0x8C,0x10);//設置初始值 YEAR } //--------------void PORT_INIT()//端口初始化 { P0=0XFE;P1=0X00;P2=0X00;P3=0XFC;} void time_init()//定時器初始化 { TMOD=0x11;//設置定時 器 01 都為工作方式 1 TH0=(65536-50000)/256;//裝入初值 TL0=(65536-50000)%256;TH1=(65536-10000)/256;//裝入初值 TL1=(65536-10000)%256;PT0=1;//T0 定時器優先級最高 EA=1;//開總中斷

ET0=1;//開定時器 0 中斷 ET1=1;//開定時器 1 中斷 TR0=1;//啟動定時器 0 TR1=1;// 啟動定時器 1 } //--------------void main(void)//主程序 { PORT_INIT();ds1302_init();time_init();year=read_1302(0x8d);//讀年數據 year_data=0x2000|year;write_595(year_data>>8);//顯示 2010 年的 20 字樣 ST_CP8=0;ST_CP8=1;ST_CP8=0;set_shi=0x09;//鬧鐘初始值設定 set_fen=0x39;time_flag=0;//標志位 set=0;while(1){ switch(set){ case 0: //設置秒 { display();// 顯 示 子 程 序

if((shi==set_shi)&&(fen==set_fen)&&(time_flag==0))小時和分鐘 { speak=~speak;if((K2==0)&&(time_flag==0))//按鍵 K2 停 止鬧鐘響 { P0&=0XFE;time_flag=1;} delay(10);} } break;} if(fen==set_fen+1)// 當 不 按 下 鬧 鐘 停止按鍵,一分鐘后自動停止鬧 鐘 { P0&=0XFE;time_flag=0;} } } //--------void time0()interrupt 1 // 定時 器 0 中斷 { TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;mun++;if(mun==15){ mun=0;switch(set){ case 1: //設置秒閃爍 {OE1=1;delay(300);OE1=0;} break;case 2: //設置分閃爍 { OE2=1;delay(300);OE2=0;} break;case 3: //設置時閃爍 { OE3=1;delay(300);OE3=0;} break;case 4: //設置日閃爍 { OE4=1;delay(300);OE4=0;} break;case 5: //設置月閃爍 { OE5=1;delay(300);OE5=0;} break;case 6: //設置年閃爍 { OE6=1;OE8=1;delay(300);OE6=0;OE8=0;} break;case 7: //設置星期閃爍 { OE7=1;delay(200);OE7=0;} break;case 8: //設置鬧鐘閃爍 { OE2=1;OE3=1;delay(200);OE2=0;OE3=0;} break;} } TR0=1;} //-----------void time1()interrupt 3 // 定時器 1 中斷 { TR1=0;//先關定時器 TH1=(65536-20000)/256;TL1=(65536-20000)%256;//-if(K1==0){ delay(10);if(K1==0){ set++;if(set==9){ set=0;write_1302(0x80,miao);//設置初始值 SEC write_1302(0x82,fen);//設置初始值 MIN write_1302(0x84,shi);//設置初始值 HR write_1302(0x86,date);//設置初始值 DATE write_1302(0x88,month);// 設置初始值 MONTH write_1302(0x8A,day);//設置初始值 DAY write_1302(0x8C,year_data);//設置初始值 YEAR } t=50000;while((!K1)&&t){ t--;} } } //-------if(K2==0){ delay(10);if(K2==0){ switch(set){ case 1: { miao++;if((miao&0x0f)>0x09){ miao+=0x10;miao&=0xf0;} if(miao==0x60){ miao=0x00;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen++;if((fen&0x0f)>0x09){ fen+=0x10;fen&=0xf0;} if(fen==0x60){ fen=0x00;} ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi++;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x24)//24 小時制 { shi=0x00;} } else { shi=(shi|0x80)+1;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x12)//12 小時制 { shi=0X80;} } write_595(shi);//顯示時 ST_CP3=0;ST_CP3=1;ST_CP3=0;} break;case 4: { date++;if((date&0x0f)>0x09){ date+=0x10;date&=0xf0;} if((date==0x32)&&((month==0x01)||(month==0x03)||(month==0x05)||(month ==0x07)||(month==0x08)||(month==0x10)||(month==0x12))){ date=0x01;} else if((date==0x31)&&((month==0x04)||(month==0x06)||(month==0x09)||(month ==0x11))){ date=0x01;} else if((date==0x29)&&(month==0x02)&&((year_data|read_1302(0x8d))%100!=0)& &((year_data|read_1302(0x8d))%400!=0)){ date=0x01;} else if((date==0x30)&&(month==0x02)&&((year_data|read_1302(0x8d))%100==0)& &((year_data|read_1302(0x8d))%400==0)){ date=0x01;} write_595(date);ST_CP4=0;ST_CP4=1;ST_CP4=0;} break;case 5: { month++;if((month&0x0f)>0x09){ month+=0x10;month&=0xf0;} if(month==0x13){ month=0x01;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data++;if((year_data&0x000f)==0x0a){ year_data+=0x0010;year_data&=0xfff0;} if((year_data&0x00ff)==0xa0){ year_data+=0x0100;//向前進 1 year_data&=0xff00;//后面尾數歸 0 } write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day++;if((day&0x0f)==0x08){ day=0x01;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K2)&&t){ t--;} } } //-------------------------if(K3==0){ delay(10);if(K3==0){ switch(set){ case 1: { miao--;if((miao&0x0f)==0x0F){ miao&=0xf9;//減到 0 后,再減一次就歸 0, } if(miao==0xF9)//當全部減到 00 時,再 減一次就為 59 { miao=0x59;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen--;if((fen&0x0f)==0x0F){ fen&=0xf9;} if(fen==0xF9){ fen=0x59;} write_595(fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi--;if((shi&0x0f)==0x0F){ shi&=0xf9;} if(shi==0xF9)//24 小時制 { shi=0x23;} } else { shi=(shi|0x80)-1;if((shi&0x0f)==0x0F){ shi&=0xf9;} ST_CP4=0;} break;case 5: { month--;if((month&0x0f)==0x0F){ month&=0xf9;} if(month==0x00){ month=0x12;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data--;if((year_data&0x000f)==0x0F){ year_data&=0xfff9;} if((year_data&0x00f0)==0xF0){ year_data&=0xf999;} write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day--;if((day&0x0f)==0x00){ day=0x07;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K3)&&t)//松手檢測 { t--;} } } //---switch(set){ case 8: { if(K4==0){ delay(10);if(K4==0){ if((read_1302(0x85)&0x80)==0x00){ set_shi++;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x24)//24 小時制 { set_shi=0x00;} } else { set_shi=(set_shi|0x80)+1;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小時制 { set_shi=0X80;} write_595(set_shi);// 顯示鬧 鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}

if(set_fen==0x60)

{

set_fen=0x00;

} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小時制 { set_shi=0X80;} write_595(set_shi);// 顯示鬧 鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}

if(set_fen==0x60)

{

set_fen=0x00;

} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } } } } //------------------------if(((K4==0)||(K5==0))&&(set==0)){ delay(10);if(((K4==0)||(K5==0))&&(set==0)){ write_595(set_shi);//顯示鬧鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;P1=0XF9;while((!K4)||(!K5));P1=0X00;} } //----------TR1=1;//退出時開定時器 } } //----------

第二篇:《單片機原理及應用》課程設計簡介

《單片機原理及應用》課程設計簡介

1、課程編碼:1302009602、英文名稱:project work for 《the principle and application of single chip computer》

3、學時/學分:

總學時:1周,學分:1學分,時間安排:第五學期

4、課程負責人:石亞和

5、課程設計主要內容簡介

目的: ⑴ 配合《單片機原理及應用》課程,加強實踐訓練,使學生鞏固理論課程所學內容,加深對原本抽象的學習內容的理解深度,達到良好的教學效果。⑵ 結合專業特點,培養學生獨立科研和設計開發能力,并為以后的畢業設計打下堅實的基礎。

任務: ⑴ 學生圍繞教師提出的設計課題進行選擇論證,確定自己的方案,做必要的實驗,進行原理圖設計和印刷電路板設計并完成設計圖紙; ⑵寫出設計說明書。

要求:⑴ 學生原則獨立完成設計工作,可每2-3人為一組,各組題目不同,由2-3名教師分別指導。⑵ 課程設計期間應集中統一在確定的地點進行工作,不得缺席。學生應準備專用的筆記,記錄設計期間的計算數據、所查閱的資料文獻、改進措施等內容以備平時檢查。實施計劃:第5學期期末安排進行,提前4周在課程進行中下發設計題目并要求學生分組 完畢和進行題目初選。提前1周所有指導教師與學生見面,約定活動時間地點等項。用1 周時間完成方案論證、原理圖繪制和PCB印刷電路板練習,并考慮程序流程。最后寫出完 整的設計說明書。

成績評定:工作表現、設計說明書質量和答辯驗收各占三分之一。由各指導教師按5級分制分別評定,并由課題組長最終審核確認。

6、先修課程:模擬電子技術,脈沖與數字電路,單片機原理及應用

7、適用專業:測控技術及儀器

8、參考教材:《單片機原理及應用》課程設計指導書

第三篇:《單片機原理及應用》課程設計任務書(2014)

《單片機原理及應用》課程設計

任務書

一、課程設計題目

見農機111《單片機課程設計》題目分配表。

二、課程設計的基本要求

1、根據給定的題目,在規定時間內完成系統硬件電路設計、系統程序設計。具體包括:

(1)在keil IDE(μvision3)中完成應用程序設計、并編譯;

(2)在Proteus 7.5下的ISIS Professional中完成電路設計、調試并仿真通過。

2、課程設計結束時需要提交的材料清單:

(1)設計說明書

設計說明書包含:設計思想和設計說明,硬件原理框圖,硬件原理圖與其軟件配合介紹(若有),程序存儲器和數據存儲器的單元分配,程序流程圖,源程序清單,課程設計中所有涉及到的芯片資料。

(2)圖紙:硬件電路圖(Proteus軟件仿真通過)、仿真效果圖。均用彩色A3以上幅面打印。

(3)光盤:包含上述(1)、(2)的電子版。

3、多人共同完成一個題目時,只需提交上述材料一份,格式按照貴州大學課程設計相關要求裝袋,姓名填寫在一起即可。但要在設計說明書中說明每個人的主要分工情況。

三、課程設計時間安排

設計時間:2014年6月30日~7月7日。

課程設計材料提交、答辯時間:7月7日下午2:30。

課程設計材料提交、答辯地點:農機系辦公室(機械樓618)。

四、成績評定方式

設計說明書:40%。硬件電路原理圖:40%。答辯:20%。

第四篇:單片機原理及應用課程設計教學大綱

《單片機原理及應用》課程設計教學大綱

課程編號:13033070 課程類別:必修課

適用專業:電氣信息類

學時:10 教研室主任:姜志成大綱執筆人:李春華

大綱審批人:付家才

一、課程設計的性質及目的

1.了解并掌握單片機的原理、結構、指令、接口及應用。

2.提高綜合運用所學的理論知識獨立分析和解決問題的能力。3.掌握匯編語言程序設計和調試。4.掌握C-51語言的設計和調試。

二、課程設計的要求

1. 根據設計要求,畫出硬件接線圖及程序的總體流程圖,然后進行各控制模塊的硬件設計及軟件設計。

2.掌握如何應用單片機仿真器來開發應用系統及仿真調試的過程。

三、參考題目

題目一 校園作息時間控制系統

設計要求:

1.作息時間要求實現對上下課打鈴、教學樓照明、學生宿舍燈、校園路燈四個開關量的精確控制。月時間累計誤差≤1分鐘。

2.能實時顯示時間,并方便定期進行時間校準。

3.根據應用系統的要求,初步掌握總體結構設計的方法和構思,從中選擇一種最佳設計方案。

4.根據應用系統結構規模的要求,掌握單片機外部擴充系統硬件設計的基本過程。

題目二 交通信號燈控制系統

設計要求:

1.設有一個南北(SN)向和東西(WE)向的十字路口,兩方向各有兩組相同交通控制信號燈,每組各有四盞信號燈,分別為直行信號燈(S)、左拐信號燈(L)、紅燈(R)和黃燈(Y),交通控制信號燈布置如圖1所示。

2.根據交通流量不同,交通信號燈的控制可實現手動、自動兩種控制。平時使用自動控制,高峰區可使用手動控制。手動控制時,用戶通過鍵盤對交通信號燈進行人工控制;自動控制時,交通信號燈控制規律用圖2狀態轉換圖來描述。

圖1十字路口交通控制信號燈示意圖

圖2交通控制信號燈控制規律示意圖

題目三 環境溫度監測系統

設計要求:

1.可以監測8點環境溫度信號,可以擴充;

2.測量范圍為0.00℃~99.9℃,可以擴充到-55℃~+125℃,精度為±0.5℃; 3.用4位數碼管進行循環顯示,其中最高位顯示通道提示符A~H,低3位顯示實際溫度值,每秒切換一個通道進行輪流顯示;

4.可以隨時查看指定通道的溫度值(擴充功能)。

四、教學參考文件與教學形式

教學參考文件: 〔1〕付家才,《單片機控制工程實踐技術》,化學工業出版社,2003年 〔2〕胡漢才,《單片機原理及接口設計》,清華大學出版社,2002年 〔3〕康華光,《模擬電子技術》,高等教育出版社,2004年 教學形式:根據課程設計大綱的要求,采取指導的形式。

五、考核方式及成績評定標準

考核方式采取設計報告與實際操作,根據設計的情況和實際操作效果給出成績,其中設計報告占60%,日常管理(包括遲到、曠課、衛生等)占10%,實際操作占30%。成績采用優、良、中、及格和不及格五級分制評定。

六、其他必要的說明

課程設計教師可根據專業特點選做相應題目。

第五篇:單片機原理及應用課程設計報告

中國地質大學江城學院

一、課程設計內容編寫C程序進行跑馬燈及鍵盤控制根據所用芯片設計外圍電路電路焊接程序下載入所焊電路進行系統軟硬件綜合調試

二、器材

9個二極管、9個330Ω的電阻、11個10K的電阻、2個220Ω的電阻、4個

5.1K的電阻、1個整流二極管IN4007、1個三端穩壓集成電路(+5V)LM7805、2個10μF/25V的電容、1個三端穩壓芯片(+3.3V)LM1117、1個12MHZ無源晶振、2個33瓷片電容、2個16腳的插槽、2個CD4511BE芯片、1個20腳的插槽、1個74HC573N芯片、1個24腳的插槽、2個七段數碼管、1個14腳的插槽、1個HD74HC21P芯片、1個40腳的插槽、1個AT89S52芯片、1個10腳下載口、19個按鍵、若干細導線。

三、電路結構

四、程序設計

1.跑馬燈和鍵盤控制:

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit P27=P2^7;

sbit P26=P2^6;

uchar a;

uint key;

uchar code table[]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0x00,0x11,0x22,0x33,0x44,0x55};

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

main()

{

P1=0xF0;

P2=0x00;

P0=0x00;

a=0x01;

P26=0;

P27=1;

key=0;

EA=1;

EX0=1;

EX1=1;

IT0=0;

IT1=1;

PX0=0;

PX1=1;

while(1);

}

display(uint num)

{

P26=0;

P0=table[num];

delay(20);

P26=1;

P1=0Xf0;

}

void int0()interrupt 0

{

uint i,j,pin;

P27=0;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{

P1=0xFF&(~(0x01<<(3-i)));

pin=P1;

if(((pin>>(4+j))&0x01)==0)

{key=i+j*4;

IE0=0;

return;

}

}

display(key);

}

void int1()interrupt

2{

P26=1;

while(1)

{

a=_crol_(a,1);

P27=1;

P0=a;

delay(1000);

P27=0;

}

}

2.秒表:

#include

#define uchar unsigned char

#define uint unsigned int

sbit P27=P2^7;

sbit P26=P2^6;

uint a;

uchar b;

main()

{

TMOD=0x01;

TH0=0x3C;

TL0=0xB0;

ET0=1;

EA=1;

TF0=0;

TR0=1;

P0=0xFF;

P2=0x00;

P26=0;

P27=1;

while(1);

}

void Timer0_Overflow()interrupt

1{

TH0=0x3C;

TL0=0xB0;

{ if(a==20)

{a=0;

b=b+1;

if((b&0x0F)==0x0A)b=b+6;

P0=b;

}

a++;

if(b>0x59){b=0x00;P0=b;}

}

}

五、結果分析

1.外部中斷0控制按鍵,此時令P27=0,讓8個二極管鎖存為初始狀態,全滅。同時令P26=0,然后按下按鍵可以在數碼管上同時顯示相應的數字,按下16個鍵可以顯示0-9-0-5。

2.外部中斷1控制跑馬燈,此時令P26=1,讓數碼管鎖存為初始狀態,不亮。同時令P27=1,二極管就能大約1秒循環。

3.顯示60秒,令P26=0和P27=1,讓數碼管和二極管都亮,二極管按照0-59循環,數碼管就顯示0-59秒。

六、實物圖

下載單片機原理及應用課程設計word格式文檔
下載單片機原理及應用課程設計.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    2012 單片機原理課程設計要求

    通信0901/02單片機原理課程設計要求 (2011-2012學年第2學期) 1. 綜合運用已學習過單片機原理、模擬電路和數字電路等知識,閱讀相關單片機電路芯片資料和相關文獻,了解單片機電路......

    《單片機原理與應用》課程設計報告書五篇

    封面: 《單片機原理與應用》 課程設計報告書課題名稱:*************姓名: 學號: 班級: 專業: 指導教師:電氣工程學院 年 月 日任務書:(書寫對課題的具體要求)目錄: 1、 系統總體設計方......

    《單片機原理及應用》課程

    《單片機原理及應用》課程 自評報告 陜西理工學院電氣工程系《單片機原理及應用》課程組 二○一○年三月 目 錄 第一部分 課程簡介 第二部分 課程內容與體系的改革 第三部分......

    微機原理單片機課程設計報告

    一、課程設計的性質和目的通過課程設計,進行硬件設計和程序設計的方法和技能訓練,鞏固在課堂上學到的有關軟件程序設計和硬件電路設計的基本知識和基本方法,通過具體課題的訓練......

    《單片機原理及應用課程設計》節日彩燈控制器的設計

    《單片機原理及應用課程設計》報告 ——節日彩燈控制器的設計 專業:班級: 姓名: 學號:2014年2月 1.課程設計目的 1.1鞏固和加深對單片機原理和接口技術知識的理解; 1.2培養根據......

    《單片機原理及應用》課程教案

    《單片機原理及應用》課程教案 第三次課 2學時 主要內容: 第二部分 單片機的原理與結構(3) 2.5 并行I/O端口 2.6 時鐘電路與時序 2.7 復位操作和復位電路 重點: P0~P3端口......

    《單片機原理及應用》實驗報告(含五篇)

    實驗一:單片機開發裝置使用方法 (小2號,加粗) 一、 實驗目的(3號,加粗) 內容(楷體,4號,不加粗) 字符和數字用Times new Roman 二、實驗內容 三、實驗步驟 四、實驗結果 五、實驗分析 六......

    單片機原理及接口技術課程設計指導書

    長 沙學院課程設計指導書(部) 業 級單片機原理及接口技術機電工程系機械設計制造及其自動化 年月日 第 1 頁 共 5 頁 課程設計名稱系專班 課程名稱:《單片機原理及接口技術》課......

主站蜘蛛池模板: 狠狠的干性视频| 国内精品久久久久影院中文字幕| 欧妇女乱妇女乱视频| 人妻人人做人做人人爱| 国产成人综合久久久久久| 久久久久99精品成人片欧美一区| 无码专区人妻诱中文字幕| 88国产精品欧美一区二区三区| 天天躁夜夜躁狠狠躁2021| 欧美最猛黑人xxxx黑人猛交| 亚洲高请码在线精品av| 国产精品久久久天天影视| 韩日午夜在线资源一区二区| 无线日本视频精品| 一区二区三区国产| 120秒试看无码体验区| 精品人妻无码视频中文字幕一区二区三区| 影音先锋亚洲成aⅴ人在| 中文字幕无码日韩av| 性色av一区二区三区无码| 日韩精品中文字幕无码一区| 国产AV一区二区三区| 欧美乱妇高清无乱码在线观看| 国产成人无码精品久久二区三区| 天堂影院一区二区三区四区| 天天狠天天透天天伊人| 日本三级吃奶头添泬| 狼人亚洲国内精品自在线| 丰满少妇女裸体bbw| 亚洲av无一区二区三区久久| 国产成年无码v片在线| 99久久精品费精品国产一区二| 欧美尺码专线欧洲b1b1| 亚洲 欧美 中文 日韩aⅴ手机版| 精品国产三级| 日本成本人三级在线观看| 伊人久久大香线蕉av波多野结衣| 免费国产在线精品一区不卡| 久久免费看少妇高潮v片特黄| 午夜av无码福利免费看网站| 亚洲熟妇无码爱v在线观看|