freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)控制交通燈的案例-文庫(kù)吧

2024-11-09 17:12 本頁(yè)面


【正文】 中斷信號(hào)并反饋給INT0接口進(jìn)行中斷處理。第二章 硬件設(shè)計(jì) 如圖21所示 此處要有文字說(shuō)明圖21設(shè)計(jì)框圖AT89C51是一種帶4K字節(jié)LASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51片引腳圖如下圖22所示。圖22 AT89C51片引腳圖主要特性:與MCS51 兼容4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz24MHz 三級(jí)程序存儲(chǔ)器鎖定 1288位內(nèi)部RAM 32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路 硬件電路圖通過(guò)Proteus 仿真之后如圖23所示,其中: 按鈕K0連接P2^0端口實(shí)現(xiàn)紅燈全亮,處理交通意外 按鈕K1連接P2^1端口實(shí)現(xiàn)南北方向亮燈時(shí)間+1s 按鈕K2連接P2^2端口實(shí)現(xiàn)南北方向亮燈時(shí)間1s 按鈕K3連接P2^3端口實(shí)現(xiàn)東西方向亮燈時(shí)間+1s 按鈕K4連接P2^4端口實(shí)現(xiàn)東西方向亮燈時(shí)間1s圖23整體連接電路原理圖第三章 軟件設(shè)計(jì) void Display(uchar j)//j控制顯示table中連續(xù)位的起始點(diǎn) { char h,l。if(j{h=Time_EW/10。//EW通行時(shí)間十位l=Time_EW%10。//EW通行時(shí)間個(gè)位} else if(jh=Time_SN/10。//SN通行時(shí)間十位l=Time_SN%10。//SN通行時(shí)間個(gè)位} for(i=0。i{P0=table1[j]。//通行狀況顯示P3=tab[i]。//位選顯示i++。j++。if(i%2)//兩位計(jì)時(shí)顯示{P1=table[l]。Delay(400)。}else{P1=table[h]。Delay(400)。} } Delay(5)。} INT0外部中斷服務(wù)程序void EXINT0(void)interrupt 0//INT0外部中斷 { EX0=0。//關(guān)中斷if(Busy_Button==0){P0=0xFE。//意外按鈕按下全顯示紅燈for(。Busy_Button!=1。)//意外按鈕彈起時(shí)恢復(fù)之前狀態(tài)Display(24)。} /*四個(gè)時(shí)間控制按鈕分別控制SN、EW方向初始通行時(shí)間加減,最長(zhǎng)不超過(guò)s,最少不低于s*/ if(SN_Add==0)//SN+1 {SN1+=1。if(SN199)SN1=99。} if(SN_Red==0)//SN1 {SN1=1。if(SN1SN1=20。} if(EW_Add==0)//EW+1 {EW1+=1。if(EW199)EW1=99。} if(EW_Red==0)//EW1 {EW1=1。if(EW1EW1=20。} EX0=1。//開(kāi)中斷 } void Delay(uchar a)//循環(huán)a次 { uchar x。x=a。while(x){。} } define uchar unsigned char include uchar code table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}。uchar code table1[28]={0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF,0xF E, 0xFE,0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF, 0xFE,0xFE,0xFE,0xFE}。uchar code tab[4]={0x1E,0x2D,0x4E,0x8D}。uchar EW=30,SN=30,EW1=30,SN1=30。uchar count。uchar i,j。sbit Busy_Button=P2^0。sbit SN_Add=P2^1。sbit SN_Red=P2^2。sbit EW_Add=P2^3。sbit EW_Red=P2^4。char Time_EW。char Time_SN。void Delay(uchar a){uchar x。x=a。while(x){。} } void Display(uchar j){ char h,l。if(jh=Time_EW/10。l=Time_EW%10。} else if(jh=Time_SN/10。l=Time_SN%10。} for(i=0。iP0=table1[j]。P3=tab[i]。i++。j++。if(i%2){P1=table[l]。Delay(400)。}else{P1=table[h]。Delay(400)。} } Delay(5)。} void EXINT0(void)interrupt 0 { EX0=0。if(Busy_Button==0){P0=0xFE。for(。Busy_Button!=1。)Display(24)。} if(SN_Add==0){SN1+=1。if(SN199)SN1=99。} if(SN_Red==0){SN1=1。if(SN1SN1=20。} if(EW_Add==0){EW1+=1。if(EW199)EW1=99。} if(EW_Red==0){EW1=1。if(EW1EW1=20。} EX0=1。} void timer0(void)interrupt 1 using 1 { TH0=0x3C。TL0=0xB0。count++。if(count==20){Time_EW。Time_SN。count=0。} } 第四章 仿真結(jié)果及其總結(jié)圖41正常狀態(tài)圖42黃燈狀態(tài)圖43 緊急狀態(tài)圖44延長(zhǎng)通行時(shí)間通過(guò)這次交通燈的課程設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決現(xiàn)實(shí)問(wèn)題的能力。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用學(xué)習(xí)過(guò)程中,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更深層次的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問(wèn)題,我通過(guò)查閱相關(guān)書(shū)籍、資料以及和周?chē)瑢W(xué)交流得到解決。通過(guò)這次交通燈的課程設(shè)計(jì),使我了解了寫(xiě)畢業(yè)設(shè)計(jì)的流程和方法。為自己以后的畢業(yè)論文的設(shè)計(jì)做一次練習(xí),具有積極的意義。還有交通燈是我們生活中非常常見(jiàn)的一種東西,對(duì)于我們學(xué)以致用的這種能力得到了很好鍛煉,能夠?yàn)槲覀円院蟮墓ぷ饔趯W(xué)習(xí)打下基礎(chǔ)。由于本人的水平有限,設(shè)計(jì)中難免會(huì)有一些不合理的部分,系統(tǒng)的穩(wěn)定性還有待提高,望批評(píng)更正。第四篇:?jiǎn)纹瑱C(jī)交通燈控制程序include define uchar unsigned char define uint unsigned int uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40 }。//*************digit display port******* sbit led_w1=P1^1。sbit led_w2=P1^0。sbit led_w3=P1^3。sbit led_w4=P1^2。//*****define led port ********** sbit R1=P2^4。//east and west red led sbit Y1=P2^3。//east and west yellow led sbit G1=P2^2。//east and west green led sbit R2=P2^5。//south and north red led sbit Y2=P2^6。//south and north yellow led sbit G2=P2^7。//south and north green led//*********define key************** sbit k0=P3^0。//emergency sbit k1=P3^1。//east and west pass sbit k2=P3^2。//south and north pass sbit k3=P3^3。//start and subtract 1 sbit k4=P3^4。//pause and add 1 sbit k5=P3^5。//set time//*********define variable********* bit flag,flag_t。uchar dx_time,nb_time。uchar t,pass_time,t1,y_time。uchar k0num,k1num,k2num,k3num,k4num,k5num。//*********define key******** void delay(uint i){ uint x,y。for(x=i。x0。x)for(y=110。y0。y)。} void timer0_init(){ TMOD=0x11。TH0=(6553650000)/256。TL0=(6553650000)%256。TH1=(6553650000)/256。TL1=(6553650000)%256。EA=1。ET0=1。ET1=1。}void led_display(uchar dx,nb){ uchar dx1,dx2,nb1,nb2。dx2=dx/10。dx1=dx%10。nb2=nb/10。nb1=nb%10。if(dx99){led_w1=1。led_w2=1。} else {led_w1=0。P0=table[dx1]。delay(5)。led_w1=1。if(dx0)led_w2=1。else{led_w2=0。P0=table[dx2]。delay(5)。led_w2=1。} } if(nb99){led_w3=1。led_w4=1。} else {led_w3=0。P0=table[n
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1