|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最近开发一套测试设备,中间用到了读取8279键值并显示,考虑了半个多小时,在KEIL上试了几次总结了
以下的汇编程序段,希望对大家有点用处。关键语句都用了中文注释,在实际编程时,最好用英文注释,
单片机的存储器是很宝贵的。
PUSH A ;键值入堆栈
ANL A,#0F0H ;屏蔽低四位
RRC A
RRC A
RRC A
RRC A ;右移四次,将高四位移到低四位
CJNE A,#09H,BI ;与9做比较,不是9则转移到BI
BI:SUBB A,#09H ;将键值减9
JB ACC.7, BI1 ;如果比9小,则转移到BI1
JNZ DA9 ;如果比9大,则转移到DA9
JZ SHI9 ;如果是9,则转移到SHI9
SHI9:ADD A,#09H ;如果是9,将A加9,恢复原值
ADD A,#30H ;转换为液晶显示所需的ASCII码代码
JMP GEIZHI ;跳转赋值
DA9:ADD A,#09H ;如果比9大,将A加9,恢复原值
ADD A,#37H ;转换为液晶显示所需的ASCII码代码
JMP GEIZHI ;跳转赋值
BI1: ADD A,#0AH ;如果比9小,将A加A,恢复原值
ADD A,#30H ;转换为液晶显示所需的ASCII码代码
JMP GEIZHI ;跳转赋值
GEIZHI:MOV R1,A ;赋值语句,并把A的值送入R1保护 |
|