全球旧事资料 分类
义的a数组共有5个元素,但只对前两个赋初值,因此a0和a1的值是1、2,而后面3个元素的值全是0。3.在定义数组时对数组元素的全部元素不赋初值,则数组元素值均被初始化为04.可以在定义时不指明数组元素的个数,而根据赋值部分由编译器自动确定例:ucharBitTab0x7F0xBF0xDF0xEF0xF70xFB则相当于定义了一个BitTab6这样一个数组。5.可以为数组指定存储空间,这个例子中,未指定空间时,将数组定义在内部RAM中,可以用code关键字将数组元素定义在ROM空间中。ucharcodeBitTab0x7F0xBF0xDF0xEF0xF70xFB
f用这两种定义分别编译,可以看出使用了code关键字后系统占用的RAM数减少了,这种方式用于编程中不需要改变内容的场合,如显示数码管的字形码等是很合适的。6.C语言并不对越界使用数组进行检测,例如上例中数组的长度是6,其元素应该是从BitTab0BitTab5,但是如果你在程序中写上BitTab6,编译器并不会认为这有语法错误,也不会给出警告(其他语言如BASCI等则有严格的规定,这种情况将视为语法错误),因此,编程者必须自己小心确认这是否是你需要的结果。程序分析:程序中将定时器T1用作数码管显示,通过i
terrupt3关键字定义函数Timer1为定时器1中断服务程序,在这个中断服务程序中,使用TH1655363000256TL1655363000256来重置定时器初值,这其中3000即为定时周期,这样的写法可以直观地看到定时周期数,是常用的一种写法。其余程序段分别完成取位码以选择数码管、从显示缓冲区获得待显示数值、根据该数值取段码以点亮相应笔段等任务。其中使用了一个计数器,该计数器的值从05对应第1到第6位的数码管。主程序的第一部分是做一些初始化的操作,设置定时器工作模式、开启定时器T1、开启计数器T0、开启T1中断及总中断,随后进入主循环,主循环首先用u
sig
edi
t型变量tmp取出T0中的数值,这里使用了“tmpTL0TH08”这样的形式,这相当于tmpTH0256TL0,但比之于后一种形式,该方式可以得到更高的效,其后就是将tmp值不断地除10取整,这样将i
t型数据的各位分离并送入相应的显示缓冲区。
fr
好听全球资料 返回顶部