近日来学习了单片机,在此有些学习心得想记录下来。
1.单片机的最小系统大致包括单片机(芯片),复位电路,晶振电路,下载电路。这些电路在PCB上都是连接在一起的,其他的一些模块,比如led,数码管,按键等都是独立模块,需要用杜邦线根据实际需要连接起来。
2.关于数码管的动态扫描,想让8位数码管每个数码管都同时变化显示数字,就要用到数码管的动态扫描,CPU以极短的时间重复着主程序,使人眼产生视觉停留,显示出数码管不熄灭的效果。
3.关于中断,不论是外部中断还是定时器中断,都有其对应的初始化程序和中断执行程序,且中断执行程序不需要声明,不被人为调用,由硬件控制,在其函数定义的后面需加上对应的形如 interrupt 0(1 2 3 4)的格式(分别对应 int0, t0, int1, t1, s)。特别注意,如果用到了某一中断并对其初始化,必须有对应的中断执行程序,否则中断触发无法找到对应的中断执行程序,会导致意想不到的情况,举例说明,如果用到了两个中断,其中一个没有对应的中断执行程序,会影响到另一个中断的正常运行。
4.在keil编译器中,所有的变量定义必须在程序的最上面,如果出现在某些其他类型执行语句的下面,会出现该变量未定义的错误。
sbit定义的变量好像不能做外部声明。