Ⅰ 大家谁能介绍一本初学者学习单片机的书呢希望对单片机的存储器,单元地址等有详细介绍
郭天祥的书技术性强一些 建议购买
杜洋的爱上单片机 趣味性强一些 更加强烈 以及非常建议购买
搞电子兴趣是最好的老师
Ⅱ 我看的郭天祥的十天征服单片机中的不明白的地方,求指教!
首先说你的程序吧,库文件就错了,库文件夹里面根本没有,只有AT89X52.H,
其次是你连串口都没初始化(比如串口波特率什么的),还有你的LED都没开始扫描,
最后是那个叫兽对自己写的程序是不负责任的,他们的目的不是做项目,
也不是教徒弟,而是为了卖开发板!
帮你写个例子吧。
//程序功能:串口助手发送一个16进制数据后单片机收到并显示加返回。
#include<AT89X52.H> //添加库文件
#defineucharunsignedchar //替换定义
#defineuintunsignedint //替换定义
bitTX_IF; //自定义一个标志位
ucharUA_TMP; //自定义一个变量
voiart_init() //串口初始化
{
SCON=0x50; //串口模式1,使能串口接收
TMOD|= 0x20; //设置定时器1为8位自动重装定时器
TH1=0xFD; //9600波特率
TL1=0; //9600波特率
IE |=0x90; //开串口中断,开总中断,
TR1=1; //启动定时器1
}
voidUART(ucharU_D) //发送一个字节数据
{
while(TX_IF&&(!TI)); //等待上一次数据发送完毕
TI=0;
SBUF=U_D;
TX_IF=1;
}
voidINT_UART(void)interruptSIO_VECTOR//串口中断函数
{
if(TI) //串口发送中断处理
{
TI=0;
TX_IF=0;
}
if(RI) //串口接收中断处理
{
RI=0; //清除接收中断标志
UA_TMP=SBUF; //将接收到的数据放入缓存
UART(UA_TMP); //将收到的数据发送回去
P0=UA_TMP; //将收到的数据通过P0的LED显示
}
}
voidreg_init()
{
uart_init();
TX_IF=0;
UA_TMP=0;
P0=P1=P2=P3=0xFF;
}
voidmain()
{
reg_init(); //寄存器初始化
while(1);
}
Ⅲ 本人 自学单片机, 刚刚入门,请高人指点 今后的学习方向。
其实你没要去问的这么详细……你开始最需要的就是学会用单片机,现在没必要知道单片机的原理,除非你非得用汇编语言,至少C语言可以快速上手,推荐看郭天祥的十天征服单片机,看完你会有很大的收获的,然后最好就是从你的开发板做起,把每一项都玩儿完了,就像玩儿玩具一样,很简单的,有啥想法就去实践一下,自己动手做做,最好少泡论坛去问问题,去等待别人的解答,自己要学会独立思考问题的能力,不要依赖任何东西,不会了就查资料,文库里多的是,其次就是你说的看时序只是一部分,一定要学会看datasheet,看电气参数,允许电压电流之类的,看引脚功能,看操作方法,时序只是属于操作方法,学会归类总结,最后说一下时序图的看法,把时序图上标号的引脚都定义好了,先看第一条线,是高还是低,就把引脚置高拉低,然后如果后再看第二根设置状态,再依次类推,如果后边有平线就延时一下,这样一点点的写下去,因为时序图实际上就是逻辑操作图,所以要以一个计算机的思想去描述他,记住计算机不是人,没有发散思维,做啥事儿都是一根线的操作,即使思路分叉了也只能去走一根……十天征服单片机,相信真能的,加油啊
Ⅳ 求郭天祥51单片机10天征服你视频的百度云盘链接。谢谢
书还可以!我买了一本,里面带光盘的,视频垃圾很……
视频的话你可以在网上看看云龙电子的!单片机不是看你学了多少高级命令,而是看你如何发挥初级命令的能力!当初级命令非常熟练了高级命令只要见过别人用一两次就会了
Ⅳ 有哪位知道学习单片机的网站
郭天祥老师的十天学会单片机和C语言视频教材,很好的,可以在网络搜下下载,我有下载好的,不过容量好大