![排序算法程序基礎(chǔ)工程設(shè)計(jì)說明書封面_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/28/7adbaae5-4bb2-4e6f-9b42-b9a75462ed55/7adbaae5-4bb2-4e6f-9b42-b9a75462ed551.gif)
![排序算法程序基礎(chǔ)工程設(shè)計(jì)說明書封面_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/28/7adbaae5-4bb2-4e6f-9b42-b9a75462ed55/7adbaae5-4bb2-4e6f-9b42-b9a75462ed552.gif)
![排序算法程序基礎(chǔ)工程設(shè)計(jì)說明書封面_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/28/7adbaae5-4bb2-4e6f-9b42-b9a75462ed55/7adbaae5-4bb2-4e6f-9b42-b9a75462ed553.gif)
![排序算法程序基礎(chǔ)工程設(shè)計(jì)說明書封面_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/28/7adbaae5-4bb2-4e6f-9b42-b9a75462ed55/7adbaae5-4bb2-4e6f-9b42-b9a75462ed554.gif)
![排序算法程序基礎(chǔ)工程設(shè)計(jì)說明書封面_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/28/7adbaae5-4bb2-4e6f-9b42-b9a75462ed55/7adbaae5-4bb2-4e6f-9b42-b9a75462ed555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)設(shè)計(jì)性實(shí)驗(yàn)報(bào)告題 目: 排序算法程序 院 (系): 電子工程與自動(dòng)化學(xué)院 專 業(yè): 自動(dòng)化 學(xué)生姓名: 謝周埔 學(xué) 號(hào): 1100810130 指導(dǎo)教師: 龍超 2014年4月26日一、實(shí)驗(yàn)?zāi)康?掌握嵌入式系統(tǒng)的設(shè)計(jì)原理、程序編寫與調(diào)試的開發(fā)過程。2、 實(shí)驗(yàn)內(nèi)容 用鍵盤輸入8個(gè)無符號(hào)正數(shù),將其按升序排序,在數(shù)碼管或lcd1602上顯示最大值。在單片機(jī)實(shí)驗(yàn)板上實(shí)現(xiàn)。三、實(shí)驗(yàn)要求1、 根據(jù)給定題目設(shè)計(jì)proteus仿真原理圖;2、 根據(jù)給定題目設(shè)計(jì)有關(guān)的51匯編語言(或c語言)源程序,并編譯成可執(zhí)行文件;3、 在proteus仿真界面下運(yùn)行程序?qū)崿F(xiàn)給定的功能4、 實(shí)驗(yàn)設(shè)計(jì)(1) 實(shí)驗(yàn)思路1.
2、1 4*4矩陣鍵盤概述鍵盤掃描流程圖:(2) 冒泡法排序 (三)lcd1602顯示部分 流程圖大致如下:(三)仿真電路圖一開始顯示提示輸入標(biāo)志“come on baby:”,每次按下一個(gè)數(shù)就清除一次,按夠八個(gè)后按一下確定鍵即可從小到大逐次在第一行顯示八個(gè)數(shù),然后在第二行顯示最大值,我設(shè)計(jì)的可排序正數(shù)范圍是032000左右的正數(shù),仿真效果和硬件效果無二并且實(shí)驗(yàn)室所有系統(tǒng)版均適用。(四)程序源代碼 #include #include #include #define uchar unsigned char#define uint unsigned int#define k p1 /矩陣鍵盤接口定義
3、uint sj=0,0,0,0,0,0,0,0,0;uchar key; /定義鍵值為全局變量uchar dis_buf; /顯示緩存uint max;sbit lcd_rs = p27; sbit lcd_rw = p26;sbit lcd_en = p25;void lcd_wcmd(uchar cmd);void lcd_wdat(uchar dat);void lcd_pstr(char *str);/* /延時(shí)*/void delay_xms(uint x) uint i,j; for(i=0;ix;i+) for(j=0;j112;j+); /* 鍵盤掃描程序 */void key
4、scan(void) uchar temp=0,key=0; k=0xf0; /高四位輸入 行為高電平 列為低電平 delay_xms(1); temp=k; /讀p1口 temp=temp&0xf0; /屏蔽低四位 if(temp=0xe0) / p1.4 被拉低 key=0; else if(temp=0xd0) / p1.5 被拉低 key=1; else if(temp=0xb0) / p1.6 被拉低 key=2; else if(temp=0x70) / p1.7 被拉低 key=3; else key=12; k=0x0f; /低四位輸入 列為高電平 行為低電平 delay_xm
5、s(1); temp=k; /讀p1口 temp=temp&0x0f; if(temp=0x0e)/p1.0 被拉低 key=key+0; else if(temp=0x0d) / p1.1 被拉低 key=key+4; else if(temp=0x0b) / p1.2 被拉低 key=key+8; else if(temp=0x07) / p1.3 被拉低 key=key+12; else key=12; if(key12) dis_buf = key; /鍵值入顯示緩存 k=0xf0;while(k!=0xf0); /檢測(cè)松開/* /把掃描的鍵值存入數(shù)組*/void congshu_xi
6、anshi(void) inti=0;uints=0; k=0xf0;while(1) if(k!=0xf0)/delay_xms(20);if(k!=0xf0)/去抖問題? keyscan(); if(dis_buf=10)sji= s;s=0; i+; lcd_wcmd(0x01);/寫命令到lcd? else if(dis_buf=11) sji=0;/lcd_pstr(end); /顯示出字符串?break; else lcd_wdat(48+dis_buf);/寫數(shù)據(jù)到lcd?s=s*10+dis_buf; /* /冒泡排序*/void sort() int i,j,t,n=8; f
7、or(j=0;jn-1;j+)for(i=0;isji+1) t=sji; sji=sji+1; sji+1=t; max=sjn-1; /* 延時(shí)函數(shù)*/void delay(uint ms)/延時(shí)函數(shù) while( ms- );/* 延時(shí)函數(shù)1*/void delay1(int ms) unsigned char n; while(ms-) for(n = 0; n250; n+) _nop_(); _nop_(); _nop_(); _nop_(); /* *寫指令數(shù)據(jù)到lcd *rs=l,rw=l,e=高脈沖,d0-d7=指令碼。 * */void lcd_wcmd(uchar cmd
8、) / while(lcd_busy(); lcd_rs = 0; lcd_rw = 0; lcd_en = 0; _nop_(); _nop_(); p0 = cmd; delay(4); lcd_en = 1; delay(4); lcd_en = 0; delay(10);/* *寫顯示數(shù)據(jù)到lcd *rs=h,rw=l,e=高脈沖,d0-d7=數(shù)據(jù)。 * */void lcd_wdat(uchar dat) / while(lcd_busy(); lcd_rs = 1; lcd_rw = 0; lcd_en = 0; p0 = dat; delay(4); lcd_en = 1; de
9、lay(4); lcd_en = 0; delay(10);/* * lcd初始化設(shè)定 * */void lcd_init() delay1(15); lcd_wcmd(0x01); /清除lcd的顯示內(nèi)容 lcd_wcmd(0x38); /16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay1(5); lcd_wcmd(0x38); delay1(5); lcd_wcmd(0x0c); /開顯示,不顯示光標(biāo) delay1(5); lcd_wcmd(0x01); /清除lcd的顯示內(nèi)容 delay1(5);/* * 設(shè)定顯示位置 * */void lcd_pos(uchar pos) lcd_wcm
10、d(pos | 0x80); /數(shù)據(jù)指針=80+地址變量void lcd_pstr(char *str)while(*str)lcd_wdat(*str);str+;/* 主函數(shù)*/main()uint i,j;uint a16,b5;lcd_init();sprintf(a,come on baby:); lcd_pstr(a); while(1) lcd_pos(0x40); congshu_xianshi();sort(); for(i=0;i8;i+) lcd_pos(0x00); b0=sji/10000%10;b1=sji/1000%10;b2=sji/100%10;b3=sji/
11、10%10;b4=sji/1%10;for(j=0;j5;j+) lcd_wdat(48+bj); delay_xms(0x0fff); lcd_pos(0x40); /設(shè)置顯示位置為第二行sprintf(a,the max:%d,max);lcd_pstr(a); 5、 心得體會(huì)通過本次單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論知識(shí)的理解,學(xué)會(huì)了學(xué)以致用的重要性;而且還學(xué)會(huì)了如何去加強(qiáng)鍛煉創(chuàng)新精神,同時(shí)也提高了自身的動(dòng)手能力,讓我深刻的意識(shí)到理論與實(shí)際結(jié)合的重要性。在本次設(shè)計(jì)過程中,雖然設(shè)計(jì)的題目不是很難,但在實(shí)際操作過程當(dāng)中也遇到了不少困難,通過遇到的困難也讓我不斷地去查找資料,不斷地區(qū)詢問
12、同學(xué),不斷地去開動(dòng)自己的腦子,從而也不斷地超越自我,讓自己的知識(shí)能夠得到不斷地完善;同時(shí)更重要的是,在這一設(shè)計(jì)過程當(dāng)中,讓我懂得了在學(xué)習(xí)的道路上會(huì)遇到很多的阻礙,但關(guān)鍵的是能做到堅(jiān)持不懈,不輕易放棄;最終達(dá)到自己想要的目標(biāo)。單片機(jī)的學(xué)習(xí)對(duì)于我們專業(yè)來說非常的重要,通過本次設(shè)計(jì)也讓我更加清晰了對(duì)專業(yè)的了解,理論知識(shí)再豐富,沒有實(shí)際的操作經(jīng)驗(yàn)也是不行的;本次設(shè)計(jì)也運(yùn)用到了keil和 proteus仿真軟件,由于之前沒有學(xué)過該仿真軟件,所以在操作的過程中遇到了很多困難,但慶幸的是通過不斷的學(xué)習(xí),對(duì)keil和proteus軟件也有了很大的了解,也學(xué)會(huì)了一些簡(jiǎn)單的操作,所以也讓我意識(shí)到,如果你想學(xué)好,通過自己的努力就一定會(huì)學(xué)好。當(dāng)然在本次設(shè)計(jì)過程中,也遇到了很多的困難,比如很多關(guān)于單片機(jī)的基礎(chǔ)知識(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合伙企業(yè)策劃干股加入?yún)f(xié)議書格式
- 2025年典范個(gè)人土地交易合同模板
- 2025年雙方自愿離婚協(xié)議書模板(兩個(gè)孩子)
- 2025年化工公司員工合同書
- 2025年企業(yè)園區(qū)租賃合同策劃樣本
- 2025年甲方與協(xié)作單位合同范文
- 2025年辦公設(shè)備維修保養(yǎng)服務(wù)合同范本
- 2025年土地使用權(quán)出讓合同樣本
- 2025年招投標(biāo)流程中合同風(fēng)險(xiǎn)防范與控制實(shí)踐
- 2025年供應(yīng)鏈協(xié)作協(xié)議樣本
- 包裝材料及紙制品生產(chǎn)建設(shè)項(xiàng)目可行性實(shí)施報(bào)告
- 財(cái)務(wù)收支月報(bào)表excel模板
- 國(guó)標(biāo)充電協(xié)議報(bào)文整理
- 水餃類產(chǎn)品質(zhì)量檢驗(yàn)作業(yè)指導(dǎo)書
- 電力變壓器計(jì)算單
- 紅外測(cè)溫培訓(xùn)
- 新型城市化建設(shè)中城鄉(xiāng)結(jié)合部存在的問題及解決方案
- 質(zhì)性研究(陳向明)PPT精選文檔
- 市政小三線施工方案(共22頁)
- 靜壓樁機(jī)、鉆孔灌注樁、沉槽機(jī)CAD圖形
- 野外土名描述實(shí)例
評(píng)論
0/150
提交評(píng)論