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

正文內(nèi)容

單片機(jī)原理及其應(yīng)用實(shí)驗(yàn)報(bào)告-在線(xiàn)瀏覽

2024-09-13 01:27本頁(yè)面
  

【正文】 IT0=1。while(1){ if(!STATE) //如果標(biāo)志位STATE 為0,則做流水燈{P1=s0。if(s0==0x00) s0=0x01。}else //如果標(biāo)志位STATE 為1,則LED 全亮{STATE=0。delay(100)。} //標(biāo)志位STATE 置1匯編語(yǔ)言程序ORG 0000HJMP START 。以免主程序占用中斷入口地址ORG 0003H 。CPU 開(kāi)中斷SETB EX0 。邊沿觸發(fā)方式MOV A,01HCALL LOOPLOOP: MOV P1,AMOV R0,30 。t=R0*10msCALL DELAY 。移位JMP LOOP 。(2)實(shí)驗(yàn)內(nèi)容:定時(shí)器實(shí)驗(yàn),8 路LED 增1。在匯編語(yǔ)言中,數(shù)據(jù)長(zhǎng)度只支持到8 位,因此在用定時(shí)器定時(shí)的時(shí)候要注意到這一點(diǎn)。程序:C 語(yǔ)言程序 include int time。 //定時(shí)器0 工作方式1TH0=64614/256。EA=1。 //開(kāi)定時(shí)器中斷0TR0=1。 //等待中斷}/*定時(shí)器0 中斷服務(wù)函數(shù)*/void time0() interrupt 1{ time++。 //time 清零,重新計(jì)數(shù)P1++。 //重新裝載定時(shí)器初值TL0=64614%256。在首地址處放置跳轉(zhuǎn)指令。定時(shí)器0 程序入口地址JMP ET0PORG 0030HSTART:MOV TMOD,01H 。定時(shí)器裝載初值,50ms 中斷一次MOV TL0,00H 。1ms,這里匯編定時(shí)時(shí)間為50ms,因?yàn)閰R編。500ms 需要中斷500 次,匯編無(wú)法支持,所以。CPU 開(kāi)中斷SETB ET0 。定時(shí)器開(kāi)始工作MOV A,0AHCALL LOOPLOOP: CJNE A,00H,LOOP 。B 加1MOV P1,BMOV A,0AHJMP LOOP 。A 減1MOV TH0,4CHMOV TL0,00HRETIEND實(shí)驗(yàn)現(xiàn)象:可以看到用 P1 口所接的8 路LED 加1。平時(shí)兩組交通燈按規(guī)律點(diǎn)亮,具體規(guī)律為:南北路口:綠燈(5s)??黃燈(2s)??紅燈(5s)??黃燈(2s)??綠燈(5s)……東西路口:紅燈(5s)??黃燈(2s)??綠燈(5s)??黃燈(2s)??紅燈(5s)……當(dāng)救護(hù)車(chē)來(lái)時(shí)(用負(fù)脈沖觸發(fā)外部中斷表示救護(hù)車(chē)到來(lái)),兩個(gè)路口馬上都變成紅燈讓救護(hù)車(chē)優(yōu)先通過(guò),紅燈保持3s,待救護(hù)車(chē)通過(guò)以后,兩個(gè)路口的交通燈恢復(fù)正常的工作狀態(tài)。硬件連接:INT0 與負(fù)脈沖相連,LED 與單片機(jī)的連接沒(méi)有固定要求,下圖只是提供一種參考接法。unsigned char s0。for(i=0。i++)for(j=0。j++)for(k=0。k++)。 //CPU 開(kāi)中斷EX0=1。 //邊沿觸發(fā)方式s0=0x01。s0=s01。delay(30)。P1=0xff。}}}/*中斷服務(wù)函數(shù)*/void int0() interrupt 0{STATE=1 。unsigned char STATE。void delay(unsigned char n){unsigned char i,j,k。in。j14。k237。}void main(){ TMOD=0x01。 //計(jì)算初值TL0=64614%256。 //CPU 開(kāi)中斷ET0=1。 //開(kāi)啟定時(shí)器0 并開(kāi)始工作EX0=1。 //邊沿觸發(fā)方式while(1)。 //每1ms,time 加1if(time5000)P1=0x21。amp。 }if(time=7000amp。time=12000) { P1=0x0c。amp。 }if(time14000) { time=0。 //重新裝載定時(shí)器初值TL0=64614%256。ET1=1。TH1=64614/256。while(m=3000)。TR1=0。TH1=64614/256。}三.實(shí)驗(yàn)分析與感想本次實(shí)驗(yàn)是單片機(jī)中斷及定時(shí)器使用實(shí)驗(yàn),要求我們學(xué)習(xí)外部中斷技術(shù)的基本使用方法及中斷處理的編程方法,學(xué)習(xí)單片機(jī)定時(shí)器的基本使用方法及其編程方法。只要注意一下實(shí)驗(yàn)使用的LED燈是共陽(yáng)的還是共陰的,應(yīng)該就可以較順利完成。但是始終沒(méi)有結(jié)果,調(diào)試將近半節(jié)課還是不行,在老師的幫助下再次調(diào)試,發(fā)現(xiàn)單片機(jī)出現(xiàn)了問(wèn)題。這會(huì)讓我們節(jié)約很多時(shí)間,少走一些彎路。2.學(xué)習(xí)動(dòng)態(tài)數(shù)碼管顯示的基本使用方法。有關(guān)說(shuō)明:LED 數(shù)碼管顯示是單片機(jī)應(yīng)用系統(tǒng)中最常用、最基本的輸出設(shè)備,用戶(hù)可以利用顯示器件顯示各種需要輸出的視覺(jué)信息,實(shí)現(xiàn)人機(jī)對(duì)話(huà)。靜態(tài)顯示中每一個(gè)數(shù)碼管需要一個(gè)獨(dú)立的輸出口控制,靜態(tài)顯示的特點(diǎn)是顯示程序簡(jiǎn)單、亮度高、穩(wěn)定性好、占用CPU 時(shí)間少,但占用的I/O 口較多,所以靜態(tài)顯示常用在顯示器數(shù)目較少的應(yīng)用系統(tǒng)中。動(dòng)態(tài)顯示是指數(shù)碼管輪流地顯示各自的字符,每位數(shù)碼管都在顯示和熄滅兩個(gè)狀態(tài)中循環(huán),同一時(shí)間只有一位數(shù)碼管處于顯示狀態(tài)。動(dòng)態(tài)數(shù)碼管控制原理:采用各位數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示頻率較高時(shí),由于人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個(gè)接口完成字型碼的輸出(字形選擇),另一接口完成各數(shù)碼管的輪流點(diǎn)亮(數(shù)位選擇)。具有兩個(gè)緩沖器SBUF,一個(gè)作發(fā)送緩沖器,另一個(gè)作接收緩沖器,它們擁有相同的名字和地址空間,但不會(huì)出現(xiàn)沖突,因?yàn)橐粋€(gè)只能讀出數(shù)據(jù),一個(gè)只能寫(xiě)入數(shù)據(jù)。之后將LD0——LD5 與P2_0——P2_5 用導(dǎo)線(xiàn)相連,a——h 與P1_0——P1_7 用導(dǎo)線(xiàn)相連,最后還需要將串口插到電腦上,串口線(xiàn)的另一端與實(shí)驗(yàn)箱的J13 相連,注意引腳排列順序。//七段碼8f,最后一碼0x00 作用為熄滅數(shù)碼管uchar segment[6] 。 //位選uchar play[6]={0,0,0,0,0,0} 。uchar d。 //數(shù)碼管顯示初始化void Uart_Init()。 //數(shù)碼管顯示函數(shù)/*數(shù)碼管顯示初始化*/void Display_Init() //初始化,通過(guò)定時(shí)器,按固定頻率掃描數(shù)碼管{TMOD = TMOD|0x01。 //計(jì)算初值,定時(shí)時(shí)間為1msTL0 = 0x66。 //CPU 開(kāi)中斷ET0 = 1。 //開(kāi)啟定時(shí)器0 并開(kāi)始工作}5/*串口初始化*/void Uart_Init(){TMOD = TMOD|0x20。 //波特率為9600TL1 = 0xfd。 //設(shè)置定時(shí)器工作方式PCON = 0。 //CPU 開(kāi)中斷ES = 1。 //定時(shí)器1 開(kāi)始工作}/*掃描數(shù)碼管數(shù)據(jù)顯示函數(shù)*/void Display(){uchar n=0 。for(n=0。n++){if(play[n]0x0f)segment[n]=0x10。byte[n]=m。}}/*主函數(shù)*/void main (void){Uart_Init() 。play[0]=0x00。play[2]=0xff。play[4]=0xff。while(1)6{Display() 。P2 = byte[k]。if(k==6)k=0。 //重新裝載初值TL0=0x66。 //讀取串口發(fā)來(lái)的數(shù)據(jù)play[1] = d/0x10。RI=0。(2)實(shí)驗(yàn)內(nèi)容:?jiǎn)纹瑱C(jī)串行發(fā)送數(shù)據(jù)實(shí)驗(yàn),波特率為 9600,外部中斷INT0 與負(fù)脈沖相連,對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),將計(jì)數(shù)結(jié)果以字符形式通過(guò)串口發(fā)送到上位機(jī)。有關(guān)說(shuō)明:以字符形式發(fā)送不同于十六進(jìn)制形式發(fā)送,發(fā)送計(jì)數(shù)結(jié)果時(shí),百位、十位、個(gè)位要分別發(fā)送,發(fā)送的時(shí)候要轉(zhuǎn)換成對(duì)應(yīng)的ASCII 碼。程序:C 語(yǔ)言程序includedefine uchar unsigned char //變量類(lèi)型定義uchar d 。void Int0_Init()。 //串口初始化void Int0_Init(){EA=1。 //開(kāi)外部中斷0IT0=1。 //定時(shí)器1,工作方式2TH1 = 0xfd。SCON = 0x50。TR1 = 1。Uart_Init() 。while(TI==0) 。SBUF=(d%100/10+0x30)。TI=0。while(TI==0) 。SBUF=39。while(TI==0) 。EX0=1。}}}/*定時(shí)器0 中斷服務(wù)函數(shù)*/void Int0() interrupt 0{d++。SENT=1。 //關(guān)外部中斷,防止按鍵抖動(dòng)引起干擾
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1