您现在所在的是:

单片机论坛

回帖:20个,阅读:1689 [上一页] [1] [2] [3] [下一页]
1094
972001057
文章数:126
年度积分:50
历史总积分:1094
注册时间:2011/10/24
发站内信
发表于:2013/7/30 12:02:12
#10楼
回复 #7楼 972001057
大侠,那个可能太长了点,你解说出来我也未必理解得了。要不说说下面这个吧
mov  a,31H;
xch  a,40h
mov  30h,a
sjmp $

这里我理解的是,31h内的内容已经装进a里面了,然后40h的内容与a里面的内容互换,那么换完之后a装不就是40h的内容 了,那之后又将a装到30h里,那30h里的内容,不也是跟40h里的面的内容相同?
7672
w71412659
文章数:1455
年度积分:53
历史总积分:7672
注册时间:2013/5/8
发站内信
2018论坛魅力之星
发表于:2013/7/30 16:12:15
#11楼
回复 #7楼 972001057
#include<reg52.h>                    //调用的头文件,CPU不同头文件也可能不同
#include<stdio.h>                    //带.h的都表示头文件,这个头文件有什么用自己查资料
void main()                          //main代表函数的入口,就是程序开始执行的地方
{
unsigned char a1,a2;                 //定义变量
singned char b1,b2;

scon=0x50;                           //这一片是定义串口的,具体怎么初始化的自己查资料
tmod=(tmod & 0x0f)| 0x20;
th1=221;
ie|=0x90;
tr1=1;
ti=1;

a1=0x7f;                             //变量赋值,0x表示16进制
b1=0x7f;
printf("a1=%d",(int)(a1));           //printf表示输出
printf("b1=%d",(int)(b1));
printf("\n");

a1=0x91;
b2=0x91;

printf("a2=%d,(int)(a2));
printf("b2=%d,(int)(b2));

while(1)                            //循环,怎么用的查C语言
{}                                  //程序有问题,在这里是个死循环,这个程序一辈子跑不出去
}



就给你说这么多吧,自己慢慢研究,既然你学过PLC,那硬件上面应该没什么问题,定时器、计数器、中断、I/O、通讯都是PLC有的东西,理解起来应该很快,学起来应该不难。然后好好学学C语言,多学多练
兽人永不为奴,除非包吃包住!
7938
文章数:1877
年度积分:125
历史总积分:7938
注册时间:2008/12/26
发站内信
发表于:2013/7/30 21:11:10
#12楼
要有耐性   你搞PLC编程 肯定 也不是很精通  否则这个理解起来 应该不是很难     提一点小建议  楼主 不建议你多学  但一定在一个领域里学精   也就是说 在一个领域里成为所谓的高手  不然什么都会  什么都不精   才是最要命的
开心了就笑,不开心就过会再笑
1094
972001057
文章数:126
年度积分:50
历史总积分:1094
注册时间:2011/10/24
发站内信
发表于:2013/7/31 7:05:58
#13楼
回复 #11楼 w71412659
谢谢大侠,目前也正在学C。你说得很对,PLC我也不是很精。因为我都是自学的,没有人指导,有问题就来论坛里问。因为目前到功能指令这一块,找不到一些例子来看,具体感觉自己理解了指令的意思,但想不到地方用,所以也在找这方面的资料。以后还请大侠多多指教。我是自学三凌PLC的。
1094
972001057
文章数:126
年度积分:50
历史总积分:1094
注册时间:2011/10/24
发站内信
发表于:2013/7/31 7:08:36
#14楼
回复 #12楼 光
是的,不是很精通。因为现在遇到瓶颈了,功能指令那一块没有实际运用实例,所以目前还在找这方面的资料。我在网上看了很多贴,说C语言通了,PLC也就不是问题了,刚好单片机也是可采用C编写,所以就想在反正平时也闲着,就学一下单片机。谢谢你的意见,我也不是三心二意的人,呵呵,我很懂得知足的。
9620
Kate
文章数:1123
年度积分:68
历史总积分:9620
注册时间:2002/3/24
发站内信
发表于:2013/7/31 10:13:35
#15楼
你起码要象11楼那样,别人的作业你得把自己的理解、运行结果注释上去变成自己的作业,进一步就可以修改后再看看运行的结果。
这里有大把的老师,你尽可以把“自己的作业”交上来,老师们给你批改作业。
人有人意我有我意合得人意恐非我意合得我意恐非人意人意我意恐非天意合得天意自然如意
7938
文章数:1877
年度积分:125
历史总积分:7938
注册时间:2008/12/26
发站内信
发表于:2013/8/2 3:24:55
#16楼
回复 #14楼 972001057
我也不是很懂  只是比你稍微好一点而已  我也正在学单片机  可以一起交流   我邮箱 bizhenguang@163.com  可以加我Q619696778
开心了就笑,不开心就过会再笑
11767
gzg_00
文章数:8996
年度积分:56
历史总积分:11767
注册时间:2009/10/1
发站内信
发表于:2013/8/2 8:20:23
#17楼
你要先明白一下C语言了
10454
xlian
文章数:3232
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2013/8/2 9:44:22
#18楼
#include<reg52.h>             //在这里告诉编译器使用的芯片类型,在reg52.H这个头文件里说明芯片相关的定义
#include<stdio.h>       //stdio.h定义了一些函数,如是面使用printf()函数
void main()          //主函数main()任何程序都必不可以且只能有一个
{
unsigned char a1,a2;     //在这里定义两个字节变量0-255
singned char b1,b2;          //在这里这义两个有符号变量范围-127--127
//从这里开始配置硬件(对单片机进行设置)
scon=0x50;           //配置串口,具体的你看下51单片机的资料,
tmod=(tmod & 0x0f)| 0x20;  //这里将单片机的定时器1配置给串口提供时钟即串行通讯的波特率来源
th1=221;
ie|=0x90;            //这里配置单片机的中断
tr1=1;
ti=1;

a1=0x7f;              //将值0x7f写入a1变量中,a1就相当于对一个存储地址取名叫a1,使用的是单片机的b1=0x7f;                         //RAM存储器
printf("a1=%d",(int)(a1));    //将变量值自串口输出

a1=0x91;
b2=0x91;

printf("a2=%d,(int)(a2));
printf("b2=%d,(int)(b2));
//上面的程序只执行一次,即单片机复位后执行一次上面的程序
//下面开始进入主循环
while(1)                
{}
}
1043
LKEMIN
文章数:39
年度积分:50
历史总积分:1043
注册时间:2008/3/10
发站内信
发表于:2013/12/30 21:39:29
#19楼
你要先明白一下C语言了

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005