⑴ 完全手册--51单片机c语言开发详解
郭天祥的新概念《51单片机C语言教程——入门、提高、开发、拓展全攻略》(附光盘)10天学会单片机,我用了10几天谢谢采纳
⑵ 单片机工作原理详解
单片机的工作原理与计算机CPU的工作原理是一样的,主要是利用片内的半导体存储器存放用户的程序和数据,单片机的核心中央微处理器CPU中有指令寄存器、指令译码器,程序计数器等部件,由程序计数器寻找下一条要执行的指令,找到后,将指令送给指令寄存器,再由指令译码器翻译执行该指令,完成对指令功能的操作;单片机的工作就是不断地取指令、分析指令、执行指令的循环过程。按预先编写的程序执行,以达到用户期待的结果。
⑶ 谁能详细解释一下单片机的概念以及用途
单片机又称单板机…算了不想解释了,别学了没前途,完全被ARM取代了,我劝你弃单片机从嵌入式吧!
⑷ 51单片机C语言开发详解的介绍
本书由浅入深、循序渐进地介绍了8051内核单片机的系统知识和开发方法,并以atmel公司生产的at89s51单片机为实例,具体讲解了单片机在各种嵌入式系统中的应用。
⑸ 单片机使能端的详解
EN........
⑹ 请具体、详细解释下什么是单片机
这个就是一个单片机用ds18b20温度传感器读温度的程序呀?你在程序中直接调用/**************读取ds18b20当前温度************/
void
readtemperature(void)
这个就可以得到温度了。
⑺ 详解单片机中断的细枝末节和精确性。
你的理解基本是对了,但是定时器有中断,并不需要你时时查询,溢出时会产生中断,然后强行抢走你的CPU去执行中断里的代码,完成后再回到原点.
如果你设置了中断但没有写中断函数的话,你的程序很有可能开飞机.
如果你只用一个定时器中断,并且在下一个中断到来之前把事处理完,你完全可以把程序全部放到中断中处理.
但问题是
有的编译器不允许中断时调用函数.
你如果用到多个定时器怎么办?
如果主循环超过定时器完全不是问题,你可以在中断里放一人变量,每中断一次递增.
你在主循环中读取递增数量,就可以知道你这一循环漏了几次中断.
如果你定时要求非常准备并且都要及时处理,你把要处理的事项放到中断就可以了.
⑻ 单片机跑飞详解
单片机程序死机,跑飞了可以从以下几个方面查找原因:
1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。
2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断;否则出现造成数据乱套。
3. 地址溢出,常见错误为指针操作错误。我要着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机,这种情况下如果死机说明运气好,否则后面不知道发生什么头疼的事。
4. 无条件的死循环;比如使用while(x);等待电平变化,正常情况下x都会变成0,就怕万一,因此最好加上时间限制。
5. 看门狗没有关闭。有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位,造成死机,这个要看芯片手册,最好在程序复位后首先应该显式清除看门狗再关闭看门狗。
6. 堆栈溢出。最难查找的问题,对于容量小的单片机,尽量减少函数调用层级,减少局部变量,从而减少压栈的时候所需的空间。当你把以上几条都试过不能解决问题,试一试把你的被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量,试一试说不定就可以了。
⑼ 51单片机C语言开发详解的内容简介
全书共分13章,对单片机基本概念、8051单片机内核结构、单片机的汇编与c语言编程、单片机的开发环境及方法进行了详细的介绍;并通过具体的开发实例,讲解了嵌入式系统中的接口技术、串行通信、数模转换、模数转换、现场总线等知识与开发技巧。本书最大的特色在于每一个实例都力求让读者真正了解从原理到实现的具体过程。因此本书介绍的知识虽然基于atmel at89s51型处理器,但讲解的基本设计原理和技术都是通用的,通过对本书的学习,读者可以完全具备将书中的技术应用于其他处理器的能力。
本书内容系统完整,注重综合应用,适合初学单片机、嵌入式系统设计的读者学习,同时也可用做高校相关专业师生和社会培训班的教材。对于从事嵌入式系统开发的工程技术人员也极具参考价值。
⑽ 单片机keil使用详解
你用的是什么版本的keil,现在最版本是keil4,建议你用。
其实你应该告诉大家你哪儿不懂的,这样让大家知道你现在的水平程度。
我先来大致说一点吧!
首先正确安装keil软件—>打开keil—>project—>newUvisionproject—>为工程取名字,并选择工程要保存的路径,建议每个工程新建一个文件夹,方便文件管理—>出来一个对话框,是选择芯片的,你根据你的芯片公司和型号来选择就行了,比如:最常用的at89c52,点atmel,找到at89c52,点OK后会出来一个对话框,问你是否添加启动文件,点“是”—>这样就建好了一个工程,点File菜单下New新建文件—>先保存文件,点保存按钮后出来路径框,取名字后缀是.c或者.h,点保存—>接下来在左边project下把Target1点开,在SourceGroup1上右键,点击AddFiletoGroup'SourceGroup1'—>在弹出的框中点刚刚保存的文件,然后点Add,关闭对话框,左边project框中可以看到文件已经添加—>在开始之前还是先来配置一下keil环境,点击工具栏品字图标左边像魔棒一样的按钮—>接下来的配置比较复杂,我用图来解释,Target项目下只改一个晶振的值,Output下要点击生产HEX文件,Debug下左边是keil仿真调试配置,右边是程序下载到芯片调试配置,看你是怎么用了。—>一切完工,可以编程调试了。
刚开始看起来配置有一点复杂,多用到几次就好了。
有什么不懂再交流吧!