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

正文內容

隧道led誘導標志控制器畢業(yè)論文-資料下載頁

2025-06-28 17:19本頁面
  

【正文】 很多幫助。如果沒有他們的耐心幫助,此次設計將變得非常困難。 然后,我要感謝大學四年我所有的任課老師,他們在我這幾年專業(yè)知識的學習過程中付出了辛勤的汗水,也給過我很多關于人生和未來規(guī)劃方面寶貴的建議。同時,還要感謝所有的同學們,正是因為有了你們的支持、幫助和鼓勵,我才會順利完成這次畢業(yè)設計。 最后,感謝我的母?!砉ご髮W四年來對我的大力栽培。 附錄1: 程序代碼一、主程序代碼includeinclude define RS485_INIT( ) (DDRD|=(12)) //初始化RS485勢能控制 define RS485_TXEN( ) (PORTD|=(12)) //設置RS485為接收狀態(tài) define RS485_RXEN( ) (PORTDamp。=~(12)) define fosc 8000000 define baud 19200unsigned char count。//定義變量countuint uart_getchar(uchar mode)//RS485通信程序{ if(mode) { while(!(UCSRAamp。(1RXC)))。 return((0x0000+UDR)4)。 } else { if(UCSRAamp。(1RXC)) { return(0xff00+UDDR)。 } else { return(0x0000)。 } }}void tim0_init()//定時器0初始化{ TCCR0=0X02。 TCNT0=56。 TIMSK=0X05。 }void init_devices()//單片機系統(tǒng)初始化{ CLI()。 port_inti()。 tim0_init()。 MCUCR=0X00。 SEI()。}pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF//定時器0溢出中斷void timer0_ovf_isr(){ TCNT0=56。//T0初始化 count++。 }void port_inti()//端口初始化{ DDRA=0X3F。 PORTA=0XBF。 DDRB=0XF0。 PORTB=0XFF。 DDRC=0XF0。 PORTC=0XFC。 DDRD=0X1E。 PORTD=0XFF。}void uart_init()//串口初始化{ UCSRB=(1 RXEN) | (1 TXEN)。 UBRRL=(fosc/16/uartbaud 1)%256。 UBRRH=(fosc/16/uartbaud 1)/256。 UCSRC=(1 URSEL) | (1 UCSZ1) | (1UCSZ0)。}void main(){ unsigned autotemp,get1,sdtemp。//定義手自動狀態(tài) unsigned char pb,state,miao,state2。 //定義時間單位miao, init_devices()。 //調用單片機系統(tǒng)初始化函數(shù) uart_init()。 //調用串口初始化函數(shù) RS485_INIT ( )。 //初始化RS485勢能控制 RS485_TXEN ( )。 //設置RS485為接收狀態(tài) while(1) //單片機循環(huán)工作 { RS485RXEN( )。 // if(count==5)//如果光強采樣周期到 { count==0。 //定時滿1秒變量miao自加1 miao++。 if(miao==60) //計時滿1分 { miao=0。 //鐘秒清零 if(PINA|0XBF==0XBFF)//如果光強處于自動控制,啟動自動PWM模式 { autotemp=uint getlux( )。 //調用函數(shù)獲得光照強度 OCR1B=autotemp。 //將光照強度送給端口OCR1B } } } get1=uart_getchar(0)。//檢測上位機發(fā)送的數(shù)據 switch (get1)//根據接收的數(shù)據控制指示燈不同顯示 { case 1:PORTA=PORTA|BIT(PA0)amp。(~BIT(PA1))amp。(~BIT(PA2))。break。 case 2:PORTA=PORTA|BIT(PA1)amp。(~BIT(PA0))amp。(~BIT(PA2))。break。 case 3:PORTA=PORTA|BIT(PA2)amp。(~BIT(PA1))amp。(~BIT(PA0))。break。 case 4:PORTA=PORTA|BIT(PA3)amp。(~BIT(PA4))amp。(~BIT(PA5))。break。 case 5:PORTA=PORTA|BIT(PA4)amp。(~BIT(PA3))amp。(~BIT(PA5))。break。 case 6:PORTA=PORTA|BIT(PA5)amp。(~BIT(PA3))amp。(~BIT(PA4))。break。 } if((PINAamp。0X40)==0X40)//如果光強檢測處于手動控制,采用手動PWM { sdtemp=uint key()。 //手動調節(jié)PWM占空比 OCR1B=sdtemp。 //將手動的光照強度送給端口OCR1B } pb=PINBamp。0X0F。 switch (pb) //如果交通燈處于手動控制下,根據手動輸入顯示 { case 0x00:PORTA=PORTA|BIT(0)|BIT(3)amp。(~BIT(1))amp。(~BIT(2))amp。(~BIT(4))amp。(~BIT(5))。break。 case 0x01:PORTA=PORTA|BIT(0)|BIT(4)amp。(~BIT(1))amp。(~BIT(2))amp。(~BIT(3))amp。(~BIT(5))。break。 case 0x02:PORTA=PORTA|BIT(0)|BIT(5)amp。(~BIT(1))amp。(~BIT(2))amp。(~BIT(4))amp。(~BIT(3))。break。 case 0x04:PORTA=PORTA|BIT(1)|BIT(3)amp。(~BIT(0))amp。(~BIT(2))amp。(~BIT(4))amp。(~BIT(5))。break。 case 0x05:PORTA=PORTA|BIT(1)|BIT(4)amp。(~BIT(0))amp。(~BIT(2))amp。(~BIT(3))amp。(~BIT(5))。break。 case 0x06:PORTA=PORTA|BIT(1)|BIT(5)amp。(~BIT(0))amp。(~BIT(2))amp。(~BIT(3))amp。(~BIT(4))。break。 case 0x08:PORTA=PORTA|BIT(2)|BIT(3)amp。(~BIT(0))amp。(~BIT(1))amp。(~BIT(4))amp。(~BIT(5))。break。 case 0x09:PORTA=PORTA|BIT(2)|BIT(4)amp。(~BIT(0))amp。(~BIT(1))amp。(~BIT(3))amp。(~BIT(5))。break。 case 0x0a:PORTA=PORTA|BIT(2)|BIT(5)amp。(~BIT(0))amp。(~BIT(1))amp。(~BIT(4))amp。(~BIT(3))。break。 } state=PINAamp。0X3F。 //根據顯示的不同符號,繼電器輸出不同信號 switch (state) { case 0x09:PORTC=PORTCamp。(~BIT(4))amp。(~BIT(5))amp。(~BIT(6))amp。(~BIT(7))。break。 case 0x11:PORTC=PORTC|BIT(4)amp。(~BIT(5))amp。(~BIT(6))amp。(~BIT(7))。break。 case 0x21:PORTC=PORTCamp。(~BIT(4))|~BIT(5)amp。(~BIT(6))amp。(~BIT(7))。break。 case 0x0a:PORTC=PORTCamp。(~BIT(4))amp。(~BIT(5))|BIT(6)amp。(~BIT(7))。break。 case 0x12:PORTC=PORTC|BIT(4)amp。(~BIT(5))|BIT(6)amp。(~BIT(7))。break。 case 0x22:PORTC=PORTCamp。(~BIT(4))|BIT(5)|BIT(6)amp。(~BIT(7))。break。 case 0x0c:PORTC=PORTCamp。(~BIT(4))amp。(~BIT(5))amp。(~BIT(6))|BIT(7)。break。 case 0x14:PORTC=PORTC|BIT(4)amp。(~BIT(5))amp。(~BIT(6))|BIT(7)。break。 case 0x24:PORTC=PORTCamp。(~BIT(4))|BIT(5)amp。(~BIT(6))|BIT(7)。break。 } state2=0。 state2=state2|PIND|(PINAamp。BIT(PA7))。 // switch (state2) //檢測撥碼開關狀態(tài) { case 0x00:break。 case 0x01:break。 case 0x02:break。 case 0x03:break。 case 0x04:break。 case 0x05:break。 case 0x06:break。 case 0x07:break。 case 0x08:break。 case 0x09:break。 case 0x0a:break。 case 0x0b:break。 case 0x0c:break。 case 0x0d:break。 case 0x0e:break。 case 0x0f:break。 } } 各段子程序1. RS485程序代碼:ifndef __485_C__define __485_C__ include define unsigned char uchardefine unsigned int uint/* 通信命令 */define __ACTIVE_ 0x01 // 主機詢問從機是否存在define __GETDATA_ 0x02 // 主機發(fā)送讀設備請求define __OK_ 0x03 // 從機應答define __STATUS_ 0x04 // 從機發(fā)送設備狀態(tài)信息define __MAXSIZE 0x08 // 緩沖區(qū)長度define __ERRLEN 12 // 任何通信幀長度超過12則表示出錯uchar dbuf[__MAXSIZE]。 // 該緩沖區(qū)用于保存設備狀態(tài)信息uchar dev。 // 該字節(jié)用于保存本機設備號sbit M_DE = P1^0。 // 驅動器使能,1有效sbit M_RE = P1^1。 // 接收器使能,0有效void get_status()。 // 調用該函數(shù)獲得設備狀態(tài)信息,函數(shù)代碼未給出void send_data(uchar type, uchar len, uchar *buf)。 // 發(fā)送數(shù)據幀bit recv_cmd(uchar *type)。 // 接收主機命令,主機請求僅包含命令信息void send_byte(uchar da)。 // 該函數(shù)發(fā)送一幀數(shù)據中的一個字節(jié),由send_data()函數(shù)調用void main(){uchar type。uchar len。/* 系統(tǒng)初始化 */P1 = 0xff。 // 讀取本機設備號dev = (P12)。TMOD = 0x20。 // 定時器T1使用工作方式2TH1 = // 設置初值TL1 = TR1 = 1。 // 開始計時PCON = 0x80。 // SMOD = 1SCON = 0x50。 // 工作方式1,波特率9600bps,允許接收ES = 0。 // 關閉串口中斷IT0 = 0。 // 外部中斷0使用電平觸發(fā)模式EX0 = 1。 // 開啟外部中斷0EA = 1。 // 開啟中斷/* 主程序流程 */wh
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1