31 西南科技大学自学考试毕业论文
[19] 李刚. 现代仪器电路[M]. 北京: 科学技术文献出版社, 2002. 119~165. [20] 张洪润. 电子线路与电子技术[M]. 清华大学出版社, 2005,4.
[21] 崔夏荣. 一种宽频高精度频率计设计[J]. 《电子技术》2001,8. 62~64 [22] Jonathan Corbet , Alessandro Rubini , Greg Kroah Hartman. Linux device driver (3rd edition) [M]. O’Reilly & Associates Inc, 2005.
31
32 西南科技大学自学考试毕业论文
附录A
源程序:
BEEP BIT P3.7
LCD_RS BIT P2.0 LCD_RW BIT P2.1 LCD_EN BIT P2.2
LCD_X EQU 3FH ;LCD 地址变量 TIMER_H EQU 30H ;定时器高位字节单元 TIMER_L EQU 31H ;定时器低位字节单元 TIMCOUNT EQU 32H ;时间中断数
INT_G EQU 35H ;中断计数缓冲单元高地址
INT_H EQU 34H ;中断计数缓冲单元中地址 INT_L EQU 33H ;中断计数缓冲单元低地址 T_S EQU 36H ;数据显示低位 T_M EQU 37H ;数据显示中位 T_H EQU 38H ;数据显示高位 T_G EQU 39H ;数据显示最高位
;---------------------------------------------------------- ORG 0000H
JMP MAIN ;主程序开始 ORG 000BH
JMP TIMER_INT ;定时器T0中断服务程序 ORG 001BH ;定时器T1中断服务程序
JMP TIMER1 ORG 0030H
;---------------------------------------------------------- MAIN:
MOV SP,#60H ;设置SP指针 LCALL PRO_SET ;初始化
32
33 西南科技大学自学考试毕业论文
CALL SET_LCD LCALL TIM_T0
;----------------------------------------------------------- ;LCD1602是慢速显示器件,故100MS显示一次。
;----------------------------------------------------------- MAIN1:
MOV R5,40 MAIN2:
ACALL DELAY1 ;3ms DJNZ R5,MAIN2 ACALL SBIN_SBCD CALL CONV JMP MAIN1
;------------------------------------------------------------ ;T1计数器中断服务子程序 ;计T1计数器溢出次数
;------------------------------------------------------------ TIMER1:
INC 2AH RETI
;------------------------------------------------------------ ;初始化程序
;------------------------------------------------------------ PRO_SET: MOV A,#00H MOV B,#00H MOV 2AH,A MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV INT_H,#00H MOV INT_L,#00H MOV INT_G,#00H MOV T_S,#00H MOV T_H,#00H MOV T_M,#00H
33
34 西南科技大学自学考试毕业论文
MOV T_G,#00H MOV TIMCOUNT,#00H
MOV TIMER_H,#3CH ; 理论上定时50MS(3CB0H),实际定时49.985MS(3CBFH)较合适
MOV TIMER_L,#0BFH ; CLR BEEP
SETB P3.5 ;P3.5端口置输入状态
RET ;T1(TIMER1的外部输入脚)
;----------------------------------------------------- ;LCD 初始化设置
;----------------------------------------------------- SET_LCD:
CLR LCD_EN
CALL INIT_LCD ;初始化 LCD CALL DELAY1
MOV DPTR,#INFO1 ;指针指到显示信息1 MOV A,#1 ;显示在第一行 CALL LCD_SHOW
MOV DPTR,#INFO2 ;指针指到显示信息2 MOV A,#2 ;显示在第二行 CALL LCD_SHOW RET
;----------------------------------------------------- INFO1: DB \第一行显示信息 INFO2: DB \第二行显示信息 ;----------------------------------------------------- ;LCD 接口初始化 ;8位I/O控制
;----------------------------------------------------- INIT_LCD:
MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1
34
35 西南科技大学自学考试毕业论文
MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1
MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1
MOV A,#0CH ;开显示,关光标, CALL WCOM CALL DELAY1
MOV A,#01H ;清除 LCD 显示屏 CALL WCOM CALL DELAY1 RET
;----------------------------------------------------
LCD_SHOW: ;在LCD的第一行或第二行显示信息字符
CJNE A,#1,LINE2 ;判断是否为第一行 LINE1: MOV A,#80H ;设置 LCD 的第一行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据
MOV A,#80H ;设置 LCD 的第一行地址 CALL WCOM ;写入命令 JMP FILL
LINE2: MOV A,#0C0H ;设置 LCD 的第二行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据
MOV A,#0C0H ;设置 LCD 的第二行地址 CALL WCOM
FILL: CLR A ;填入字符 MOVC A,@A+DPTR ;由消息区取出字符 CJNE A,#0,LC1 ;判断是否为结束码 RET
LC1: CALL WDATA ;写入数据 INC DPTR ;指针加1 JMP FILL ;继续填入字符
35
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库基于单片机频率计的设计 - 图文(7)在线全文阅读。
相关推荐: