我有高分,好的答案我会追加很多!求研究性学习课程 专题小组方案设计的例文

这个还是自己搞哦,锻炼锻炼自己的能力吧。。。。
呵呵,给你一点建议吧。。。。
可以先找一个你自己喜欢的方面进行入手,可以对事先给定的研究对象进行提问~然后试试翻些参考书或上网进行自己先找答案、如问题还是不能解决可以问老师或专家。还可以进行调查,制作问卷或直接采访相关老师同学或其他人。开始建议从身边小事研究起来,比如“为什么晚上会有露珠?”从班级里的近视眼看中学生用眼卫生”“现代广告文化内涵初探”“废电池的危害初探究”等等。。。
还有就是最重要的那篇结题报告,要不留任何别人产生疑问的地方,注意科学和实事求是,
祝你研究得成功!!!。。。

我的单片机课程设计

我做的课程设计是3*3的键盘,要求与你的基本一样,你可以看看修改一下

org  0000h
ajmp main
org  0030h
main:
    MOV P1,#0FFH
    MOV R1,#50H
    MOV 50H,#0
    MOV 51H,#0
    MOV 52H,#0
    MOV 53H,#0
    MOV 54H,#0
    mov  dptr,#tab    ;将表头放入DPTR
SCAN:
    lcall key    ;调用键盘扫描程序
    CJNE A,#9,CHECK
    MOV A,50H
    CJNE A,#1,ERROR
    MOV A,51H
    CJNE A,#2,ERROR
    MOV A,52H
    CJNE A,#3,ERROR
    MOV A,53H
    CJNE A,#4,ERROR
    MOV A,54H
    CJNE A,#5,ERROR
    CLR P1.2    ;绿灯亮
    MOV A,#0AH  ;送值(显A值)
    LJMP DISPLAY
ERROR:
    MOV 50H,#0
    MOV 51H,#0
    MOV 52H,#0
    MOV 53H,#0
    MOV 54H,#0
    MOV R1,#50H
    CLR P1.0
    MOV A,#0EH
    LJMP DISPLAY
CHECK:
    MOV @R1,A
    INC R1
DISPLAY:
    movc a,@a+dptr    ;查表后将键值送入ACC
    mov  p0,a    ;将Acc值送入P0口
    CLR P2.7    ;开显示
    LJMP SCAN
 
KEY: LCALL KS    ;调用检测按键子程序
    JNZ K1    ;有键按下K1
    LCALL DELAY2    ;无键按调用延时去抖
    AJMP KEY    ;返回继续检测按键
K1:  LCALL DELAY2
    LCALL DELAY2    ;有键按下延时去抖动
    LCALL KS    ;再调用检测按键程序
    JNZ K2    ;确认有按下进行下一步
    AJMP KEY    ;无键按下返回继续检测
K2:  MOV R2,#0DFH    ;将扫描值送入 R2暂存
    MOV R4,#00H   ;将第一列值送入R4暂存
K3: MOV P3,R2    ;将R2的值送入P2口
L6:  JB P3.4,L1    ;P3.4等于1跳转到L1
    MOV A,#07H    ;将第一行值送入ACC
    AJMP LK    ;跳转到键值处理程序
L1:  JB P3.3,L2    ;P3.3等于1跳转到L2
    MOV A,#04H   ;将第二行的行值送入ACC
    AJMP LK  ;跳转到键值理程序进行键值处理
L2:  JB P3.2,NEXT    ;P3.2等于1跳转到NEXT
    MOV A,#01H    ;将第三行的行值送入ACC
    AJMP LK    ;跳转到键值处理程序
LK:  ADD A,R4;行值与列值相加再加1后的键值送入A
    ;ADD A,#01H
    PUSH ACC    ;将A中的值送入堆栈暂存
K4:  LCALL DELAY2    ;调用延时去抖动程序
    LCALL KS    ;调用按键检测程序
    JNZ K4    ;按键没有松开继续返回检测
    POP ACC    ;将堆栈的值送入ACC
    RET


NEXT:INC  R4    ;将列值加一
    MOV A,R2    ;将R2的值送入A
    JNB ACC.7,KEY  ;扫描完至KEY处进行下一扫描
    RL A    ;扫描未完将A中的值右移一位进行下一列的扫描
    MOV R2,A    ;将ACC的值送入R2暂存
    AJMP K3    ;跳转到K3继续
KS:  MOV P3,#1FH   ;将P3口P3.7-P3.5位置0,P3.4-P3.2位置1
    MOV A,P3    ;读P3口
    XRL A,#1FH    ;将A中的值与A中的值相异或
    RET    ;子程序返回


DELAY2:    ;40ms延时去抖动子程序
    MOV R5,#08H
L7:  MOV R6,#0FAH
L8:  DJNZ R6,L8
    DJNZ R5,L7
    RET
tab:
db 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h
end

原创文章,作者:晴空,如若转载,请注明出处:http://www.dlgrdx.com/shenghuo/21272.html