登录
首页 单片机论坛
回帖 发帖
正文

主题:单片机初学者的困惑

点击:1762 回复:20

大侠,那个可能太长了点,你解说出来我也未必理解得了。要不说说下面这个吧
mov  a,31H;
xch  a,40h
mov  30h,a
sjmp $
这里我理解的是,31h内的内容已经装进a里面了,然后40h的内容与a里面的内容互换,那么换完之后a装不就是40h的内容 了,那之后又将a装到30h里,那30h里的内容,不也是跟40h里的面的内容相同?
13-07-30 12:02
#include                    //调用的头文件,CPU不同头文件也可能不同
#include                    //带.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语言,多学多练
13-07-30 16:12

要有耐性   你搞PLC编程 肯定 也不是很精通  否则这个理解起来 应该不是很难     提一点小建议  楼主 不建议你多学  但一定在一个领域里学精   也就是说 在一个领域里成为所谓的高手  不然什么都会  什么都不精   才是最要命的
13-07-30 21:11
谢谢大侠,目前也正在学C。你说得很对,PLC我也不是很精。因为我都是自学的,没有人指导,有问题就来论坛里问。因为目前到功能指令这一块,找不到一些例子来看,具体感觉自己理解了指令的意思,但想不到地方用,所以也在找这方面的资料。以后还请大侠多多指教。我是自学三凌PLC的。
13-07-31 07:05
是的,不是很精通。因为现在遇到瓶颈了,功能指令那一块没有实际运用实例,所以目前还在找这方面的资料。我在网上看了很多贴,说C语言通了,PLC也就不是问题了,刚好单片机也是可采用C编写,所以就想在反正平时也闲着,就学一下单片机。谢谢你的意见,我也不是三心二意的人,呵呵,我很懂得知足的。
13-07-31 07:08
你起码要象11楼那样,别人的作业你得把自己的理解、运行结果注释上去变成自己的作业,进一步就可以修改后再看看运行的结果。
这里有大把的老师,你尽可以把“自己的作业”交上来,老师们给你批改作业。
13-07-31 10:13

我也不是很懂  只是比你稍微好一点而已  我也正在学单片机  可以一起交流   我邮箱 bizhenguang@163.com  可以加我Q619696778
13-08-02 03:24
你要先明白一下C语言了
13-08-02 08:20
#include             //在这里告诉编译器使用的芯片类型,在reg52.H这个头文件里说明芯片相关的定义
#include       //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)                
{}
}
13-08-02 09:44
你要先明白一下C语言了
13-12-30 21:39

上一页 下一页

工控新闻

更多新闻资讯