第一篇:單片機課程設計計劃
華東交大理工學院_2013-2014_學年第_一_學期
課程設計安排計劃
班級:11級電氣12、34、56班課程:單片機應用綜合設計
一、課程設計題目:
跑馬燈游戲機的設計
二、設計內容及要求:
1、設計內容:
此課程設計的課題為跑馬燈游戲機設計,設計內容是:由單片機I/O口控制發(fā)光二極管(LED)依次點亮短暫延時后熄滅,周而復始。當外部功能按鍵(連接于INT0/1)作用時,分別實現開始、停止功能。具體過程為:按開始鍵,LED循環(huán)顯示,按停止鍵時,LED循環(huán)狀態(tài)暫停,若正巧最后一個LED被點亮,而其它LED皆熄滅時,表示該操作人獲勝,贏得游戲,同時蜂鳴器鳴響2秒,以示慶祝,反之則蜂鳴器鳴響500ms示意輸掉游戲。下次按下開始后,游戲仍能繼續(xù)。
2、設計要求
(1)要求學生掌握單片機I/O口和外部中斷等資源的使用,并實現由外部輸入信號如何控制輸出信號的功能。
(2)要求學生用所提供的元件來完成對跑馬燈游戲機的硬件設計。
(3)要求學生用所學語言(匯編語言或C語言)來完成跑馬燈游戲機的軟件設計。
(4)要求學生掌握電路調試的方法,培養(yǎng)解決實際問題的能力。
三、設計方法與步驟:
1、設計方法:硬件電路設計、軟件設計、電路的組裝與調試。
2、設計步驟:
(1)查找參考電路圖所用器件使用數據手冊,掌握其使用方法;(2)依設計功能說明,設計出硬件電路圖;
(3)依設計功能,設計出詳細的程序流程圖,并編寫出程序;(4)對設計的硬件和軟件,通過計算機輔助軟件進行仿真(5)安裝調試、自制印刷板;
(6)撰寫設計報告、調試總結報告及使用說明書。
四、設計時間安排:
13周-15周完成,每周安排8個課時的教學。
五、其他需說明的事項(課設如到本部做,請注明實驗室名稱;還有學校需提供的軟件和硬件環(huán)境)
指導老師:陳芳時間: 2013-11-8
聯系電話:***
華東交通大學理工學院課程設計教學安排
任課老師:陳芳指導老師:陳芳任課班級:11電氣1、2班課程名稱:《單片機應用綜合設計》
第二篇:單片機課程設計
設計題目: 單片機課程設計
學生姓名:
學
院: 電氣與信息工程學院
班
級: 電子111班 指導教師:
日 期: 2014年9月20日
一、課程設計目的:
了解電子元器件的功能與原理,掌握單片機的結構和原理,學會使用單片機應用開發(fā)技術的相關軟件如 keill、STC_ISP_V394等,能夠使用c語言的語言編程簡單的功能。
二、設計的思想:
利用所提供的單片機和開發(fā)板的原理圖用keill軟件編程程序以實現一些功能。然后用STC_ISP_V394.exe軟件將編譯完全正確的程序生成的hxe文件下載到開發(fā)板上,再調試編譯的程序能否實現其所設計的功能。
1、對蜂鳴器的了解:
蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,它由振蕩器、電磁線圈、磁鐵、振動膜片及外殼組成,接通電源后,振蕩器產生的音頻信號由電流通過電磁線圈,使電磁線圈產生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性的振動發(fā)聲。
2、設計:
我們所使用的開發(fā)板實物圖如圖一,單片機對右上角蜂鳴器的控制是加入三極管接入vcc,單片機的第22引腳和負極上,以此來控制蜂鳴器工作。單片機我們選擇STC89C52RC+1602液晶來實現對蜂鳴器的控制及顯示所需要的信息。
圖一 調試說明:
首先用Keil軟件創(chuàng)建一個工程,將程序源代碼輸入并編譯生成單片可執(zhí)行的.hex文件。其次,打開單片機實踐板的電源,接好串口線,用STC-ISP燒錄軟件,將.hex文件燒錄入單片機中。程序下載完畢后,單片機會自動執(zhí)行程序功能。最后,觀察程序功能的執(zhí)行情況,看是否達到了設計要求。
如果單片機實踐板硬件電路的執(zhí)行結果與設計結果一致,則說明設計過程及流程沒有問題,完全符合設計要求。否則,先檢查單片機實踐板的硬件電路是否完好,是否有斷點、漏焊、虛焊以及元器件是否完好等情況,排除故障重新連接后重新進行調試。如果仍然無法正
常實現,則說明程序編寫有誤,需要認真檢查程序流程,然后經過反復的修改與調試排除故障,實現設計要求的各項功能。編譯和燒寫該程序到單片機:
(1)用Keil編譯上面的代碼,并設置產生16進制代碼文件*.hex.(2)用專用下載線,連接好實驗板和電腦串口(DB9)(2)運行hex文件燒寫軟件STC_ISP_V394.exe
選單片機的型號,并打開編譯產生好的hex文件
點擊下載,給開發(fā)板上電。
3、實現的功能:使用單片機將歌曲《八月桂花》的調子通過蜂鳴器播放出來,用1602液晶將想要表達的信息有步驟地顯示在液晶顯示屏上,并且調子與顯示內容可以任意通過修改的程序燒錄到單片機內,實現設計產品的使用性與靈活性。
三、實驗程序:
/************************************************************************
[主題] C51音樂程序《八月桂花》
[功能]
通過單片機演奏音樂,顯示一些內容
/**********************************************************************/
#include
#include
//本例采用89C52, 晶振為11.0592MHZ
//關于如何編制音樂代碼, 其實十分簡單,各位可以看以下代碼.//頻率常數即音樂術語中的音調,而節(jié)拍常數即音樂術語中的多少拍;
//所以拿出譜子, 試探編吧!
unsigned char i=0;sbit Beep = P2^7;
unsigned char p,m;
//m為頻率常數變量
unsigned char n=0;//n為節(jié)拍常數變量
unsigned char code music_tab[] ={
0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數, 節(jié)拍常數, 頻率常數, 節(jié)拍常數,0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00
};
void int0()interrupt 1
//采用中斷0 控制節(jié)拍
{ TH0=0xd8;
TL0=0xef;
n--;
}
void delay(unsigned char m)
//控制頻率延時
{
unsigned i=3*m;
while(--i);
}
void delayms(unsigned char a)//豪秒延時子程序
{
while(--a);
//采用while(--a)不要采用while(a--);各位可編譯一下看看匯編結果就知道了!
}
typedef unsigned char BYTE;typedef bit BOOL;
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;sbit LCD_EP = P2^2;
BYTE code dis1[] = {“
WLCOME TO
”};BYTE code dis2[] = {“
DanPianJi ”};BYTE code dis3[] = {“
111iZnaiD
”};BYTE code dis4[] = {“
eiXeiX ”};
delays(int ms){
// 延時子程序 int i;while(ms--){
for(i = 0;i< 250;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
} } }
BOOL lcd_bz(){
// 測試LCD忙碌狀態(tài) BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result =(BOOL)(P0 & 0x80);LCD_EP = 0;return result;}
lcd_wcmd(BYTE cmd){
while(lcd_bz());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;
}
lcd_pos(BYTE pos){
lcd_wcmd(pos | 0x80);
// 寫入指令數據到LCD //設定顯示位置
}
lcd_wdat(BYTE dat)
{
//寫入字符顯示數據到LCD while(lcd_bz());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}
lcd_init(){
lcd_wcmd(0x38);
delays(1);lcd_wcmd(0x0c);
delays(1);lcd_wcmd(0x06);
delays(1);lcd_wcmd(0x01);
delays(1);}
void main()
{
BYTE j;
lcd_init();
delays(10);
//LCD初始化設定
//16*2顯示,5*7點陣,8位數據//顯示開,關光標 //移動光標 //清除LCD的顯示內容
// 初始化LCD
lcd_wcmd(0x06);
//向右移動光標
lcd_pos(0);
//設置顯示位置為第一行的第1個字符
j = 0;
while(dis1[ j ]!= ' 主站蜘蛛池模板: 亚洲国产激情五月色丁香小说| 亚洲国产成人av在线观看| 无码少妇一区二区三区| 男女做爰猛烈叫床视频动态图| 精品一卡二卡三卡| 97久久香蕉国产线看观看| 亚洲精品国产字幕久久麻豆| 日本高清视频在线www色| 麻豆影视视频高清在线观看| 黑人强伦姧人妻日韩那庞大的| 蜜臀性色av免费| 国产午夜精品一区二区三区漫画| 久久天堂综合亚洲伊人hd妓女| 免费无码成人片| 无码国产午夜福利片在线观看| 日本不卡一区二区三区在线| 免费人成再在线观看网站| 国产麻豆精品一区二区三区v视界| 四虎永久在线精品免费观看| 国产人妻777人伦精品hd| 999久久久无码国产精品| 好吊妞国产欧美日韩免费观看| 国产女人高潮叫床视频| 亚洲精品gv天堂无码男同| 国产婷婷丁香五月缴情成人网| 中文无码精品一区二区三区| 亚洲精品久久久久中文字幕m男| 久久国产乱子伦免费精品无码| 狠狠五月激情六月丁香| 内射后入在线观看一区| 久久久日韩精品一区二区三区| 蜜臀av色欲a片无码一区二区| 伊人久久久精品区aaa片| 国产成+人+综合+亚洲 欧美| 亚洲精品无码久久不卡| 成在人线av无码免费高潮水老板| 亚洲自偷自偷图片高清| 日韩人妻少妇一区二区| 人妻无码一区二区三区免费| 亚洲色成人网站永久| 国产在线观看免费视频软件|