




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、單片機課程設計題目:自動滾動廣告牌所在院系:機電汽車工程學院專業(yè):機101-4班 學號:姓名: 完成日期:指導教師:一、課程設計任務書二、設計項目簡介(一)設計思路(-)任務分工三、設計過程目錄(一)電路原理圖及各器件原理介紹(二)程序模塊J、程序框圖五、程序清單六、系統(tǒng)功能簡介(-)產(chǎn)品的功能簡介(二)產(chǎn)品使用方法(三)產(chǎn)品性能簡介七、產(chǎn)品說明書八、總結一、課程設計任務書基于單片機的自動滾動廣告牌的設計廣告牌有四張宣傳彩頁,卷入一卷軸,依次來回顯示每一頁, 每一頁顯示的時間相同。本設計以MCS-51系列單片機為核心, 采用常用電子器件設計,自行設計電源。設計廣告彩頁的顯示時間長度,忖間一到就
2、用直流電動機旋 轉控制彩頁切換,用一臺直流電動機控制廣告彩頁的旋轉(正轉 /反轉)。用一個光敏電阻傳感器測量光強度,當光線較暗的時候啟動 背景燈。設置三個按鍵:手動/自動切換、手動正轉和手動反轉,用一 個發(fā)光二極管顯示手動/自動狀態(tài)。設置若干個位置控制行程開關,設置彩頁的顯示位置。按鍵輸入采用中斷方式。二、設計項目簡介設計思路(1)選用ATMEL公司的AT89c51單片機。 與MCS51兼容 4K字節(jié)可編程FLASH存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)匚作:0Hz24MHz 三級程序存儲器鎖定 128x8位內(nèi)部RAM 32可編程I/O線 兩個16位定時器/計數(shù)器 5個
3、中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路(2)通過I/O 口直接控制廣告彩頁的切換,通過程序實現(xiàn)顯示延時, 通過debug確定準確延時時間長度。(3)通過掃描按鍵實現(xiàn)監(jiān)測自動與手動、正轉與反轉按鍵狀態(tài)。 由于選用單片機沒有足夠的外部中斷,且掃描按鍵的方法更加簡潔, 故此處違背了設計任務書,希望可以得到諒解。(4)利用比較器設計光感電路(仿真中使用電位器模擬光敏電阻), 提供光線信號。通過I/O 口輸出信號,控制背景燈驅動器(仿真中使 用74HC573驅動一拍黃色LED小燈模擬),進而控制背景燈開關。(5)利用L298驅動器驅動直流電機,通過I/O 口信號控制L298
4、 輸出信號,進而控制電機正轉,反轉及停轉的狀態(tài)。(6 )通過I/O 口信號直接控制“手動/自動”狀態(tài)顯示指示燈亮滅.(7)使用四個行程開關(仿真中使用按鍵模擬)在自動狀態(tài)下控 制電機正轉,反轉及停轉。通過掃描按鍵的方式實現(xiàn)監(jiān)測行程開關狀 態(tài)。(8)設計外部晶振及復位電路。(9)由于以上任務較簡單,較早完成了任務,經(jīng)過組內(nèi)商議,為 挑戰(zhàn)一下自己,決定添加溫度檢測并顯示的功能。通過DS18b20芯片 完成溫度檢測,A/D轉換,使用串口通信單片機將檢測的溫度讀取, 經(jīng)數(shù)據(jù)轉換,并通過I/O 口顯示在四位共陰極數(shù)碼管上。任務分工分四個工段:獨立模塊功能單獨設計電路、程序,仿真;各模塊整合,調(diào)試,仿真;
5、修整,優(yōu)化,添加擴展及附加功能;整理產(chǎn)品說明書、課程報告及其他材料。分三個小組:任務分工表:第一小組工段一第二小組第三小組按鍵模塊行程開關監(jiān)測光感模塊電機驅動模塊自動展示程序背景燈模塊電路原理圖程序整合提前整理產(chǎn)品工段二仿真電路圖程序調(diào)試說明書添加擴展及附修整,優(yōu)化整理產(chǎn)品說明匚段三加功能書,確定初稿工段四修正產(chǎn)品說明書,整理課程報告及其他材料。三、設計過程電路原理圖及各器件原理介紹(1)整體電路圖展示自動滾動廣告牌仿真電路AT89c51單片機ts行程開關楂擬按鍵RP23o9SS8Si“yam *rgF* Q”, 7gk n n uuUft “trsn數(shù)碼管溫度顯示控制按位工(2)各模塊原理介
6、紹L光感比較電路,一直流電機驅動DS18b20溫度傳感器二一3R螞+%光線越強RV1越小,U3越小,當小到一定值(設定5KQ)U3<U2o通過比較器比較U2、U3,U3VU2時輸出0,控制背景燈美,U3>U2時輸出1,控制背景燈開。2.DS18b20溫度傳感器DS18b20溫度傳感器DS1820數(shù)字溫度計提供9位(二進制)溫度讀數(shù),指示器件的溫度。 信息經(jīng)過單線接口送入DS1820或從DS1820送出,因此從主機CPU到 DS1820僅需一條線(和地線),DS1820的電源可以由數(shù)據(jù)線本身提供而 不需要外部電源。DS1820的測量范圍從-55到+125增量值為0.5可在1 s(典型
7、值)內(nèi)把溫度變換成數(shù)字。每一個DS1820包括一個唯一的64位長的序號,該序號值存放在 DS1820內(nèi)部的ROM(只讀存貯器)中,開始8位是產(chǎn)品類型編碼(DS1820 編碼均為10H)接著的48位是每個器件唯一的序號,最后8位是前面56 位的CRC(循環(huán)冗余校驗)碼DS1820中還有用于貯存測得的溫度值的兩 個8位存貯器RAM,編號為0號和1號,1號存貯器存放溫度值的符號如 果溫度為負,則1號存貯器8位全為1,否則全為0, 0號存貯器用于存 放溫度值的補碼LSB(最低位)的1表示0.5攝氏度,將存貯器中的二進制 數(shù)求補再轉換成十進制數(shù),并除以2就得到被測溫度值(55125攝氏 度)。3.L29
8、8芯片驅動電機直流電機驅動L298N為SGSTHOMSON Microelectronics所出產(chǎn)的雙全橋步進 電機專用驅動芯片(DualFull-BiidgeDiivei),內(nèi)部包含4信道邏輯驅 動電路,可同時驅動2個減速直流電機,內(nèi)含二個HBHdge的高電壓、 大電流雙全橋式驅動器,接收標準TTL邏輯準位信號,可驅動46V、 2A以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片 可直接由單片機的IO端口來提供模擬時序信號,控制轉速。OUT1、 OUT2和OUT3、OUT4之間分別接2個電機;inputlinput4輸入控制 電位來控制電機的正反轉;Enable則控制電機停轉。4 .
9、四位共陰極數(shù)碼管的驅動8588388K Slo3管溫度顯示74HC573芯片驅動數(shù)碼管顯示接口,通過單片機I/O接口直接控制數(shù)碼管位選。共陰極數(shù)碼管真值表進制0x3f0x060x5b0x4f0x660x6d0x7d0x070x7 f0x6f0x000x40顯小符號01o3456789空74HC573為八進制3態(tài)非反轉透明鎖存器,輸入是和標準CMOS 輸出兼容的;加上拉電阻,他們能和LS/ALSTTL輸出兼容。當鎖存 使能端LE為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸 出同步)。當鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。5 .獨立按鍵模塊行程開關模擬按鍵1115X4按鍵一
10、端接地,另一端與單片機I/O 口相連并外接上拉電阻。按鍵 按下時I/O 口由高電位轉為低點位,經(jīng)單片機讀取引腳信號,將按鍵 狀態(tài)輸入。C130pF30pFX1'6 .外部品振電路U1口 CR”XTAL251單片機kxTALI單片機內(nèi)部有一個用于構成振蕩器的高增益反向放大器,引腳XTAL1為輸入端,XTAL2為輸出端。兩個引腳間跨接晶體振蕩器與 微調(diào)電容組成并聯(lián)諧振電路,構成一個自激振蕩器為內(nèi)部時鐘提供振 蕩時鐘。振蕩期的頻率主要取決于晶體的振蕩頻率,一般晶體可在1.2MHz12MHz之間任選。電容Cl, C2通常取30pF左右。7.復位電路51系列單片機系統(tǒng)通常有上電復位和按鍵復位兩種
11、方式。最簡單 的一種上電復位及按鍵復位電路圖如上圖所示。上電后,由于電容充 電,使RST持續(xù)一段時間的高電平,完成復位操作;當單片機處于運行中或者死鎖時,按下“復位”按鈕,也可以使單片機進入復位狀態(tài)。程序模塊1.數(shù)碼管動態(tài)掃描函數(shù)voidrefreshJedO P2=Disp_TabaO,Pl=dispbitO,Pl=Oxff, 每個數(shù)碼管按負值、打開、關閉的順序P2=Disp_Tabal,Pl=dispbitl,Pl=Oxff,P2=Disp_Taba2 |0x80,Pl=dispbit2,Pl=0xff,P2=Disp_Taba3,Pl=dispbit3,Pl=Oxff,)每個數(shù)碼管依次按
12、負值、打開、關閉的順序受控,從而實現(xiàn)動態(tài)掃描。2.溫度轉換模塊程序 voidstart_temp_sensor(void) DS18b20_reset0» wnte_byte(OxC C), wnteJ)yte(0x44), )/發(fā)Skip ROM命令/發(fā)轉換命令/讀存溫度 voidread_tempO uint8 temp_data2, uintl6 tenip=O,c, doublevzd,/讀出溫度暫放start_temp_sensor(), delay_ms(100), DS18b20_reset(), wnte_byte(OxC C),/復位/發(fā)Skip RDM命令wnte
13、_byte(OxBE)t / 發(fā)讀命令temp _data 0=i*ea d_byte。, temp_datal mead_byteO, temp = temp_data 1 , temp«= 8,temp |=temp_dataO, if (temp_data 1 &0xf0)(temp=(temp)+1, wd=temp*0 0625,溫度低8位溫度高8位一下三步將溫度高八位低八位整合判斷溫度是否為負為負時,取反加一轉為攝氏溫度,0 0625為溫感芯片儲存精度aO=ll, else (wd=temp*O 0625, a0=10, c=wd, a2=c%10, al=c/l
14、(B410, c=wd*10, a3=c%10» )3 .背景燈控制模塊程序voidbeijingdeng 0 if(ggxh) led_bjd=l;else led_bjd=O;為負時,第一個數(shù)碼管顯示負號為正時,第一個數(shù)碼管不顯示將攝氏溫度轉為整型第三個數(shù)碼管顯示個位第二個數(shù)碼管顯示十位第四個數(shù)碼管顯示小數(shù)位光感信號為高電平時,背景燈控制引腳輸出高電平,控制背景燈關;光感信號為低電平時,背景燈控制引腳輸出低電平,控制背景燈亮。4 .自動控制模塊程序voidzidong 0led_zs=0,點亮自動/手動指示燈while(l)(if判斷電機正反轉狀態(tài),并控制電機正反轉(dj_zz=
15、l,dj_fk=O,) else(dj_zz=0,dj_£z=l, )if(kgl=O)監(jiān)測行程開關1狀態(tài)dj_zz=0,關閉電機并延時dj_fz=O, delay_ms(l 00), H read_tempO» ) if(kg2=0) (dj_zz=O, dj_fz=0, delayjns(lOO), read_tempO, )if (kg3=0) dj_zz=O, dj_fz=O, delayjns(lOO), read_teinpO> )if (kg4=0) (dj_zz=O, dj_fz=O,delay jns(l 00), j, readempO, )bei
16、jnigdeng 0> refresh_ledO> if(aj_qh=O) (dj_zz=O, dj_fz=O, break,)控制電機下次啟動換向讀存溫度信息監(jiān)測行程開關2狀態(tài)監(jiān)測行程開關3狀態(tài)監(jiān)測行程開關4狀態(tài)控制電機卜次啟動換向調(diào)入背景燈控制函數(shù),監(jiān)測感光信號顯小溫度信息監(jiān)測自動/手動切換按鍵狀態(tài)監(jiān)測到切換到手動狀態(tài)時,電機停轉跳出自動控制循環(huán),進入主函數(shù)自動控制狀態(tài)下,手動/自動指示燈控制引腳輸出為低電平,指示燈亮;判斷電機正反轉狀態(tài),并控制電機正反轉;監(jiān)測行程開關1狀態(tài),若為低電平,則關閉電機,延時并控制電機下次啟動換向:若為高電平,則不變。然后讀存溫度信息并依次監(jiān)測行程
17、開關2、3狀態(tài),若為低電平,則關閉電機,延時并讀存溫度信息。然后監(jiān)測行程開關4狀態(tài),若為低電平,則關閉電機,延時并控制電機卜.次啟動換向。最后監(jiān)測自動/手動切換一按鍵狀態(tài),若為低電平,則電機停轉,跳出自動控制void shoudong 0led_zs=l>while (1) if(aj_zz=O)(dj_zz=O,if(aj_fz=O) dj_zz=l;dj_fz=O,)if(aj_fz=l &&aj_zz=l) (dj_zz=O,dj_fz=O,)if(aj_qh=l)(break, ) refresh_ledO; beijuigdeng 0,循環(huán),進入主函數(shù)。5 .手
18、動控制模塊程序手動控制子函數(shù)關閉自動/尸動指示燈按卜.正轉按鍵時,電機正轉按卜.反轉按鍵時,電機反轉無按鍵按下,電機停轉監(jiān)測自動/手動切換按鍵狀態(tài)監(jiān)測到切換到白動狀態(tài)時,跳出手動控制循環(huán)進入主函數(shù)顯示溫度信息調(diào)入背景燈控制函數(shù),監(jiān)測感光信號手動控制狀態(tài)下,手動/自動指示燈控制引腳輸出為高電平,指示燈滅;若按下正轉按鍵,則L298芯片OUT1輸出+12V, OUT2輸出0V,電機正轉;若按下反轉按鍵,則L298芯片OUT1輸出0V, OUT2 輸出+12V,電機反轉;若無按鍵按下,則L298芯片OUT1輸出 0VQUT2輸出0V,電機停轉。6 .主程序模塊程序mainO ( while(l) (
19、 if(aj_qh=O)監(jiān)測自動/手動切換按鍵狀態(tài),并控制進入相應子函數(shù)shoudongO,)elsezidongO,)若自動/手動切換按鍵按下時,控制引腳輸出為低電平,電機狀態(tài)為 手動控制;若自動/手動切換按鍵無按下時,控制引腳輸出為高電平, 電機狀態(tài)為自動控制。I、程序框圖結束_nop_(void); char urntS, int iuntl6v longmnt32.五、程序清單include <reg52 h> extern void typedef unsigned typedef unsigned typedef unsigned typedef char intS,
20、typedefint mtl6.code umt8 Disp_Tab =0x3f;0x06,0x5b,0x4C0x66,0x6d.0x7d.0x07,0x7f:0x60x00.0x40)tcode uintS dispbit4 =(0xfe,0xfd,0xfb,0xf7)>數(shù)碼管位選控制變鼠uintS a4,數(shù)碼管顯示控制變量uintS 1=0,電機正反轉控制變量#define nops。,(_nop_0, _nop_0, _nop_0, _nop_0J 定義空指令,調(diào)整控制溫感驅動時序sbitdj_zz = P3A0t sbitdj_fz = P3A1.sbitled_bjd = P3
21、A2; sbitled_zs= P3A3, sbit DQ =P3A6. sbitggxh = P3A7t sbit kgl = PON), sbit kg2 = P0Al, sbit kg3 = P0A2;sbit kg4 = P0A3» sbita)_fz = PON;sbit 司 _zz = P0A5, sbit 司 _qh = P0A6.定義電機正反轉控制引腳定義背景燈控制引腳定義指示燈控制引腳溫度輸入口定義感光信號引腳定義行程開關1信號引腳定義行程開關2信號引腳定義行程開關3信號引腳定義行程開關4信號引腳定義電訊正反轉J安鍵信號引腳定義自動/手動切換按鍵信號引腳/“數(shù)碼管動
22、態(tài)掃描函數(shù)/ voidrefireshedO(P2=Disp_Taba0>Pl=dispbit0,Pl=0xff,P2=Disp_Tabal,Pl=dispbitl,Pl=0xff,P2=Disp_Taba2|0x80,Pl=dispbit2.Pl=Oxff.P2=Disp_Taba3,Pl =dispbit(3.Pl =0xfft)旬個數(shù)碼管按負值、打開、關閉的順序/*兩個延時函數(shù)*/void delay(uintld n)while (n-)»voiddelay_ms(uintl6 n) (uintS m=120twhile (n-)while (m-) refreshJe
23、dQ.)刷新顯示溫度信息/* 18B20復位函數(shù)*/ void DS 18b20_reset(void) (bit flag=l, while (flag) (while (flag) (DQ=1. delay(l),DQ = 0, delay(50);DQ=1. delay(6), flag=DQ, ) delay(45), flag =DQ, ) DQ=1, )/* 18B20寫1個字節(jié)函數(shù)/ voidwnte_byte(uint8 val) (uintSi, for (i=0, i<8, i*+) (DQ=1; _nop_0,DQ = 0; nopsQ. /4us DQ = val
24、cfc 0x01, delay , val>>= 1,延時550us延時66us延時500us最低位移出延時66us右移一位)DQ=1; delay(l);/* 18B20讀1個字節(jié)函數(shù)/ uintS read_byte(void) (umtSi, value=O, for (i=0, i<8, i*+) (DQ=1, 一口叩_0, value»= 1.DQ = 0;nopsQ. DQ=1, nops。,1f(DQ)value|=0xS0.delay ,)DQ=1, retumCvalue),)延時4us延時4us延時6611sI*啟動溫度轉換,/voidstart
25、_t«np_sensor(void)(DS18b20_resetO.wnte_byte(0xCC).wnte_byte(0x44)t)/發(fā)Skip ROM命令/發(fā)轉換命令/*讀存溫度甲 voidread_tempO (uint8 temp_data2, uintl6 temp=0tc. doublewd./讀出溫度汽放start_temp_sensorO, delay_ms(100),DSlSb2O_resetO. wntjbyte(OxCC), wnte_byte(0xBE), / 發(fā)讀命令/復位/發(fā)Skip ROM命令temp_dataO=read_byteO, tenip _d
26、atal =re ad_byte(), tenip = temp_datal, temp«= 8;tenip |= temp_dataO» if (temp_datal&OxfD) (temp=(Temp)+l; wd=temp*0.0625, aO=ll, ) else (wd=tempa0.0625; a0=10.) c=wd. a2=c%10, al=c/10%10. c=wds10.a3=c%10, )溫度低8位溫度高8位一下三步將溫度高八位低八位整合判斷溫度是否為負為負時,取反加一軋為攝氏溫度,0.0625為溫.感芯片儲存I為負時,第一個數(shù)碼管顯示負號為正
27、時,第一個數(shù)碼管不顯示將攝氏溫度轉為整型第三個數(shù)碼管顯示個位第二個數(shù)碼管顯示十位第四個數(shù)碼管顯示小數(shù)位/*背景燈控制子函數(shù)*/voidbeijingdeng 0(if(ggxh) led_bjd=ltelse led_bjd=O,)/*l'l動控制子函數(shù)*/voidzidong 0(led_zs=0.while (lf(l)(dj_zz=ltdj_£z=O,點亮自動/手動指示燈判斷電機正反轉狀態(tài),并控制電機正反轉)elsedjzz=0.) if(kgl=O) (dj_zz=lt dj_fz=l.delay_ms(100)» i+, read_tempO. ) if(
28、kg2=0) (dj_zz=l. dj_fz=l, delay_ms(100), readJempO. ) if(kg3=0)監(jiān)測行程開關1狀態(tài)關閉電機并延時控制電機下次啟動換向讀存溫度信息監(jiān)測行程開關2狀態(tài)監(jiān)測行程開關3狀態(tài)dj_zz=l;dj_fz=l.delay_ms(100)» read_tempO.監(jiān)測行程開關4狀態(tài))if (kg4=0)dj_zz=l, dj_fz=l;delay _ms(100)»控制電機下次啟動換向readJempO.)beijingdeiig 0> refreshJedO, if(可 _qh=O)調(diào)入背景燈控制函數(shù),監(jiān)測感光信號顯示溫度信息監(jiān)測自動/手動切換按鍵狀態(tài)dj_zz=l, dj_fk=l, break.監(jiān)測到切換到手動狀態(tài)時,電機停轉跳出自動控制循環(huán),進入主函數(shù)void shoudong Q手動控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南周口市川匯區(qū)2024-2025學年高三綜合題(二)生物試題(文史類)試題含解析
- 安徽省合肥市七中、合肥十中聯(lián)考2025年高三下學期期末質(zhì)量檢測試題數(shù)學試題含解析
- 西藏林芝市廣東實驗學校2025年數(shù)學五下期末質(zhì)量跟蹤監(jiān)視試題含答案
- 蘇州托普信息職業(yè)技術學院《醫(yī)學細胞生物學實驗技術》2023-2024學年第一學期期末試卷
- 2025屆上海市上戲附中高三2月階段性測試生物試題含解析
- 南通師范高等專科學校《未來網(wǎng)絡技術》2023-2024學年第二學期期末試卷
- 北京理工大學珠海學院《建筑工程概預算及軟件應用》2023-2024學年第二學期期末試卷
- 廣東省汕頭金山中學2025年高考語文試題含解析
- 廣東省揭陽一中等重點中學2025年高三3月高考適應性調(diào)研考試語文試題含解析
- 防中暑安全教育內(nèi)容
- 消防管道清洗方案范本
- 房屋租賃合同標準版范文(4篇)
- 2025年西安印鈔有限公司招聘(16人)筆試參考題庫附帶答案詳解
- 2025年招聘會計考試試題及答案
- 4.2做自信的人 課件 2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 湖南省2023年普通高等學校對口招生考試英語試卷
- 無人機執(zhí)照考試知識考題(判斷題100個)
- 廚房工作人員培訓課件
- 2025年教科版科學五年級下冊教學計劃(含進度表)
- 地磅地磅安全操作規(guī)程
- (已壓縮)礦產(chǎn)資源儲量技術標準解讀300問-1-90
評論
0/150
提交評論