1. 修改一個簡單的單片機程序
讓我想想
我修改了一下,把R2的賦值循環一次變小1(變少多少按你需要自己定咯,想變化快點就對這部分修改,當然,不可以用djnz咯),標星號部分是我改的 ,不懂可以HI我
ZWMADDR EQU 8002H
ZXMADDR EQU 8004H
ORG 0000H
ST: LJMP total;*************
ORG 0100H
total:;************
MOV R2,#25H ;****************
MAIN: MOV R3,#01H
MOV R4,#00H
LOOP: MOV DPTR,#CHAR
MOV A,R4
MOVC A,@A+DPTR
MOV DPTR,#ZXMADDR
MOVX @DPTR,A
MOV A,R3
MOV DPTR,#ZWMADDR
MOVX @DPTR,A
djnz r2,exit;***************
LCALL DELAY
MOV A,R3
RL A
MOV R3,A
CJNE R3,#40H,NEXT
MOV R3,#01H
NEXT: INC R4
CJNE R4,#10H,LOOP
SJMP MAIN
exit:;**************
sjmp $ ;************
DELAY: PUSH 02H
LP1: PUSH 02H
LP2: PUSH 02H
LP3: DJNZ R2,LP3
POP 02H
DJNZ R2,LP2
POP 02H
DJNZ R2,LP1
POP 02H
DJNZ R2,DELAY
RET
CHAR: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H
DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
END
2. 如何修改單片機的源程序
使用編程軟體如(keil,iar軟體)編寫和修改程序。選擇產生hex文件後,利用程序下載軟體flashmagic等(單片機不同而不同)下載程序到單片機。單片機上電運行即可!找本單片機書籍,應該就有很詳細的介紹!
3. 單片機怎麼改程序
1.只要單片機不是EPROM、OTP或者ROMless類型的,都可以把單片機內容擦除而重新寫程序。並且現在的單片機還支持自己給自己執行擦除和編程的操作,比如W78E516B和AVR系列等。
2.還有Basic、ADA、PHP甚至是Java,有多種語言可選擇。
3.像AT89C51之類的單片機需要高壓編程器才能把程序寫進去,AVR、STC、AT89SXX等只需要下載線就可以了,當談也可以用編程器。
4. 如何改單片機程序
我可以完成的
5. 在keil中,怎麼修改程序能讓我最後在單片機液晶屏想要看到自己輸入的數字
用普通的51單片機有點強人所難了。
按照你所說的,必須具備:
1.可以存放txt文件的空間,用51單片機放不了多少東西。極可能要外擴存儲晶元或設備
2.需要在液晶顯示,必須有字元集(這個倒好找)。
3.如何放入?如果按常規方法,就是用USB大容量存儲設備方式了。這樣需要USB介面。而且要用到文件系統,用FAT的比較多。
4.如何顯示?這個倒簡單,txt文件直接從頭讀取到尾,然後轉換為字元(中文是雙位元組,英文是單位元組)。至於怎麼讀靠自己編程了。
所以,如果做這個的話,硬體要有:
USB介面,足夠的存儲空間,液晶顯示功能
個人能力上需要:
1.USB編程能力
2.液晶驅動編程能力
3.FAT文件系統的了解(可使用現成的東東,如ELM的FAT,但也要了解。)
6. 如何修改單片機的程序
你問這樣的問題說明你還不了解單片機,回去好好看書。簡單說一下,單片機本身是一個硬體,但它需要軟體的支持才能運行工作,軟體就是用戶編寫的程序然後編譯成機器可以識別的代碼,然後燒錄到這個硬體的存儲器中,修改單片機的程序這種說法也對也不對,對呢是說修改用戶編寫的源程序是對的,但單片機程序存儲器里的內容就不是修改了,而是擦除然後重新燒錄的過程,你想調整單片機的功能或其中的參數的話就需要再此單片機的開發環境下面編寫程序,然後編譯成為機器代碼,最後燒錄到單片機的程序存儲器中就完成了。
7. 怎麼編寫單片機——TFT彩屏漢字程序
你現在看到的這兩個函數LCD_ShowString()ChineseChar()是你在上層調用的,具體的函數定義你要去看底層是怎麼實現的。我先簡單介紹下著兩個函數
LCD_ShowString(12,60,colors[0],colors[7],"-");應該是講屏幕上x=12,y=60的地方顯示一個「-」字元,字元顏色應該是你定義的colors[0],TFT屏的背景顏色是colors[7],這兩個是你函數庫自己定義的,可以改。
ChineseChar(20,60,1,colors[0],colors[7],1); //帶 這個函數和上面那個函數大致相同,至於為什麼會顯示「帶」,是因為最後那個1,這個程序你應該定義一個數組,在這個數組裡面對你所要顯示的字全部編碼並存在這個數組中,最後你只需用想調用數組下標那樣調用這個漢子。
至於你想顯示班級、姓名 只需用把班級姓名進行編碼就可以調用這個ChineseChar()函數進行顯示
其實很簡單的,只需用該幾步就可以達到你想要的,不難~~
8. 怎麼用單片機讓LCD顯示呢
用單片機讓LCD顯示,一要保證電路正確,二是程序必須與電路相符,程序中的LCD的控制腳必須與實物相符。否則,液晶屏只亮並不顯示字元。你主程序中的液晶屏初始化語句應放在第一行。你現在是放在最後了,假如前面語句顯示了,可初始化後就全沒了。
9. 51單片機程序修改
現在,你顯示的是num1,其范圍是0~60。
可以把它的上限,改為30,這就符合你的要求了。
另外再增加一個變數num2,其范圍是0~60。
用它來控制紅綠黃的交替變化,即可。
voiddisplay(ucharge,ucharshi)
{
if(num2<=25){P1=0xfe;}
elseif(num2<=30){P1=0xff;delay(2);P1=0xfd;}
elseif(num2<=60){P1=0xfb;}
……
}
……
voidtime0()interrupt1
{
TH1=(65536-5000)/256;//--應該是TH0=...
TL1=(65536-5000)%256;//--應該是TL0=...
num++;
if(num==10){
num=0;
num1++;
if(num1==30)num1=0;//用於顯示秒數
shi=num1/10;
ge=num1%10;
num2++;
if(num2==60)num2=0;//用於控制變換
}
}
10. led滾動顯示屏單片機程序怎麼編啊
啊我之前做了個數碼管的時鍾所以差不錯,主程序一直循環讀鍵盤,然後定時器中斷寫數字,按鈕裡面改參數,讓定時器引用就行了