购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2.2 数据类型演练

演练 1——数据类型的长度

(1)实例说明

这个实例主要演练int和char数据类型的区别,具体实现的功能:开机后PA0 脚外接LED灯不断闪亮。

(2)源程序

(3)实验演练

① 打开IAR AVR软件,建立工程项目,再建立一个名为ch3_1.c的源程序文件,输入上面源程序。对源程序进行编译,产生ch3_1.hex目标文件。

② 将DD-900mini实验板JP1 的LED、V CC 两插针短接,为LED灯供电。

③ 将AVR-51 转换板插到DD-900mini实验板上,同时,将ISP下载线与DD-900mini连接好。

④ 将程序下载到Atmega16 单片机中,观察实验效果。

主函数中,有一行:#define LED_fan PORTA ^ = (1 << PA0)

用来定义将PA0 脚进行取反,取反完毕后还要使用赋值符号取反后的值再赋给PA0。这样,如果原来PA0 是低电平(LED灯亮),那么取反后,PA0 就是高电平(LED灯灭);反之,如果PA高电平,取反后,PA是低电平,这条指令被反复地执行,接着LED灯就会不断“亮”、“灭”。

实验中会发现,若将程序中的变量i、j改为char字型数据,则LED灯不会按要求闪烁。这是因为char数据类型的最大值为 255,而在参数传递中,传递的最大参数却是 1000(延时1000ms)。因此,将i、j定义为char数据类型是错误的,自然完成不了所要实现的功能。尽管这个程序实际意义不大,但它可以帮助理解int和char数据类型的区别。 s5vTYUdDbzZEYcDRMmEHMr4hmY3rBZQiWe+Oz5cdtpCDO9R7ZlUjUI77hmOSwLJG

点击中间区域
呼出菜单
上一章
目录
下一章
×