51单片机简单编程问题

来自:    更新日期:早些时候
简单的51单片机编程题~

你的程序大体上是对的,就是少了向结尾跳转的语句
ORG 0000H
LJMP MAIN

ORG 1000H
MAIN:
MOV A,40H
JZ LING
JB ACC.7,FUSHU
MOV A,#01H
AJMP OVER
LING:
MOV A,#00H ;若执行到此句说明程序结束
AJMP OVER;转至结束,下面的同理
FUSHU:
MOV A,#-1
AJMP OVER

OVER:
MOV 41H,A
SJMP $
END

你这单片机程序跟谁学的这么写,三个程序中都有while(1),这是无限循环结构,只允许主程序中用,而被调用的子程序不能再用了。你现在程序肯定是只执行 zuo(); 这一个,因为,有while(1),就无限循环在这个程序中了,跳不出来,就不会执行另两个程序的。把三个程序中的while(1)都删掉。

逻辑有问题,51单片机的IO端口是“线与”的关系,你用按键将两个管脚连在一起,若一个输出0,另外一个若是1,也会被强制变成0,而不是二个都变成1
像程序中 { P2=0xf0; if(P2==0xf8) 是不可能成立的,因P2的低4 位输出 0,当按下S10/ S11 /S12三个按键时,P2.6/P2.5 /P2.4 会被拉低,而不P2.3被拉高


51单片机简单编程问题视频

相关评论:
  • 1599108830851单片机C语言编程 求救啊 各位大仙!!!
    班古奚1::你有仿真器吗,可以用软件protues试试,你的灯接在哪里了?假设你的灯接在了p0-p3,灯是共什么极性的呢?共阴极0xff,共阳极为0x00;那么可以写为 include<reg51.h> void main(){ while(1)P0=0xff;} 2::定时器的东西也是简单的,实验的晶振是多少啊,一般是12mhz的,那么是1\/1000ms...

  • 1599108830851单片机简单代码问题,找错误
    班古奚你这样定义#define uint unsigned int;就是以uint 代替unsigned int;而不是代替unsigned int,因为多了一个分号 这样uint i,j; 预编译后变成 unsigned int; i,j;所以出现错误

  • 1599108830851单片机编程问题(加了while,无法执行)
    班古奚应该是加while反复检测的 while(1){ if(input==0)led1=1;else led1=0;} 你的第一个程序不规范,一个程序要么是while(1){ }形式的死循环,要么是一次完成,,这时在结尾加while(1);使程序停止不前 但我也发现,有时没有大循环的程序也会反复执行,但这样很容易发生错误,如有些程序在主...

  • 1599108830851单片机一个简答编程题
    班古奚\/\/ASCII码=BCD码+30H BCDTOA: ;转换子程序 MOV 30H,A ;压缩ASCII码暂存30H ANL A,#15 ;取个位数 ADD A,30H ;转ASCII码 MOV 31H,A ;个位ASCII码存31H MOV A,30H SWAP A ANL A,#15 ;取十位数 ADD A,30H ;转ASCII码 MOV 32H,A ;十位ASCII码存32H RET ...

  • 1599108830851单片机,简单问题
    班古奚一般情况下我们都是以1作为高电平,0作为低电平,因为这样符合我们日常生活中的认识。但是芯片的高低电平有时候不是这样的,单片机是以1作为高电平(这时也是高电压),0作为低电平(低电压)。但是并不是所有的逻辑电平都是这样(1为高,0为低)的。比如RS-232C标准规定的逻辑电平与TTL数字电路(例如...

  • 1599108830851单片机编程
    班古奚51编程得看外部电路的连接情况。没有电路图,木有办法写。。。数码管和单片机之间的电路有很多种,你这种就用译码器,74138就行。假设单片机p1口用作数码管输出。滑槽电路也不清楚,假设一个电机,用的是P2^0,P2^1(顺时针一个口,逆时针一个口)检测非金属物料的电路用的是P2^3 4. 按键电路用的...

  • 1599108830851单片机汇编程序问题
    班古奚……MOV TMOD, #01H ;工作方式1 MOV TH0, #3CH ;装入初值 定时50毫秒 MOV TL0, #0B0H SETB ET0 SETB EA SETB TR0 ;定时器0控制位 ; ---此处,缺少循环,自动往下执行到中断程序去了 SJMP $ ;---加上这行,再试试看。INT_T0:MOV TH0,...

  • 1599108830851单片机编程求指导。。。
    班古奚嘿嘿 楼上的老兄给出的程序也不对呀 看上去挺工整的,错误好几出啊,是得不到正确结果的。其实算法很简单,只要熟悉一下单片机的加法指令和循环移位指令,自己就可以编写出来。1 算法:就是使用指针 连续对20H开始的连续4个单字节二进制数相加,结果存入31H单元,要考虑进位,(进位部分存入...

  • 15991088308MCS-51单片机试题
    班古奚采纳率:64% 擅长: 汇编语言 其他编程语言 编程语言 工程技术科学 嵌入式 其他回答 哇,头回见这么多分的,楼主可要讲信用啊难得见到个爽快的,以后有问题没分也给你答。三.简答题:(每题8分共24分)1. MCS-51单片机中断的开放和关闭是如何控制的?如果要对定时器T1开放中断,可以用什么指令实现? ;***中断设置...

  • 1599108830851单片机很简单的问题,求大神解答
    班古奚只有一个对P1.0的位赋值: sbit led1=P1^0;led1=~led1 是求反吧,相当于CPL

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网