单片机一个简单的程序,不会。。。。

作者&投稿:郅矩 (若有异议请与网页底部的电邮联系)
一个简单的编程可是偶不会(可能是单片机的程序)~

也可能是个微机原理程序!
如果是单片机的
MOV A,33H
ADD A,53H
MOV 33H,A
这是加一个字节的,之后你还得考虑进位位C,加到高位字节上去;
你可以做一个循环,来实现,不愿意做,就直接写下去也可以!
时间长不用汇编了,都快忘光了,呵呵

这个简单,假设五个LED分别接P1.0~P1.4,低电平点亮LED,
KEY1接P3.0,KEY2接P3.1,按键按下时为低电平
那么:
MAIN:
JB P3.0,LS000
JB P3.1,LS004
LJMP MAIN
LS000:MOV P1,#0
LJMP MAIN
LS004:MOV p1,#0FFH
LJMP MAIN
END

位选错误,i没清零。初始化的时候P2=0x01,移位的时候P2=_crol_(P2,1)。另初始化的时候第一个数码管应该显示0,所以加上P0=0xc0。然后完整的程序如下:
#include<reg52.h>
#include<intrins.h>
char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
char i,num;
void main()
{
num=0;
P2=0x01; //
P0=0xc0; // 初始化
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(i==20)
{
i=0; //要清零的
num++;
if(num==9)
num=0;
P0=table[num];
P2=_crol_(P2,1); //不是=_cror_
}
}

}
void zd() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
}

变量i没有给初值,所以i++有可能很久都加不到20,而且你的while(1)循环中if(i==20)后没有再把i给清0,所以、、

把if中的i值该大一点吧,这样中断的太快,num变化太快了,看着就是乱的

程序有问题


美能达胶片机程序卡怎么使用教程
美能达胶片机程序卡使用教程如下。1、取出胶卷先把胶卷从包装盒中取出来,胶卷上面黑色的轴,是插入固定相机里的,这样在使用相机拍照的时候,每拍照一张后,胶卷就会转动跳转到下一张。胶卷另一端出来的胶片头,是能拉动的,是为了方便把胶片安装在相机上的。2、开启相机后盖。开启相机后盖后,在相机上...

理片机是什么意思啊
理片机是什么?它是一种计算机编程语言。在程序员的工作中,理解编程语言是非常重要的一部分,而理片机就是其中的一种。它是由德国科学家康拉德·若瑟·兹塔曾发明的,使用广泛而且极具实用性。理片机的语法相对简洁,易于学习,非常适合初学者使用。在计算机领域,理片机有着广泛的应用,尤其在科学研究...

JDF一个简单的JDF工作流程
当客户需要创建产品和传输要求时,他们会开始一个JDF工作流程。首先,客户会准备一个详细的JDF描述文件,包含所需的所有信息。接着,客户与印刷商进行合同协商,这个过程通常借助集成制造系统(MIS)进行,使得双方的沟通和协作更为高效。印刷商利用MIS来理解并规划生产流程,确保流程的精确执行。一旦生产开始...

单片微机发展的几个主要阶段
单片微机的发展历程可以分为几个关键阶段,从早期的简单处理到后来的高性能计算。第一阶段(1971~1973年),以4位或低档8位微处理器为主,如Intel的4004和8008,以及它们组成的MCS-4和MCS-8微型计算机。这些设备采用PMOS工艺,指令执行速度较慢,约10~20微秒,主要用于基础计算,软件主要依赖于机器语言...

自动叠片机是什么意思
随着工业自动化的发展和技术的不断革新,自动叠片机逐渐成为了生产制造行业中不可或缺的一种重要设备。简单来说,自动叠片机是一种通过整合设备、控制器、传感器、程序和操作界面等多种技术手段来自动化地完成对纸张的翻转、叠放、定位、封面、切割等加工工作的机器设备。自动叠片机的应用领域非常广泛,...

SMT贴片机程序原理是怎么样的,知道通知我哦
这种结构贴片机的基本原理是当一个贴装头在吸取元件时,另外一个贴装头去贴装元件。模块型贴片机可以看成是由很多个小框架型贴片机并联组合在一起而形成的一台组合式贴片机。目前世界上只有Assembleon(原来是PHILIPS)公司的FCM机型和FUJI公司新推出的NXT机型用到了此种技术。模块型贴片机使用一系列小的单独的贴...

位片机与单片机的区别?结构一样吗?主要想了解一下位片机!谢谢。。。
位片机,比较名的是MC14500这个1bit的微处理器。其实MC14500只完成了解码和逻辑运算(与或非异或的运算),程序存储器,包括程序记数器,输入、输出都要外扩。更有意思的是JMP指令,MC14500只是简单的输出一个JMP脉冲,具体的跳转由外部电路实现。当然也可以去掉这部分电路,程序只作简单的顺序运行,不能...

怎么判断一个案件是否适用了简易程序
现代社会普遍关注和人民法院工作的一个永恒的主题——司法公正,最终落实到审判质量上。据统计,笔者所在的基层人民法院适用简易程序审理的民事案件,占民事案件总数的90%左右。可以说适用简易程序审理案件的质量,左右着人民法院的整体质量,因此,对如何适用简易程序进行探讨,不无意义。 一、简易程序的重要意义 简易程序是第...

半片机是什么
电子装置。半片机是可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时等作用,是能应用于多种环境下的数字运算操作的电子装置。半片机的使用可以降低温度,降低内部的损耗,降低风险的同时,提高了工作效率。

全自动照相机系统的工作过程?
1 激光相机一般工作原理 激光相机的光源为激光束,激光束通过发散透镜系统投射到一个转动的多棱镜再折射,折射后的激光束通过聚焦透镜系统打印在胶片上。激光束的强度可以由调节器调整,调节器受数字信号控制。成像装置把图像的像素单元值以数字的方式输入到激光打印机的存储器中,直接控制每一个像素单元的...

璧山县15128591751: 如何写一个最简单单片机程序 -
俟才英佰: main() { unsigned char time=0; TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率 TH1 = 0xFD; // 波特率9600 TL1 = 0xFD; SCON = 0x50; // 设定串行口工作方式 PCON &= 0xef; // 波特率不倍增 TR1 = 1; // 启动定时器1 IE = 0x0

璧山县15128591751: 51单片机的一个简单程序 -
俟才英佰: ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV A,P0 ANL A,#1EH CJNE A,#02H,MAIN1 SETB P1.1 CLR P1.2 CLR P1.8 SJMP MAINMAIN1:CJNE A,#04H,MAIN2 CLR P1.1 SETB P1.2 CLR P1.8 SJMP MAINMAIN2:CJNE A,#...

璧山县15128591751: 单片机编程不会怎么办? -
俟才英佰: 您好,SA团队给出的答案 不会当然是学了,小弟是学8051系列单片机的,用的课本是《8051系列单片机程序设计完全手册》,不过如果一本始就看这本书,给人的感觉就是“头大”; 所以如果您想学8051系列单片机,那么推荐您先学好C语言,下面为您推荐学C语言的全套书籍 您好,SA团为您推荐《C程序设计》--清华大学出版 学完上面这本之后可以发展下面两本 《算法导论》《数据结构》

璧山县15128591751: 求一个简单的51单片机程序 (一个按键控制两个口输出) -
俟才英佰: 确实是初学呀,P0,P1,P2都有8个IO口,所以暂且给你都安排在第一个口吧. #include<reg51.h> #define uchar unsigned char sbit key=P0^0; sbit pluse1=P1^0; sbit pluse2=P2^0; void delay(int ms) { uchar i ; while(ms--)for(i=0;i<120;i++); } main() ...

璧山县15128591751: 100分求个简单的单片机程序 -
俟才英佰: #include "reg51.h"#define uint unsigned int#define uchar unsigned char uchar temp; void initTimer(void) { TMOD=0x1; TH0=0x4c; TL0=0xf7; } void timer0(void) interrupt 1 { TH0=0x4c; TL0=0xf7; temp++; if(temp==40) //延时2秒 { temp=0; P2=~P2; } } void main(void) { initTimer(); TR0=1; ET0=1; EA=1; while(1) }

璧山县15128591751: 单片机 我学不懂 对于编程这种 我很是不理解 有什么办法吗? -
俟才英佰: 建议你直接从C语言开始学.如果从汇编开始学,容易产生对汇编的依赖,以后再学C语言就会觉得很别扭.而且,就算你从汇编开始,还是会有很多东西不懂,等到你反复做实验和看别人的程序,才会理解.C语言是未来的发展方向,学好C发展空间更大些.建议你买一个开发板,或者用proteus仿真也可以.先编写一个简单的程序,运行一下,理解几条程序的功能和实现方法;然后一点一点增加程序,理解其他程序的功能和寄存器的使用方法.网上有一些简单的实验教程可以用.建议你找一个老师(不一定是真正的老师),有问题可以很快帮你讲解,可以节省你很多时间.如果你不懂,在前期学习的时候就理解错了,以后会很麻烦.

璧山县15128591751: 学习单片机编程真的很难吗?好多已经是高手的人都说不简单,让我大失信心,我该怎么办呢? -
俟才英佰: 1、单片机编程不太需要什么高深逻辑的,所以也不会很难. 2、单片机编程是实践性很强的工作,只看书是不会进步很快的,一定要具体实践. 3、建议你去买一个学习板,开始实际编程,旁边最好有高手,随时请教.

璧山县15128591751: 单片机,汇编,一个简单程序分析 -
俟才英佰: 展开全部51单片机复位的时候SP = 07H,调用函数的时候SP会加1然后把下一条指令的地址低位压栈,然后SP再加1,压栈高位 MOV 20H,#1AH 指令长度为3 MOV A,20H 指令长度为2 LCALL D1 指令长度为3 MOV 21H,A 指令长度为2 MOV A,...

璧山县15128591751: 单片机简单的程序 懂的人进 -
俟才英佰: 当然没反映啦!定义了K0来控制中断,但整个程序中都没有出现判断K0是否被按下,且c是用来记数的,等待c等于20则到了一秒,这时要清零!整个程序是乱来的,我都不知在写什么!

璧山县15128591751: 求帮写一个简单的单片机C语言程序 -
俟才英佰: void main(void)//这个程序的前提是外部脉冲信号频率要低于单片机程序中的判定-判定的频率 { unsigned int i; i=0; while(1) { while(P1^4==0);//等待P1.4为1,否则不向下执行 i++; if (i==100) { P1^0=1; P1^1=0; Delay();//这里是你的延迟 i=0; } } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网