實(shí)驗(yàn)時(shí)間:2010.05.12
實(shí)驗(yàn)名稱:定時(shí)器/計(jì)數(shù)器應(yīng)用
實(shí)驗(yàn)?zāi)康?span>:1. 學(xué)習(xí)51單片機(jī)內(nèi)部計(jì)數(shù)器的使用和編程方法。
2. 進(jìn)一步掌握中斷處理程序的編程方法。
實(shí)驗(yàn)要求:
1. 用單片機(jī)內(nèi)部定時(shí)器中斷方式計(jì)時(shí),實(shí)現(xiàn)每1秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn)
2. P1.0 ●-----------------------●LED0
實(shí)驗(yàn)過程:
org 0 ajmp start org 000bh ajmp timer0_isr org 0100h start: mov sp,#70h mov A,#00000001 mov r7,#16 setb et0 setb ea setb pt0 mov tmod,#01h mov tl0,#00h mov th0,#00h setb tr0 sjmp $ timer0_isr: djnz r7,exit mov r7,#16 cpl A mov p1,A exit:reti end
1.在KEIL軟件內(nèi)新建工程,輸入如下程序:
2. 保存文件后綴名為ASM
3. 鼠標(biāo)右鍵點(diǎn)source group,點(diǎn)add files to group ‘source group’
4. 點(diǎn)rebuild all target files運(yùn)行,看是否有語法錯(cuò)誤,并修改語法錯(cuò)誤,生成后綴名為HEX的文件。
5. 連接單片機(jī)開發(fā)板與電腦。打開燒錄軟件,裝載HEX文件。
6. 將剛才生成的HEX文件燒入單片機(jī)學(xué)習(xí)開發(fā)板中,待完成后觀察實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)結(jié)果:
P1.0口所對(duì)應(yīng)的LED燈,亮一秒,暗一秒。符合實(shí)驗(yàn)要求。
實(shí)驗(yàn)三 數(shù)據(jù)排序、拼拆、轉(zhuǎn)換練習(xí)
實(shí)驗(yàn)時(shí)間:2010.05.18
實(shí)驗(yàn)名稱: 數(shù)據(jù)排序、拼拆、轉(zhuǎn)換練習(xí)
實(shí)驗(yàn)?zāi)康?/b>: 1、熟悉掌握比較和控制轉(zhuǎn)移指令的功能及編程;
2、掌握排序的算法
實(shí)驗(yàn)內(nèi)容: 給出一組隨機(jī)數(shù),將此組數(shù)據(jù)排序,使之成為有序數(shù)列。
實(shí)驗(yàn)過程:
在keil軟件錄入以下程序,冒泡排序,升序:
實(shí)驗(yàn)結(jié)果:
ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0,#04H LOOP1: MOV R1,#20H MOV A,R0 MOV R2,A LOOP2: MOV A,@R1 MOV R3,A INC R1 SUBB A,@R1 JC LOOP3 MOV A,R3 XCH A,@R1 DEC R1 MOV @R1,A INC R1 LOOP3: DJNZ R2,LOOP2 DJNZ R0,LOOP1 SJMP $ END小數(shù)排前,大數(shù)排后。