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

正文內(nèi)容

運(yùn)動(dòng)仿真“龍人寶貝”機(jī)器人的結(jié)構(gòu)設(shè)計(jì)與控制畢業(yè)論文(編輯修改稿)

2025-07-16 13:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 NT1(外中斷1)    TO(定時(shí)/計(jì)數(shù)器0)    T1(定時(shí)/計(jì)數(shù)器1)    WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)    RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)   此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。   RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。   ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。   PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。   EA/VPP:外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。   XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。keil uvision2 簡(jiǎn)介Keil uVision2是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),使用接近于傳統(tǒng)c語(yǔ)言的語(yǔ)法來(lái)開(kāi)發(fā),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開(kāi)發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。 系統(tǒng)功能  Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面,使您能在很短的時(shí)間內(nèi)就能學(xué)會(huì)使用keil c51來(lái)開(kāi)發(fā)您的單片機(jī)應(yīng)用程序 。   另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 以下是部分相關(guān)函數(shù)作用及代碼,所用的全部相關(guān)函數(shù)代碼在附件中。 include 頭文件的作用:包含程序中需要用到的標(biāo)準(zhǔn)數(shù)據(jù)類型、標(biāo)準(zhǔn)函數(shù)和自定義函數(shù)等信息。 :函數(shù)uart_Init()的定義和實(shí)現(xiàn)。uart_Init()。 //串口初始化 串口初始化函數(shù),用來(lái)規(guī)定單片機(jī)串口是如何與PC通信的。其代碼如下:/* 8051串口中斷驅(qū)動(dòng)程序*/include include define XTAL 11059200define baudrate 9600define OLEN 8 //串行發(fā)送緩沖區(qū)大小unsigned char ostart。 //發(fā)送緩沖區(qū)起始索引unsigned char oend。 //發(fā)送緩沖區(qū)結(jié)束索引char idata outbuf[OLEN]。 //發(fā)送緩沖區(qū)存儲(chǔ)數(shù)組define ILEN 8 //串行接收緩沖區(qū)大小unsigned char istart。 //接收緩沖區(qū)起始索引unsigned char iend。 //接收緩沖區(qū)結(jié)束索引char idata inbuf[ILEN]。 //接收緩沖存儲(chǔ)數(shù)組bit bdata sendfull。 //發(fā)送緩沖區(qū)滿標(biāo)志bit bdata sendactive。 //發(fā)送有效標(biāo)志/*串行中斷服務(wù)程序*/static void _isr(void) interrupt 4 using 1 //串口中斷{ //接收數(shù)據(jù)中斷 char c。 if(RI) //接收中斷 { c=SBUF。 //讀字符 RI=0。 //清接收中斷請(qǐng)求標(biāo)志 if(istart+ILEN!=iend) { inbuf[iend++amp。(ILEN1)]=c。 //緩沖區(qū)接收數(shù)據(jù) } }延時(shí)函數(shù)的程序include(1)delay_nms(unsigned int n)。 毫秒級(jí)延時(shí) (2)delay_nus(unsigned int n)。 微秒級(jí)延時(shí)/* delay functions usamp。ms*/ /*內(nèi)嵌匯編的方法:一般格式 pragma ASM nop ; pragma ENDASM,*/void delay_nus(unsigned int i) //延時(shí):i=12 ,i的最小延時(shí)單12 us{ i=i/10。 while(i)。} void delay_nms(unsigned int n) //延時(shí)n ms{ n=n+1。 while(n) delay_nus(900)。 //延時(shí) 1ms,同時(shí)進(jìn)行補(bǔ)償} 簡(jiǎn)單運(yùn)動(dòng)代碼龍人寶貝機(jī)器人是由兩個(gè)伺服電機(jī)控制其運(yùn)動(dòng)的。當(dāng)給它一個(gè)1300us的脈寬時(shí)電機(jī)順時(shí)針全速旋轉(zhuǎn),給它1700us的脈寬它就逆時(shí)針全速旋轉(zhuǎn),給它1500us的脈寬,電機(jī)則停止轉(zhuǎn)動(dòng)。利用這個(gè)原理,我們就可以分別給與他們不同的脈寬配合,來(lái)完成各種運(yùn)動(dòng)。例:Forward={Forward,1700,1300}, Backward={Backward,1300,1700,65}, LeftTurn={Turn Left,1300,1300,26}, RightTurn={Turn Right,1700,1700,26}。注:65,26等數(shù)字是指循環(huán)的次數(shù),這實(shí)際是用來(lái)控制運(yùn)動(dòng)執(zhí)行的時(shí)間。如循環(huán)130次大約需要3秒。向前程序代碼如下:void For_Ward(void) { P1_1=1。 delay_nus()。 P1_1=0。 P1_0=1。 delay_nus()。 P1_0=0。 delay_nms(20)。}向左程序代碼如下:void Left_Turn(void)  { int i。 for(i=1。i= 。i++) { P1_1=1。 delay_nus()。 P1_1=0。 P1_0=1。 delay_nus()。 P1_0=0。 delay_nms(20)。 }}向右程序代碼如下:void Right_Turn(void)    { int i。 for(i=1。i=。i++) { P1_1=1。 delay_nus()。 P1_1=0。 P1_0=1。 delay_nus()。 P1_0=0。 delay_nms(20)。 }}全速前進(jìn)程序代碼如下:includeavr/ //寶貝車(chē)的標(biāo)準(zhǔn)頭文件includeavr/ //串口的頭文件int main(void) //主函數(shù),程序從這里開(kāi)始運(yùn)行{ usta_Init()。 //串口初始化 uint16_t counter。 //定義16位無(wú)符號(hào)整型變量 SET_DDRD7。 //設(shè)置PD7為輸出口 SET_DDRC3。 //設(shè)置PC3為輸出口SET_DDRC2。 //設(shè)置PC2為輸出口 printf(Program Running\n)。//在調(diào)試窗口顯示一條信息 /*在開(kāi)始時(shí)Counter被設(shè)為1,并在每次重復(fù)的最后被增加1。在循環(huán)重復(fù)前,如果Counter大于6000,則循環(huán)結(jié)束。*/for(counter=1。counter=6000。counter++) //開(kāi)始/復(fù)位信號(hào) { HIGH_PORTD7。 //設(shè)置PD7輸出高電平 delay_nus(166)。 // LOW_PORTD7。 //設(shè)置PD7輸出低電平 delay_nus(166)。 // } /*在開(kāi)始時(shí)Counter被設(shè)為1,并在每次重復(fù)的最后被增加1。在循環(huán)重復(fù)前,如果Counter大于等于130,則循環(huán)結(jié)束。*/for(counter=0。counter130。counter++)//運(yùn)行3秒 { HIGH_PORTC3。 //設(shè)置PC3輸出高電平 delay
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1