c语言负数显表,C语言编程问题请教高手-专业自动化论坛-中国工控网论坛
小弟编制一个程序功能是:利用定时器0和数显芯片做一个时,分,秒显示(6个数码管)
汇编程序已经编制出来了 可是用C语言却不能实现
汇编程序:
EN BIT P2.7
DOUT BIT P2.6
CLK BIT P2.5
DISPBUF EQU 20H
MSCNT EQU 30H
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP TC0INT
ORG 0035H
;**************************************
;主程序
;**************************************
MAIN: MOV SP,#60H
MOV R7,#06H
MOV R0,#DISPBUF+1
LOOPCLR: MOV @R0,#00H
INC R0
DJNZ R7,LOOPCLR
MOV TMOD,#01H
MOV TH0,#0BH
MOV TL0,#0DCH
SETB EA
SETB ET0
SETB TR0
MOV MSCNT,#10H
LCALL SETXIAO
LCALL TSLED
SJMP $
;**************************************
;中断服务程序
;**************************************
TC0INT: PUSH PSW
PUSH ACC
CLR RS1
SETB RS0
MOV TH0,#0BH
MOV TL0,#0DCH
MOV A,MSCNT
DEC A
MOV MSCNT,A
JNZ GOTO_RET
MOV MSCNT,#10H
;秒的调整处理
MOV R0,#DISPBUF+2
LCALL DAADL
CJNE R2,#60H,TSLED_LOOP
LCALL CLR0
;分的调整处理
MOV R0,#DISPBUF+4
LCALL DAADL
CJNE R2,#60H,TSLED_LOOP
LCALL CLR0
;时的调整处理
MOV R0,#DISPBUF+6
LCALL DAADL
CJNE R2,#24H,TSLED_LOOP
LCALL CLR0
TSLED_LOOP: LCALL TSLED
GOTO_RET: POP ACC
POP PSW
RETI
;****************************************
;调整子程序
;****************************************
DAADL: ;合并
MOV A,@R0
SWAP A
DEC R0
ORL A,@R0
INC A
DA A
MOV R2,A
;拆分
ANL A,#0FH
MOV @R0,A
MOV A,R2
ANL A,#0F0H
SWAP A
INC R0
MOV @R0,A
RET
;*****************************************
;缓冲清0子程序
;*****************************************
CLR0: CLR A
MOV @R0,A
DEC R0
MOV @R0,A
RET
;*****************************************
;DTLED-6小数位、ID识别码、蜂鸣器设置子程序
;*****************************************
SETXIAO: MOV R0,#DISPBUF
MOV @R0,#00H
MOV R0,#DISPBUF+7
MOV @R0,#01H
MOV R0,#DISPBUF+8
MOV @R0,#00H
RET
;**************************************
;DTLED-6送数码管显示子程序
;**************************************
TSLED: CLR CLK
CLR EN
LCALL DELAY_200US
MOV R0,#DISPBUF
MOV R2,#00H
MOV R3,#00H
LEDBYTE_LOOP: MOV A,@R0
SWAP A
LEDBIT_LOOP: SETB CLK
RLC A
MOV DOUT,C
CLR CLK
LCALL DELAY_10US
INC R3
CJNE R3,#04H,LEDBIT_LOOP
MOV R3,#00H
INC R2
INC R0
CJNE R2,#09H,LEDBYTE_LOOP
SETB EN
RET
;**************************************
;200US延时子程序
;**************************************
DELAY_200US: MOV R4,#98
DJNZ R4,$
NOP
RET
;**************************************
;10US延时子程序
;**************************************
DELAY_10US: MOV R4,#3
DJNZ R4,$
NOP
RET
;***************************************
;程序结束
;***************************************
END
自己试编的C语言如下:请高手看看问题出在哪里?
#include "at89x52.h"
#include "stdio.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_();
sbit en=P2^7;
sbit dout=P2^6;
sbit clk=P2^5;
uchar dispbuf【9】;
uchar clocktime【4】;
uint mscnt;
uint i;
void delay (unsigned int value)
{
while (value!=0)
value--;
}
void setxiao(void);
v
c语言负数显表,C语言编程问题请教高手-专业自动化论坛-中国工控网论坛相关推荐
- plcst语言编程教程_PLC ST语言编程之我的心得-专业自动化论坛-中国工控网论坛...
以前编程都是习惯用梯形图,每次编运算程序,都得写很多条运算程序.调试且不说,就光重复使用就得复制好几遍,还要一遍一遍的改寄存器地址,很是麻烦.一次偶然的机会,我用到了一款PLC可以使用ST 语言编程的 ...
- 最严谨的计算机语言p,一款全新的 高级PLC编程语言 P语言 简介-专业自动化论坛-中国工控网论坛...
几年前,我带研究生做了个"高级PLC编程语言[P语言]",不知是否有意义? 现贴出看看,望指点,指教.谢谢! 摘要:本文介绍了一款国产的.自主的.全新的计算机高级语言[简P语言]. ...
- 西门子哪款plc支持c语言,C语言 - 西门子PLC论坛 - 中国工控网论坛 - 中国自动化领域权威论坛...
据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器.寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. ...
- c语言线性顺序表,C语言程序——线性顺序表.doc
C语言程序--线性顺序表.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...
- 用标准C语言初始化线性表,C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作...
1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...
- c语言负数左移右移_C语言位运算符:与、或、异或、取反、左移和右移!
语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...
- php语言注册信息表,php语言表的空结果
我试图在数据库中添加多种语言选项.我创建了一个表,如下所示. 我的PHP函数是: public function Languages(){ $query=mysqli_query($this-> ...
- c语言负数左移右移_C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
- c语言变量名下表,C语言变量名命名规则
一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字 ...
最新文章
- RHEL 5服务篇—使用Apache搭建Web服务(一)
- 此域的推荐安全级别是“安全级-高”的解决办法
- mysql数据转储方法_Mysql数据库各种导出导入数据方式的区别(我的理解错误还望指正)...
- 5行Python 代码就能让你的电脑永不息屏
- WTL学习笔记——初章
- Spring Boot(7)---构建系统和依赖管理
- nginx windows启动停止_Nginx之3抛砖引玉 - (目录索引)
- Ubuntu 8.04 Hardy LTS 软件源设置
- 面向对象的数据库开发--再论ORM
- spring入门常见的问题及解决办法
- TCP/UDP协议简要梳理
- 免费下载《程序员面试宝典》.pdf
- rtx2060为什么叫智商卡_作为世界上智商最低的狗种之一,中华田园犬是否“名副其实”?...
- sybase datediff mysql_Sybase中的日期时间函数_龙的天空
- 数据挖掘流程总结及案例分析
- MPLS之LDP的工作原理和配置
- iApp4Me一周年记
- etf动量轮动+大盘择时:年化30%的策略
- 【毕业设计】老人心率脉搏血压体征监测手表 - stm32 单片机 嵌入式 物联网
- 英语口语考试资料Food
热门文章
- Matlab中annotation函数的使用
- java记事本写玫瑰花代码_Java记事本源代码(完整)
- 基于JavaWeb的汽车销售管理系统设计与实现 项目源码及数据库文件+论文
- Delphi IDE无法连接三层服务器的解决
- 结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)...
- 会议音频处理器(8进8出)
- C# WinForm开发系列 - PDF
- yacc语法分析minipascal_语法分析器 YACC实验报告
- 怎么正版登录我的世界java_【正版】求问正版登陆到底是怎么登陆的TAT【】【】【】【】【】...
- 表单元素的submit()方法和onsubmit事件