程序和小诀窍
发布时间:2012/6/13 19:56:47 访问次数:1029
LCD有三个显示界面:开机界面小小收音机,日历钟界XC18V02VQ44C面和收音机控制界面见图7。开机后如果未按下S6显示开机界面,否则显示日历钟界面。在开机界面时如果按下调台键S1或搜台键S2则切换到收音机界面,它显示收音有关信息。S1~S5键的功能在两个界面不一样,程序中键处理是要执行对收音机控制功能还是日历钟的设定功能取决于S6键是弹起还是按下状态。另外显示界面数据更新也是由它决定:弹起为更新收音机界面数据,按下为更新日历钟界面数据。而几个界面具有共同的位于LCD最下方的日历时间行,它的数据总是要更新。所以,程序中关于数据更新部分较多。在界面图形绘制上是采用基本页列坐标写数的办法,在H_ASHROM中的专漠表中按需要建立一些自编的符号和汉字,例如立体声就是一架录放机,真台就是一个三单元天线等,按读取收音机模块状态寄存器的结果显示。而那个调频模拟刻度指针是这样制作的:由于调频接收范围87—108MHz,按lOOkHz间隔搜索(这个在5807编程中已经设定好),那么从87.0~108.0最多有(108-87)×10=210个频率点,液晶水平只有1 28个像素点,就是每点一个频率也放不下。所以取210的一半就是1 05个像素点,每点代表两个频率,就按这样在第1页位置画出标尺。
标尺起点位于14点处。画调谐模拟指针就是根据每次按调谐键S1或搜索键S2操作5807调台或搜台后,从5807读出频率点chanl,把它除以2后的值作为指针的划线位置,就可以画出指针了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2页画指针
LcdWriData(Oxfe):
模拟指针位置是标度尺下边也就是第2页,当然在划线前先进行一次擦除原有指针的操作。界面中信号强度指示和音量指示的方法和频率刻度类似,涉及数量少,就不多说了。
程序中关于存台和回放的实现:载用的办法是,搜索到电台以后,在M8的EEPROM中把电台的上述频率点按先后存起来,存放地址是Ox10—Ox19.可以存10个台。在Oxla单元存放存台位置,就是下一个存台单元地址(存台指针)。那么按下存台键以后,先在Oxla读出存台指针,然后按指针位置把频率点写入EEPROM.也写入新的存台指针。当存满10个台后,继续存就又从Oxl0开始。回放则是顺序循环读出Oxl0—Ox19中的频率点,再调谐到备点就行了。当然在编程中一定要设定熔丝位BOD,使EEPROM在断电时能可靠保护数据。
标尺起点位于14点处。画调谐模拟指针就是根据每次按调谐键S1或搜索键S2操作5807调台或搜台后,从5807读出频率点chanl,把它除以2后的值作为指针的划线位置,就可以画出指针了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2页画指针
LcdWriData(Oxfe):
模拟指针位置是标度尺下边也就是第2页,当然在划线前先进行一次擦除原有指针的操作。界面中信号强度指示和音量指示的方法和频率刻度类似,涉及数量少,就不多说了。
程序中关于存台和回放的实现:载用的办法是,搜索到电台以后,在M8的EEPROM中把电台的上述频率点按先后存起来,存放地址是Ox10—Ox19.可以存10个台。在Oxla单元存放存台位置,就是下一个存台单元地址(存台指针)。那么按下存台键以后,先在Oxla读出存台指针,然后按指针位置把频率点写入EEPROM.也写入新的存台指针。当存满10个台后,继续存就又从Oxl0开始。回放则是顺序循环读出Oxl0—Ox19中的频率点,再调谐到备点就行了。当然在编程中一定要设定熔丝位BOD,使EEPROM在断电时能可靠保护数据。
LCD有三个显示界面:开机界面小小收音机,日历钟界XC18V02VQ44C面和收音机控制界面见图7。开机后如果未按下S6显示开机界面,否则显示日历钟界面。在开机界面时如果按下调台键S1或搜台键S2则切换到收音机界面,它显示收音有关信息。S1~S5键的功能在两个界面不一样,程序中键处理是要执行对收音机控制功能还是日历钟的设定功能取决于S6键是弹起还是按下状态。另外显示界面数据更新也是由它决定:弹起为更新收音机界面数据,按下为更新日历钟界面数据。而几个界面具有共同的位于LCD最下方的日历时间行,它的数据总是要更新。所以,程序中关于数据更新部分较多。在界面图形绘制上是采用基本页列坐标写数的办法,在H_ASHROM中的专漠表中按需要建立一些自编的符号和汉字,例如立体声就是一架录放机,真台就是一个三单元天线等,按读取收音机模块状态寄存器的结果显示。而那个调频模拟刻度指针是这样制作的:由于调频接收范围87—108MHz,按lOOkHz间隔搜索(这个在5807编程中已经设定好),那么从87.0~108.0最多有(108-87)×10=210个频率点,液晶水平只有1 28个像素点,就是每点一个频率也放不下。所以取210的一半就是1 05个像素点,每点代表两个频率,就按这样在第1页位置画出标尺。
标尺起点位于14点处。画调谐模拟指针就是根据每次按调谐键S1或搜索键S2操作5807调台或搜台后,从5807读出频率点chanl,把它除以2后的值作为指针的划线位置,就可以画出指针了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2页画指针
LcdWriData(Oxfe):
模拟指针位置是标度尺下边也就是第2页,当然在划线前先进行一次擦除原有指针的操作。界面中信号强度指示和音量指示的方法和频率刻度类似,涉及数量少,就不多说了。
程序中关于存台和回放的实现:载用的办法是,搜索到电台以后,在M8的EEPROM中把电台的上述频率点按先后存起来,存放地址是Ox10—Ox19.可以存10个台。在Oxla单元存放存台位置,就是下一个存台单元地址(存台指针)。那么按下存台键以后,先在Oxla读出存台指针,然后按指针位置把频率点写入EEPROM.也写入新的存台指针。当存满10个台后,继续存就又从Oxl0开始。回放则是顺序循环读出Oxl0—Ox19中的频率点,再调谐到备点就行了。当然在编程中一定要设定熔丝位BOD,使EEPROM在断电时能可靠保护数据。
标尺起点位于14点处。画调谐模拟指针就是根据每次按调谐键S1或搜索键S2操作5807调台或搜台后,从5807读出频率点chanl,把它除以2后的值作为指针的划线位置,就可以画出指针了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2页画指针
LcdWriData(Oxfe):
模拟指针位置是标度尺下边也就是第2页,当然在划线前先进行一次擦除原有指针的操作。界面中信号强度指示和音量指示的方法和频率刻度类似,涉及数量少,就不多说了。
程序中关于存台和回放的实现:载用的办法是,搜索到电台以后,在M8的EEPROM中把电台的上述频率点按先后存起来,存放地址是Ox10—Ox19.可以存10个台。在Oxla单元存放存台位置,就是下一个存台单元地址(存台指针)。那么按下存台键以后,先在Oxla读出存台指针,然后按指针位置把频率点写入EEPROM.也写入新的存台指针。当存满10个台后,继续存就又从Oxl0开始。回放则是顺序循环读出Oxl0—Ox19中的频率点,再调谐到备点就行了。当然在编程中一定要设定熔丝位BOD,使EEPROM在断电时能可靠保护数据。
热门点击
- 电磁转差离合器
- 正向传输导纳yfS的频率特性例
- 使用PNP晶体管的渥尔曼电路
- 功率损耗的计算
- 采用达林顿连接的高输入阻抗放大电路
- 共发射极放大电路的工作点
- 高增益、高输入阻抗放大电路
- 采用光MOS的模拟开关
- 源极跟随器+OP放大器
- 电动机的无功补偿
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]