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

正文內(nèi)容

基于單片機(jī)的轉(zhuǎn)速控制器設(shè)計(jì)-資料下載頁(yè)

2025-06-27 19:48本頁(yè)面
  

【正文】 sbit P10=P1^0。uchar flag=0。/***高低電平標(biāo)志***/bit direction=0。/***方向標(biāo)志***/static uchar constant=5。//可以改變占空比/****函數(shù)聲明****/void reverse(void)。void delay(uint t)。/***定時(shí)器t0***/void time0(void) interrupt 1 using 1{ static uchar i。 i++。 /**頻率為固定的1kHz左右,只是占空比發(fā)生變化**/ if(i=constant) flag=1。 if(i=10amp。amp。iconstant) flag=2。 if(i==10) i=0。 TH0=0xff。 TL0=0xe7。}void time0_init(void){TMOD=0x01。 TH0=0xff。 TL0=0xe7。 TR0=1。 EA=0。 ET0=1。 } void init_int1() //外部中斷1初始化{IT1=1。 EX1=1。}/*******中斷,調(diào)節(jié)占空比********/void change(void) interrupt 2 using 2{ if(INT1==0) { while(!INT1)。 constant++。 if(constant==10) constant=0。 }}void reverse(void){ if(flag==1) {flag=0。 P10=0。 }if(flag==2){flag=0。P10=1。 }}void main(){ time0_init()。 init_int1()。 EA = 1。// /*************/ while(1) {reverse()。 } }//轉(zhuǎn)速測(cè)速與顯示//include include define uint unsigned intdefine uchar unsigned char/*端口命名*/sbit RS=P2^7。 //LCD的數(shù)據(jù)/命令選擇端sbit RW=P2^6。 //LCD的讀寫選擇端sbit E=P2^5。 //LCD的使能信號(hào)端/**//*定義參數(shù)*/uint i,z,count,zhuan,msec。 //定義參數(shù)uchar display[]={ speed= r/m}。 //定義顯示參數(shù)/**//*毫秒延時(shí)*/void delay(uint ms){ uint i,j。 //為延時(shí)引入i,j兩參數(shù) for (j=0。jms。j++) //延時(shí)第一循環(huán) for (i=0。i120。i++)。 //延時(shí)第二循環(huán)}/**//*向LCD1602寫命令*/void write_(uchar ){ RS=0。 //選擇寫命令 P0=。 //向LCD寫命令 E=1。 //信號(hào)使能端高電平 E=0。 //信號(hào)使能端低電平}/**//*向LCD1602寫數(shù)據(jù)*/void write_data(uchar data0){ RS=1。 //選著寫數(shù)據(jù) P0=data0。 //向LCD寫數(shù)據(jù) E=1。 //信號(hào)使能端高電平 E=0。 //信號(hào)使能端低電平}/**//*外部中斷0計(jì)數(shù)程序*/void counter(void) interrupt 0{z++。 //轉(zhuǎn)圈計(jì)數(shù)加1}/**//*LCD顯示*/void displaytolcd(){ write_(0x80)。 //向LCD1602寫命令80H for (i=0。isizeof(display)1。i++) //循環(huán)要傳輸?shù)淖址麄€(gè)數(shù)次,每一次傳輸一個(gè)字符 { write_data(display[i])。 delay(5)。 }}/**//*內(nèi)部中斷0計(jì)時(shí)計(jì)數(shù)程序*/void Timer_0(void) interrupt 1{ TH0=0x3c。 //50ms定時(shí) TL0=0xb0。 msec++。 if(msec==20) //50*20=1S { displaytolcd()。 msec=0。 zhuan=z*60。 z=0。 }}/**//*端口初始化*/void int_all(){ z=0。 //初始化z的值 count=0。 //初始化count的值 zhuan=0。 //初始化轉(zhuǎn)的值 RW=0。 //選擇LCD寫數(shù)據(jù)指令 delay(15)。 //延時(shí)15ms write_(0x38)。 //向LCD1602寫命令38H delay(5)。 //延時(shí)5ms write_(0x0e)。 //向LCD1602寫命令0EH delay(5)。 //延時(shí)5ms write_(0x06)。 //向LCD1602寫命令06H TMOD=0x01。 //內(nèi)部中斷定時(shí)器選擇 TH0=0x3c。 //50ms定時(shí) TL0=0xb0。 EA=1。 //開中斷總開關(guān) ET0=1。 //開內(nèi)部中斷0 TR0=1。 //計(jì)時(shí)器開始工作 IT0=1。 //外部中斷0為下降沿觸發(fā) EX0=1。 //開外部中斷0}/**//*數(shù)據(jù)處理*/void disp_count(){ display[8]=(zhuan/10000+39。039。)。 display[9]=(zhuan/1000/100%10+39。039。)。 //轉(zhuǎn)換轉(zhuǎn)速的千位 display[10]=(zhuan/100%10+39。039。)。 //轉(zhuǎn)換轉(zhuǎn)速的百位 display[11]=(zhuan/10%10+39。039。)。 //轉(zhuǎn)換轉(zhuǎn)速的十位 display[12]=39。.39。 display[13]=(zhuan%10+39。039。)。 //轉(zhuǎn)換轉(zhuǎn)速的個(gè)位}/**//*主函數(shù)*/void main(){int_all()。 //全局初始化 while(1) {disp_count()。 //數(shù)據(jù)處理 displaytolcd()。 //LCD顯示 }}/**/35
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1