怎么可能嘛兄弟
单片机和C语言是两个知识点,两个都要学的
学习单片机最忌讳的就是把别人的一堆代码下载下来,想看一下效果,都验证点什么
单片机不是这样学的,要一步一个脚印,一点一点来的至于你想"移植",那是受了C语言简介中的"C语言可移植性好"影响
8051和PIC是两个不同指令的单片机的,端口名称都中不一样的
8051叫P0,P1...........
PIC叫PA,PB............
两者中断机制也是不一样的
8051有各个中断对应的中断入口的,中断程序只要触发了就会直接执行对应的中断
而PIC只有一个中断入口,中断触发之后要先查询中断标志位,用来判断是哪个中断,然后才执行对应的中断
8051的端口是双向的,只要释放了端口,直接就是可以读取电平也可以输出电平
而PIC在读取的时候要先把端口设定成数据输入模式才能读取到端口的电平状态
如果要输出高低电平,那就要把端口设定成数字输出模式,才能输出电平
8051只要安装了KEIL和STC下载器就可以开始学习了,可以用232下载
PIC就不一样了,你要先安装JAVA运行环境,安装MPLAB,还得安装编译器,而PIC的又有好几个编译器,每个编译器的函数都是不一样的,完还得用专用的PICKIT下载器才能下载程序
是不是对我上面的话一脸的蒙,这就对了,在你还没有真正入门之前,不要学PIC,除非有人带,或者是学校教材是这样的,又或者是工作需要
给你看一下我的第一个8051C程序,别想着一下子就能飞,你得先学会爬,然后再学会走路,走得快了,你自然就能飞了
#include<reg52.h> //包含头文件,头文件中有8051单片机的特殊寄存器地址的定义
sbit LED=P0^0; //用sbit关键字来定义LED这个端口的地址,LED方便记忆,P0这个已经在reg52.h中声明过了,可以直接P0这个名称
void main ()
{
P0=0x00; //P0端口先低电平,因为默认上电为高电平
LED=1; //LED为高电平,LED亮或者灭要看硬件电路
while(1) //while循环为真,一直循环
{
}
}
|