发表于:2006-11-01 22:24:00
楼主
1. 学习单片机要准备什么?
答:一、硬件准备:计算机一台。编程器一只、AT89C51一片,实验板一块,再准备一只仿真机,其它常规工具
。
计算机:你能上网最好。
编程器
仿真机
实验板
二、软件准备
编程软件
仿真软件
调试助手
等
可到http://www.zidh.com下载所需东西。
2. 如何才能才为单片机的高手啊?
答:要成为单片机高手,应该多实践,时常关注单片机的发展趋势;经常上一些相关网站,从那里可以找到许
多有用的资料。如www.zidh.com就是一个很好的网站。
3. 我学过MCS51单片机教材,很有兴趣,但缺乏实践经验,手头没有任何道具可供演练,资金又有限,请
问该怎么办?
答:在没有任何条件进行实践时,如果真的有兴趣,可以下载一些具有软件仿真功能仿真软件进行一些编程,
像一些做得比较好的51仿真软件应该具有这种功能。HOLTEK的仿真软件HT-IDE3000也具有相应的功能,同时它
还具有LCD软件仿真,周边电路的软件仿真。有兴趣的话,也可以去该网站免费下载使用:
http://www.zidh.com。同时可以到一些电子市场去购买一些简单器件自己练习搭一下电路以加强硬件方面的知
识。
4. 在学习单片机的过程中,如何理解预分频,12时钟模式(6时钟模型)等概念?
答:预分频器的英文是prescaler。它就是将输入的频率信号分频,然后再输出。HOLTEK公司有一款最基本的8
位I/O型单片机HT48R05A-1,我们就以这款单片机为例说明。HT48R05A-1有一个8位向上计数的定时器Counter。
系统时钟Fsys(4MHz)进入八阶预分频器(8-stage Prescaler)进行分频,再进入定时计数器Counter计数。
根据软件设置,预分频器可以将Fsys进行2的n次方分频(n=1~8)。举例来说,如果软件设置为预分频器2分频
,那幺预分频器输出的频率就是Fsys/2=2MHz,这个2MHz信号再进入定时计数器Counter。
如果需要单片机的详细资料,可以在如下地址下载:http://www.zidh.com.cn。
12时钟模式(6时钟模型)应该就是在MCS51系列中,12个系统时钟为一个机器周期,2个系统时钟为一个状态,即
一个机器周期有6个状态。
5. 搞单片机开发,一定要会C吗?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占
用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,
一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂
家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程
序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用
汇编语言比较好。
而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰
富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一
种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具
有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行
程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件
的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规
模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。