X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
51单片机
[求助] 新人求将汇编转化为C语言
NANSHI
2018-12-16 00:37
楼主
汇编源程序:
ST BIT P3.0
OE BIT P3.1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: CLR P2.0
CLR P2.2
LCALL DELAY
CLR ST
SETB ST
CLR ST
LCALL DELAY
SETB OE
MOV P1,#0FFH
MOV A,P1
CLR OE
CLR C
SUBB A,#67H ;报警值
JNC ALERM
SJMP MAIN
ALERM: SETB P2.2
SETB P2.0
MOV R4,#255
DJNZ R4,$
CLR P2.0
MOV R5,#255
DJNZ R5,$
SJMP ALERM
DELAY: MOV R2,#250
AA: MOV R3,#255
DJNZ R3,$
DJNZ R2,AA
RET
END
基于单片机一氧化碳报警器设计.doc
(2018-12-16 00:36 上传)
239.5 KB, 下载次数: 1
点赞
回复评论 (3)
沙发
mcu5i51
//汇编源程序:
//ST BIT P3.0
//OE BIT P3.1
// KEIL C51 中的头文件,其它的自己调整
#include "reg51.h"
void delay();
// 位定义,KEIL C51 专用方式
sbit ST = P3^0;
sbit OE = P3^1;
sbit P20 = P2^0;
sbit P21 = P2^1;
sbit P22 = P2^2;
sbit P23 = P2^3;
sbit P24 = P2^4;
sbit P25 = P2^5;
sbit P26 = P2^6;
sbit P27 = P2^7;
//ORG 0000H
//LJMP MAIN
//ORG 0030H
//MAIN:
int main()
{
unsigned char tempA;
while(1)
{
// CLR P2.0
// CLR P2.2
P20 = 0;
P22 = 0;
// LCALL DELAY
// CLR ST
// SETB ST
// CLR ST
delay();
ST = 0;
ST = 1;
ST = 0;
// LCALL DELAY
// SETB OE
// MOV P1,#0FFH
// MOV A,P1
// CLR OE
delay();
OE = 1;
P1 = 0xFF;
tmpA = P1;
OE = 0;
// CLR C
// SUBB A,#67H ;报警值
// JNC ALERM
// SJMP MAIN
if(tmpA >= 0x67) // 忘记了很多汇编,大于或小于自己改
{
unsigned char i;
while(1)
{
// ALERM: SETB P2.2
// SETB P2.0
P22 = 1;
P20 = 1;
// MOV R4,#255
// DJNZ R4,$
// CLR P2.0
i = 255;
while(--i);
P20 = 0;
// MOV R5,#255
// DJNZ R5,$
i = 255;
while(--i);
// SJMP ALERM
}
}
}
}
void delay()
{
// DELAY:
// MOV R2,#250
// AA:
// MOV R3,#255
// DJNZ R3,$
// DJNZ R2,AA
// RET
unsigned char t2,t3;
t2 = 250;
while(--t2)
{
t3 = 250;
while(--t3);
}
}
//END
点赞
2018-12-16 08:51
板凳
chuchuda
看懂后自己写,不能自动转的吧
点赞
2018-12-16 22:51
4楼
chunyang
靠工具转化是不行的,只能在读懂原汇编程序的基础上重新用C编写,或者弄清楚具体的应用需求,直接用C编写。当然,之前的必备功课是先掌握C语言编程。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞
2018-12-17 11:24
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
采用滞回比较的思想控制继电器,防止继电器的在设定值附近来回动作
1117-3.3V电源芯片中文资料及应用范围
11月24日直播回顾:恩智浦嵌入式人机界面解决方案详解(含视频回放、ppt、问答)
单片机领域,有没有开源的软件仿真器的?
新建了一个ucos-II讨论,QQ群号码151323746
交流输出半桥式变压器开关电源(part1)开关电源原理与设计(连载34)
有没有使用ST的触摸库做滑轮/滑条的TX啊?
请教C6455 EMIFa问题,多谢!
EEWORLD大学堂----EZ-BLE PRoC低功耗蓝牙模块介绍
磁电式电子点火电路的工作原理
有没有用LTC1196的???
MTK短信开发详解(六)
AD14本地化菜单勾选无效如何解决?
S5pv210 升级最新的wince BSP 版本居然有问题,加载uart1/uart2/uart3系统启动失败!
BLDC电机控制算法——FOC简述
PyPortal天气和时钟显示器
春天到了,来myTI充充电吧!
我不知道该从何下手
求Launch Pad驱动程序
求助:时钟信号受干扰
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复