- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LIST P=16f877A
#include npl6f877a.inc” ;定义所用单片机的头文件
rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw
Count
EQU 20H
Count 1
EQU21H
Count2
EQU 22H
KEYRES
EQU 23H
ADKEYH
EQU 24H
L_R
EQU 25H
DLY1
EQU 26H
DLY2
EQU 27H
CNT
EQU 28H
INC—F
EQU 29H
CNT1
EQU2AH
INC_F1
EQU2BH
ORG 000H GOTO START NOP
START CALL InitPWM 12
CALL InitADKEY
MAIN
CALL GetADKEY GOTO MAIN
v{ *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!, *!,
InitADKEY:A/D转换初始化子程序MOVLWMOVWF0X41
InitADKEY
:A/D转换初始化子程序
MOVLW
MOVWF
0X41
ADCONO
转换器
BSF STATUS,RPO
MOVLW 0X02 MOVWF ADCON1
低6位为0”
BSF TRISA,0
置RAO为输入方式
;选择A/D通道为RAO,打开A/D
;AD转换吋钟为FOSC/8
;转换结左移,及ADRESL寄存器的
;且把RA0 口设置为模拟量输入方式;设
BCF STATUS,RP0
RETURN
GetADKEY
;读取键值处理子程序
BSF
ADCONO,GO
;启动AD转换
BTFSC
ADCONO,GO
;等待A/D转换结束
GOTO
$-1
MOVF
ADRESH,W
;读取并存储A/D转换结果
MOVWF
ADKEYH
;判断键值1?9,若无键按卜,认为键
值为0
MOVLW
0X31
MOVWF
KEYRES
KEY1 MOVLW OXCB
;CC为S1按下对应A/D转换数字
量的高8位
SUBWF
ADKEYH,W
;比较阈值设为CB可增强抗干扰
能力
BTFSS
STATUS,C
;采用逐键比较判断
GOTO
KEY2
GOTO
KEYOUT
KEY2 INCF
KEYRES,F
MOVLW
0XA8
;A9为S2按下对应A/D转换数字量的高
8位
SUBWF ADKEYH,W BTFSS STATUS,C GOTO KEY3 CALL DECI
GOTO
KEYOUT
KEY3 INCF
KEYRES,F
MOVLW
0X8F
;90为S3按卜*对应A/D转换数字量的高
8位
SUBWF
ADKEYH,W
BTFSS
STATUS,C
GOTO
KEY4
CALL INCI
GOTO
KEYOUT
KEY4 INCF
KEYRES,F
MOVLW
0X7D
;7E为S4按下对应A/D转换数字量的
高8位
SUBWF
ADKEYH,W
BTFSS
STATUS,C
GOTO
KEY5
GOTO
KEYOUT
KEY5 INCF
KEYRES,F
MOVLW
0X6F
;70为S5按卜*对应A/D转换数字量的高
8位
SUBWF
ADKEYH,W
BTFSS
STATUS,C
GOTO
KEY6
CALL
DEC2
GOTO
KEYOUT
KEY6 INCF
KEYRES,F
MOVLW
0X63
;64为S6按下对应A/D转换数字量的高
8位
SUBWF
ADKEYH’W
BTFSS
STATUS,C
GOTO
KEY7
CALL
INC2
GOTO
KEYOUT
KEY7 INCF
KEYRES,F
MOVLW
0X5A
;5B为S7按下对应A/D转换数字量的
高8位
SUBWF
ADKEYH,W
BTFSS
STATUS,C
GOTO
KEY8
GOTO
KEYOUT
KEY8 INCF
KEYRES,F
MOVLW
0X53
;54为S8按下对应A/D转换数字量的高8
位
SUBWF
ADKEYH’W
BTFSS
STATUS,C
GOTO
KEY9
GOTO
KEYOUT
原创力文档


文档评论(0)