MOV R6,#0FFH
DISP_PULSE1: MOV A,R6 ;从FF到00 MOVX @DPTR,A
CALL Delay_t0 ;步进为1个t0 DEC R6 DEC R6
CJNE R6,#01H,DISP_PULSE1 MOV R7,#00H DEC A
DISP_PULSE2: MOVX @DPTR,A ;输出00 CALL Delay_t0 ;步进为2个t0 CJNE R2,#00,DISP_PULSE4 AJMP Key_Scan_ DISP_PULSE4: INC R7 INC R7
CJNE R7,#00H,DISP_PULSE2 DEC R6
DISP_PULSE3: MOV A,R6 ;从00到FF MOVX @DPTR,A
CALL Delay_t0 ;步进为1个t0 INC R6 INC R6
CJNE R6,#00H,DISP_PULSE3;;;; DEC R6
AJMP DISP_PULSE1 ;尖脉冲结束
;频率转移程序************************************** Delay_t0: CJNE R0,#04H,KEY4;R0 是读入的键位值 RET ;输出1KHz 波形
KEY4: CJNE R0,#03H,KEY3 AJMP t0_100Hz
KEY3: CJNE R0,#02H,KEY2 AJMP t0_10Hz
KEY2: CJNE R0,#01H,KEY1;默认输出1Hz 波形 KEY1: AJMP t0_1Hz t0_1Hz: MOV CONT1,#50 t0_Loop: MOV CONT2,#29 DJNZ CONT2,$ DJNZ CONT1,t0_Loop NOP RET
t0_10Hz: MOV CONT1,#31 DJNZ CONT1,$ NOP RET
t0_100Hz: MOV CONT1,#5 DJNZ CONT1,$ RET
;键盘扫描子程序********************************** ScanKeyBoard:
MOV Line,#11111011B ;第一行出0(P1.2=0) MOV Key_Num,#00H ;键盘初值 LP1: MOV A,Line MOV P1,A MOV A,P1
MOV Read_Buf,A ;暂寸读入数据,为消抖作准备 SETB C
MOV Row_Count,#04H ;总列数
LP2: RLC A JNC KEY
LP3: INC Key_Num ;无键按下,键值加1 DJNZ Row_Count,LP2 MOV A,Line SETB C
RRC A ;扫描下一行
MOV Line,A ;取回当前扫描值 JC LP1 ;未扫描完继续扫
RET ;无键按下,返回输出波形状态
KEY: LCALL Delay_10ms ;10ms 后壬为原值,说明确实有键按下 MOV A,P1 XRL A,Read_Buf JNZ LP3
LP4: MOV A,P1 ;判断键是否已经放下 XRL A,Read_Buf JZ LP4 MOV A,Key_Num MOV DPTR,#TAB MOVC A,@A+DPTR CJNE A,#04H,CMPNEXT
Fre: MOV R0,A ;键值小于等于04h,是频率,键值送到R0 RET
CMPNEXT:JC Fre
MOV R1,A ;键值大于04h,是波形,键值送到R1 TAB: DB 01H,02H,03H,04H ;键盘值 DB 05H,06H,07H,08H DB 09H,0AH,0BH,0CH DB 0DH,0EH,0FH,00H
Delay_10ms: MOV CONT3,#1 ;延时防抖 Del_loop:MOV CONT4,#1 DJNZ CONT4,$ DJNZ CONT3,Del_loop RET
;定时中断入口********************************* Time_Int: CLR TR0 DEC R2 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 RETI
;****************************************************************** END
参 考 书 目
【1】 阎 石 《数字电子技术基础(第五版)》 高等教育出版社 2006年5月 【2】 谭浩强 《C程序设计(第三版)》 清华大学出版社 2005年 【3】 胡 健 《单片机原理及接口技术》 机械工业出版社 2004年10月
【4】 马忠梅,籍顺心,张凯,马岩 《单片机的C语言程序设计》
北京航空航天大学出版社 2003年9月
【5】 赵 晶 《Protel99se 高级应用》 人民邮电出版社 2002年4月 【6】 谢自美 《电子线路设计·设计·测试(第三版)》
华中科技大学出版社 2006年8月
【7】 郑学坚,周斌 《微型计算机原理及应用(第三版)》
清华大学出版 2001年
指导教师:赵庆平老师 学生:
信息学院 电子信息科学与技术 20081852031李传登 20081852033李 鹏 20081852036廖纯生 20081852062王树周 20081852066吴 桐 20081852073徐周泽 2010年6月20日
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字式波形发生器的设计 - 图文(4)在线全文阅读。
相关推荐: