ATmega88v红外编码发射实现与连发功能
4星 · 超过85%的资源 需积分: 47 34 浏览量
更新于2024-09-14
1
收藏 49KB PDF 举报
"该资源是关于红外编码发射技术的一个程序示例,特别是在按键按住时实现连发码的发送。程序基于ATmega88v微控制器,使用8MHz的内部RC振荡器,并且采用ICC-AVRv7.22编译器。"
在红外遥控系统中,红外编码发射是关键组成部分,它负责将用户的操作指令转化为特定的红外信号并发射出去。在这个程序中,当用户按下某个键时,对应的红外编码会被发送,如果持续按住,系统会发送连发码,这通常用于模拟连续动作,如电视遥控器上的快进或快退功能。
`irflag` 是一个红外发送标志位,用于标记当前是否正在进行红外编码的发送。`irsys` 数组存储了16位的用户码,这是每个遥控设备独一无二的识别码。`irdata` 和 `ircode` 变量则用于存放待发送的红外数据和编码。
程序中的函数说明如下:
1. `LCD_init(void)`: 液晶显示器初始化函数,用于设置显示参数。
2. `LCD_en_write(void)`: 液晶使能写入函数,控制液晶屏的数据写入。
3. `LCD_write_command(unsigned char command)`: 写入液晶屏指令的函数,传入的参数是待写入的指令。
4. `LCD_write_data(unsigned char data)`: 向液晶屏写入数据的函数,传入的是要显示的数据。
5. `LCD_set_xy(unsigned char x, unsigned char y)`: 设置液晶屏的显示位置,用于指定要显示内容的坐标。
6. `LCD_write_string(unsigned char X, unsigned char Y, unsigned char *s)`: 在指定位置写入字符串,方便在液晶屏上显示信息。
7. 其他未列出的函数可能是处理红外编码、中断服务以及按键检测等关键功能的函数。
这个程序的核心部分可能包含红外编码的生成逻辑,按键状态的检测,以及中断服务子程序,它们共同协作以确保正确地发送红外编码,尤其是连发码。在实际应用中,需要根据具体需求和红外编码协议(如RC5)进行适当的修改和扩展。
2011-09-17 上传
2011-09-27 上传
2010-03-24 上传
2009-04-24 上传
2010-08-08 上传
2017-07-04 上传