【vb精品源码栏目提醒】:网学会员为广大网友收集整理了,a)主程序流程图【精品文档-doc】 - 励志,希望对大家有所帮助!
a主程序流程图 b中断服务程序流程图 图3-2数据采集程序流程图 SAMP MOV R030H 数据缓冲区首址 MOV 8 8通道计数 MOV DPTR7FF8H 指向通道0 START SETB F0 置中断发生标志 MOVX DPTRA 启动A/DP2.70WR0 SETB IT0 置外部中断0为边沿触发 SETB EX0 允许外部中断0 SETB EA 开中断 LOOP JB F0 LOOP 判发生中断标志1 DJNZ R2START 8个通道转换结束 RET INTDATA MOVX ADPTR读数据P2.70RD0硬件撤 销中断 MOV R0A 存数据 INC R0 INC DPTR 指向下一通道 CLR F0 清中断标志 RETI 3.3 标度变换 在计算机控制系统中生产中的各个参数都有着不同的数值和量纲所有这些都经过调理电路转换成A/D 转换器所能接收的05伏同一电压信号又由A/D转换成00FFH8位的数字量为进一步显示记录等必须把这些数字量转换成不同单位以便操作人员对其进行检测管理这就是所谓的标度变换。
线性参数标度变换指一次仪表测量值与转换结果具有线性关系或者一次仪表是线性刻度的。
其标度变换公式为 0000NxNAxAAmANmN 1005000019.62550Axmv A0一次测量仪表的下限 Am一次测量仪表的上限 Ax实际测量值 N0仪表下限对应的数字量 Nm仪表上限对应的数字量 Nx测量值对应的数字量 3.4键盘处理程序 在本设计中采用软件消除抖动的方法来解决干扰的问题 根据按键的功能一般分为两种情况来处理 a对于每按键一次视为一次输入的设定来说在稳定闭合期内不断检测按键是否已释放当发现按键被释放后读出对应按键的编码或称为键号 b对于重要输入功能的键设定来说每隔一定时间如500毫秒即按下某键不动一秒内重复输入该键两次对按键进行检测发现按键依然被按下时就输入该键直到按键被释放。
键盘中断程序 INT1 CLR EX1 PUSH PSW PUSH ACC MOV AP1 ANL A0E7H JNB PSW.0EXIT MOV R0 0H MOV R5 1 LCALL DELAY MOV A P1 MOV R5 50 JB P1.0EX1 JB P1.1EX2 JB P1.2EX3 EX1 INC R0 MOV AR0 ADD A 18H MOV B 8 DIV AB MOV R6 B MOV 18H R6 LCALL DELAY JNB P1.0EXIT JMP EX1 EX2 CLR C INC R0 MOV A 18H SUBB A R0 JNC EXIT DIV AB MOV R6 B MOV 18H R6 LCALL DELAY JNB P1.1 EXIT JMP EX2 延 迟 消 抖 完成通道号减1功能并存入18H 完成通道号加1功能并存入18H 恢 复 现 场 开 中 断 结 束 转各功能子程序段 初 始 化 键 盘 完成锁 键功能 是双键否 Y N Y N 中断服务子程序 关 中 断 保 护 现 场 是否有键按下 EX3 JB P1.2EX3 CPL P1.3 EXIT CLR IE1 MOV P118H POP ACC POP PSW SETB EX1 RETI 图3-4键盘中断程序流程图PROC INT1 3.5双字节二进制整数转换为压缩BCD码整数子程序 NIBTDMOV A R0 MOV R5 A MOV R6 A MOV A R7 INC A MOV A R3 CLR A N8送入位计数器R3 N字节二进制数左移一 位 高位送入CY 开 始 0送入结果单0送入结果单元 开 始 元0送入结果单元 开 始 NBD0 MOV R1 A INC R1 DJNZ R3 NBD0 MOV A R7 MOV B 08H MUL AB MOV R3 A NBD4 MOV A R5 MOV R0 A MOV A R7 MOV R2 A CLR C NBD1 MOV A R0 RLC A 图3.5 二进制整数转换为压缩BCD码 MOV R0 A 整数子程序的程序流程图 INC R0 DJNZ R2 NBD1 MOV A R6 MOV R1 A MOV A R7 MOV R2 A INC R2 NBD3MOV A R1 ADDC A R1 DA A MOV R1 A INC R1 DJNZ R2 NBD3 DJNZ R3 NBD4 RET 3.6 三字节压缩BCD码转换成ASCII码子程序 MOV R2 N 字节数存R2 MOV R0 50H ASCII码首地址 MOV R2 60H BCD码首地址 BCDASCMOV A R1 取BCD码 MOV R3 A BCD码暂存R3 ANL A 0F0H 屏蔽低四位保留高四位 SWAP A A中的高低四位交换 ADD A 30H 加30H得高位ASCII码 MOV A R3 保存ASCII码 INC R0 MOV A R3 再取BCD码 ANL A 0FH屏蔽高四位保留低四位 ADD A 30H 加30H得低位ASCII码 MOV R0 A INC R1 INC R0 DJNZ R2 BCDASC RET 3.7 LCD显示程序 LCDRS EQU P2.0LCD RS 引脚定义 EN EQU P2.1LCD EN 引脚定义 送所要显示的字符数 LCD初始化并做显示测试 调用LCD第一行的显示子程序 设置第二行所要显示的字符首址 设置第一行所要显示的字符及位置 开 始 设置所要显示的位置 调用LCD