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

正文內(nèi)容

基于單片機(jī)立定跳遠(yuǎn)紅外線測(cè)距系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2025-06-27 20:51本頁(yè)面
  

【正文】 / Author Name :// Last modify time: 2007620 15:18:53// Target IC : M16// Crystal : /******************************************************************//******************** 頭文件引用 ********************************/include include /************* 定義引申變量類(lèi)型************************* *********/define uchar unsigned chardefine uint unsigned int /******************** 系統(tǒng)常量定義 ******************************/……………………………………………………………………………………./********************** 定義結(jié)構(gòu)體 ******************************/……………………………………………………………………………………./******************* 定義全局變量 *******************************/……………………………………………………………………………………/******************* 定義函數(shù)************************************/…………………………………………………………………………………….void main(){ port_init s( )。uart0_init( )。LEDSCAN( )。ad_handler( )。ADMUX=0x00。 //選擇第0通道 ADCSR=0x86。 //采用單次轉(zhuǎn)換模式,64分頻 ADCSR |=BIT(ADSC)。 //啟動(dòng)一次啞轉(zhuǎn)換SREG=0x80。 //開(kāi)中斷ADCSR |=BIT(ADSC)。 //啟動(dòng)一次轉(zhuǎn)換keyint()。DDRBamp。=~BIT(PB0)。 //設(shè)置鍵盤(pán)輸入,無(wú)上拉DDRBamp。=~BIT(PB1)。DDRBamp。=~BIT(PB2)。GIMSK=0x40。 //開(kāi)外部中斷0MCUCR=0x30。 //設(shè)置上升中斷觸發(fā)SREG=0x80。 //開(kāi)中斷while(1) //等待中斷{ KEYPRESSED ( )。WDR( )。}}/************************** 端口初始化 **************************/Void port_init(void){ //端口A DDRA = 0x07。 PORTA = 0xFF。//端口B DDRB= 0xF7。 PORTB = 0xFF。 //端口C DDRC= 0x00。 PORTC = 0xFF。 //端口D DDRD= 0x07。 PORTD= 0xFF。} /************************** 定時(shí)器/計(jì)數(shù)器初始化 *****************/void timer2_init(void){ TCCR2 = 0x00。 //停止 ASSR = 0x00。 //設(shè)置異步模式 OCR2 = 0x7D。 TCCR2 = 0x04。 //開(kāi)始}/************************** 啟動(dòng)A/D轉(zhuǎn)換*********************/pragma interrupt_handler timer2_ovf_isr:5void timer2_ovf_isr(void){ TCNT2 = 0x83。 //加載計(jì)數(shù)值 delay_counter ++。 //用于毫秒級(jí)延時(shí) pwm_ctrler( amp。l_trap, amp。r_trap )。}/*********************模擬轉(zhuǎn)換完成中斷************************/pragma interrupt_handler ad_handler:15void ad_handler(void){ addata=ADC2。PIRTB=addata。ADCSR |=BIT(ADSC)。 //啟動(dòng)下一次轉(zhuǎn)換}/******************** LED 動(dòng)態(tài)掃描顯示 **********************/ Void LEDSCAN(*disdata){ PORTA|=0X10。 //顯示第一位數(shù)據(jù) PORTC= disdata[0]。 Delay(10)。 //延時(shí)1msPORTAamp。=0X10。 //關(guān)閉第一位數(shù)據(jù)PORTA|=0X20。 //顯示第二位數(shù)據(jù) PORTC= disdata[1]。 Delay(10)。 //延時(shí)1msPORTAamp。=0X20。 //關(guān)閉第二位數(shù)據(jù)PORTA|=0X40。 //顯示第三位數(shù)據(jù) PORTC= disdata[2]。 Delay(10)。 //延時(shí)1msPORTAamp。=0X40。 //關(guān)閉第三位數(shù)據(jù)PORTA|=0X80。 //顯示第四位數(shù)據(jù) PORTC= disdata[3]。 Delay(10)。 //延時(shí)1msPORTAamp。=0X80。 //關(guān)閉第四位數(shù)據(jù)}UART初始化及收/發(fā)操作程序如下所示:/******************** 串口 初始化 ***************************///UART0 initialisation// desired baud rate: 9600// actual: baud rate:9615 (%)// char size: 8 bit// parity: Disabledvoid uart0_init(void){UCSRB = 0x00。 //設(shè)定波特率UCSRA = 0x00。UCSRC = 0x86。UBRRL = 0x00。 //設(shè)定波特率低位UBRRH = 0x00。 //設(shè)定波特率高位UCSRB = 0x98。}/******************** 串口 發(fā)送程序 ***********************/void USART_Transmit(uchar x){ while(!(USRamp。0x20)) 。 //等待數(shù)據(jù)寄存器空 UDR=x。 }/******************** 串口 接收程序 ***********************/pragma interrupt_handler uart0_rx_isr:12void uart0_rx_isr(void){ uchar mand,dataLen。 uchar i。 CLI()。 mand = UDR。 if ( mand== 0x01 ){ while( !( UCSRA amp。 BIT( RXC ) ) )。 dataLen = UDR。 for( i = 0。 i dataLen。 i ++ ){ while( !( UCSRA amp。 BIT( RXC ) ) )。 rbuf[i] = UDR。 } } SEI( )。}/******************** 鍵盤(pán)接口程序 ***************************/void delay(uchar x) // 延時(shí)子程序{ uchar j。 while((x)!=0){ for(j=0。j125。j++)。 }}uchar KEYPRESSED(void) //判斷是有按鍵按下,有鍵按下返回1,否則返回0{uchar key。key=PINB。key=key |0xf0。if(key==0xFF) return 0。else return 1。}//鍵盤(pán)掃描子程序uchar key=0。delay(10)。 //延時(shí)消抖if((KEYPRESSED())= =1) //如有鍵按下,查詢(xún)鍵值{ key=PINB。 key=key |=0xf0。 if(key= =0xf4) {key=1。}else if(key= =0xf2){ key=2。}else if(key= =0xf1){ key=3。}else{ key=0。}do{}while((KEYPRESSED( ))= =1)。 //等待鍵釋放delay(10)。 //延時(shí)消抖}return key。 //返回鍵值,如為干擾,返回20}pragma interrupt_handler keyin :2 //中斷服務(wù)程序void keyint(void){ uchar keycode。 if((KEYPRESSED(void))==1 keycode=KEYSCAN(void)。 switch(keycode){ case 1: ………. case 2 ………. }
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1