ASM 板


LINE

看板 ASM  RSS
小弟把W大給的程式拿去燒錄後 發現燈號一開始就會一直亮著四顆 應該是加速規有初始電壓的關係 當時小弟自己的寫法是以2.5V為基準 2.5V以下就為零 剩下的再用IF去切割成八份量燈 但是W大的寫法我不會修改>"< 有嚐試用if去判斷,不過不行(應該是我不會用冏) 而且燈號似乎是一口氣亮完沒有一顆顆的亮上去..冏 有嚐試把延遲的第一個FOR改大一點 結果整個讀取就慢下來了Orz 小弟的寫法會讀不到,猜測有可能是因為這段 else if(B<=0x86) { P1=0x00;//P0 = 0000 0000 導致AD一直轉換讀取0的值 假如不用比較器的話請問程式要怎麼修 假如要加音效讓他亮一個燈就逼一聲 音效的副程式要怎麼放?(已經有寫好音效了只是不知道要怎麼插W大給的主程式裡) 我自己適用最笨的寫法一個燈號後面就加一個副程式 那個B=P2是令B為暫存器 想說存進去在讀取會不會比較順 但是沒有效果= = 不好意思,一口氣問這麼多問題,還請各位前輩不吝指教>"< 下面是小弟自己寫的全部程式 #include <reg51.h> #include <stdlib.h> void delay150us();//宣告ADC讀取延遲副程式 void delay90();//燈號延遲1~2秒副程式 void delay_fun(); //LED一顆一顆亮上去延遲副程式 sbit ADCRD=P3^7 ;//設ADCRD腳位為P3.7 sbit ADCWR=P3^6 ;//設ADCWR腳位為P3.6 sbit ADCINTR=P3^2;//設ADCINTR腳位為P3.2 sbit spk=P0^0;//喇叭控制定義位元 unsigned char hi, lo; unsigned char thi[]={0,223,229,232,233,236,238,240,241,242,244,246,247,247};//音階對應計時器0計數初值高位元組資料列表 unsigned char tlo[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};//音階對應計時器0計數初值低位元組資料列表 unsigned char song[]={3,5,5,3,2,1,2,3,5,3,2,3,5,5,3,2,1,2,3,2,1,1,100};//旋律 unsigned char len[]={1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,1,1,2,1,1,1,100};//拍子 delay(int d) { int i,j; for(i=0;i<d;i++) for(j=0;j<200;j++); } void t0isr(void)interrupt 1 { TH0=hi; TL0=lo; spk=~spk; } init_timer() { TMOD=0x00; IE=0X82; } tone(char t, char l) { hi=thi[t]; lo=tlo[t]; TR0=1; delay(100*l); TR0=0; } play_song(char*t,char*l) { while(1) { if(*t==100)break; tone(*t++,*l++); delay(5); } } main() { init_timer(); { play_song(song,len); } spk=0; while(1) { ADCWR=0 ; ADCWR= 1 ; ADCRD=0 ; delay111us(); B=P2; ADCRD=1 ; if(B>=0xF0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); P1=0x0F;//P0 = 0000 1111 be(); delay_fun(); P1=0x1F;//P0 = 0001 1111 be(); delay_fun(); P1=0x3F;//P0 = 0011 1111 be(); delay_fun(); P1=0x7F;//P0 = 0111 1111 be(); delay_fun(); P1=0xFF;//P0 = 1111 1111 be(); delay_fun(); } else if(B<=0xEF&&B>=0xE0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); P1=0x0F;//P0 = 0000 1111 be(); delay_fun(); P1=0x1F;//P0 = 0001 1111 be(); delay_fun(); P1=0x3F;//P0 = 0011 1111 be(); delay_fun(); P1=0x7F;//P0 = 0111 1111 be(); delay_fun(); } else if(B<=0xDF&&B>=0xD0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); P1=0x0F;//P0 = 0000 1111 be(); delay_fun(); P1=0x1F;//P0 = 0001 1111 be(); delay_fun(); P1=0x3F;//P0 = 0011 1111 be(); delay_fun(); } else if(B<=0xCF&&B>=0xC0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); P1=0x0F;//P0 = 0000 1111 be(); delay_fun(); P1=0x1F;//P0 = 0001 1111 be(); delay_fun(); } else if(B<=0xBF&&B>=0xB0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); P1=0x0F;//P0 = 0000 1111 be(); delay_fun(); } else if(B<=0xAF&&B>=0xA0) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); P1=0x07;//P0 = 0000 0111 be(); delay_fun(); } else if(B<=0x9F&&B>=0x90) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); P1=0x03;//P0 = 0000 0011 be(); delay_fun(); } else if(B<=0x8F&&B>=0x87) { P1=0x01;//P0 = 0000 0001 be(); delay_fun(); } else if(B<=0x86) { P1=0x00;//P0 = 0000 0000 } ADCRD=1 ; delay90(); } } void delay111us() { int i=0 ; for(i=0 ; i < 18; i++) ; } void delay90() { int s,i,k; for(s=0;s<550;s++) for(k=0;k<10;k++) for(i=0;i<12;i++); } void delay_fun() { int i,k; for(k=0;k<70;k++) for(i=0;i<1000;i++); } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.32.181 ※ 編輯: endlessbbs 來自: 140.134.32.181 (09/16 15:50) ※ 編輯: endlessbbs 來自: 140.134.32.181 (09/16 15:53) ※ 編輯: endlessbbs 來自: 118.170.96.229 (09/16 17:37)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP