c语言4x4按键计算器代码,4X4按键实现计算器功能.doc
4X4按键实现计算器功能
;4X4按键实现计算器功能
;当按0-9时显示数值
;当按A-F时将其除以10
;如商为0就是0-9数字输入
;如商为1就是+,-,*,/,=
;跟据余数转到相应的功能处
;因为8位数最取值为255
;可扩展到16位或32位
; ok
;硬件连接
POUTEQUP2
KPINEQUP1
PDIG1EQUP3.0
VALDATA30H
KIDDATA31H
KTMPDATA32H
PDIGEQU P3
NOEQU 4 ;N位要显示的数
;内部使用的变量
DIGDATA 33H;
DIDDATA34H
KFHDATA 35H
DAT1DATA36H
DAT2DATA 37H
BUFDATA 38H
MTMEQU1000
MTHEQUHIGH(65536-MTM)
MTLEQULOW(65536-MTM)
MSYSBIT2FH.0
KEFLBIT20H.0
;**************************
;主调度程序
;每1MS中断一次,所有程序都在期间执行
;主程序调度标志位:MSYS
;**************************
ORG0000H
SJMPMAIN
ORG0BH
SJMPMTM0
ORG30H
MAIN:
ACALLMINIT
MLP:JNBMSYS,$
CLRMSYS
ACALLKEYS
ACALLDISP
SJMPMLP
MINIT:
;用户变量初始化
CLRMSYS
MOVR0,#30H
MOVR2,#16
CLRA
MILP:MOV@R0,A
INCR0
DJNZR2,MILP
MOVDIG,#0FEH
CLRKEFL
;系统变量初始化,并开启定时器0
MOVSP,#60H
MOVIE,#82H
MOVTMOD,#01H
MOVTH0,#MTH
MOVTL0,#MTL
SETBTR0
RET
;定时器0中断程序,置系统标志为1
MTM0:
MOVTH0,#MTH
MOVTL0,#MTL
SETBMSYS
RETI
;************************
;显示功能程序
;****************
DISP:MOVPDIG,#0FFH
MOVA,#BUF
ADDA,DID
MOVR0,A
MOVA,@R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
CPLA
MOVPOUT,A
MOVA,DIG
MOVPDIG,A
RRA
MOVDIG,A
INCDID
MOVA,DID
CJNEA,#NO,DSEXT
MOVDID,#0
MOVDIG,#07FH
DSEXT:RET
;************************
;*************************
;按键扫描程序;
;模块应用变量
;硬件连接端口:KPIN
;返回按键值:VAL
;按键处理应用功能程序:KEYPFUN
;
;***********************
;内部使用变量定义:KID=0,KTMP=0
;**********************
KEYS:
MOVDPTR,#KJMP
MOVA,KID
RLA
JMP@A+DPTR
KJMP:AJMPKEYEN
AJMPKEYDEL
AJMPKEYSCAN
AJMPKEYUP
AJMPKEYFUN
MOVKID,#0
RET
KS:MOVKPIN,#0FH
NOP
NOP
MOVA,KPIN
ANLA,#0FH
XRLA,#0FH
RET
KEYEN:
ACALLKS
JZKENEXT
MOVKTMP,#0
INCKID
KENEXT:RET
KEYDEL:
INCKTMP
MOVA,KTMP
CJNEA,#30,KDEXT
MOVKTMP,#0
INCKID
KDEXT:RET
;*******************************
;KPIN: D7 - D0 =0EFH
;D7 D6 D5 D4
; D03 210
; D17 654
; D2B A98
; D3F EDC
KEYSCAN:
ACA
c语言4x4按键计算器代码,4X4按键实现计算器功能.doc相关推荐
- 如何用HTML语言设计进度条,html5代码如何实现进度条功能?(示例)
本篇文章主要介绍html5代码如何实现进度条功能,希望对大家有所帮助. html5代码实现进度条功能具体代码示例如下:/*实现进度条的功能*/ 下载进度: /*js代码*/ var pg=docume ...
- c语言可循环计算器代码,可编程简易计算器(代码)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...
- c语言编程简易计算器代码,可编程简易计算器(代码)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...
- 计算机自带的科学计算器代码,[置顶] 科学计算器(简化版:基于MFC对话框)
科学计算器(简化版) 最终界面: 全部源代码下载地址: 链接: http://download.csdn.net/detail/u012339743/8198227 详细编写过程: 1. 打开V ...
- 人品计算器代码Android,Android 人品计算器案例
一.画布局 1.EditText:输入姓名 2.RadioGroup:里面放多个RadioButton选项 3.Button:跳转到结果页面 二.准备第二个页面 1.activity_result.x ...
- linux 按键驱动代码分析
原文地址:http://blog.csdn.NET/woshidahuaidan2011/article/details/51695147 二.按键驱动 1.对按键驱动添加设备信息 linux-3.1 ...
- 如何用计算机求特征值特征向量,特征值和特征向量计算器为4X4的实矩阵
特征值和特征向量计算器为4X4的实矩阵 λ 是 [A] 矩阵的特征值 (标量),如果有一个非零向量 (v) 这样满足以下关系: [A](v) = λ (v) 每个向量 (v) 满足这个方程叫做 [A] ...
- 锁定计算机按键精灵运行,最新按键精灵脚本代码大全 按键精灵命令运行方法...
按键精灵脚本代码命令运行大全.按键精灵的鼠标动作录制是一项非常好用的功能,但因为鼠标点击的地方是固定死板的,且延迟时间无法调整,如果在后台脚本中添加一些专用代码,就可以调整点击频率和点击时间,甚至可以 ...
- 用C语言实现一个简单的计算器代码
#include <stdio.h> #include <math.h> #include <stdlib.h> //预处理指令 int main(void) {d ...
最新文章
- jsp重定向与请求转发的路径404问题
- 微软副总裁Bob Muglia对Silverlight的公开道歉信
- 填补商用安全产品空白 山石云安全升级版本亮相OpenStack Days
- 界面上下固定_【技术浅析】三通道机床自动上下料控制方法应用
- e300氛围灯哪里调节_保时捷macan内饰改装升级32色呼吸氛围灯
- java使用BZip算法压缩解压缩文件、数据流、byte[]字节数组
- Android开发之——依赖冲突Program type already present
- Keras基础项目实践
- 操作失败,错误为 0x00000bcb
- 应对雾霾,哪款口罩适合你?
- android字节流保存,android数据存储之文件存储方法
- amr转mp3,amr怎么转换mp3?
- 热敏打印机USB测试工具,命令行版本xpt
- Rayman的绝顶之路——Leetcode每日一题打卡11
- 【上岸合肥工业大学】计算机考研经验分享(初试+复试)
- Ubuntu终端快捷复制粘贴
- 仿时钟表盘自定义view
- 赵小楼《天道》《遥远的救世主》深度解析(6)为什么肖亚文说丁元英是魔是鬼都可以,就是不是人?
- A Knee_Guided Evolutionary Algorithm for Compressing Deep Neural Network (KGEA)解读
- 面阵激光雷达产品调研——Livox Avia