;以下提供几个补充参考程序,都带有详细说明和指令注释
它们是主从多机通讯程序,采;用中断方式写入EEPROM,直接对晶振分频产生0
1秒和秒号的精确定时程序,以及RS-232/;RS-485标准转换程序,AVR频率计程序,串行时锺日历芯片DS1302读写,共享时基的PWM输出、;输入捕获测周期程序和定时信号获取,以及DS18B20测温等程序
多机通讯主要用8和9位数;据模式区分被选分机(9位)和其它分机(8位),达到主机只与被选分机交换数据之目的
以中;断方式写EEPROM的优点是可与系统运行同时进行(即在线写入),占用很少机时
;精确定时用定时/计数器1(或0)直接对MCU主频(不设分频)设定时间常数,分频精度可达到;1HZ
RS-232/RS-485标准转换程序中AVR不作中转,使两种器件相关脚位直接连接
以TCNT0;定时,以T0引脚接收RS-232数据
以收到RS-232字符起始位下跳沿或结束符($03)为依据,;控制切换RS-485的收发使能
(系统中的主AVR可兼做对通信标准之监控转换,即只是在完成;主要工作任务的同时'附带'进行)
具体过程不再细述
串行时锺日历芯片DS1302具体积小,;可靠性高,与单片机连接方便等优点
;以下程序请参看有关章节或程序中的注释
;范例91;多机通讯主机程序/晶振4MHZ
ORG0;以8/9位数据模式区分被选/未被选分机通讯
EQUDTPINT=$180;UBRR=12波特率19200(REL
EQUDRPINT=$1C0;主机对1#,2#,3#,4#分机发送数据块在$180-18F,$190-19F,$1A0-1AF)和$1B0-1BFSTRT38:RJMPRST38;主机从1#,2#,3#,4#分机接收数据块在$1C0-1CF,$1D0-1DF,$1E0-1EF)和$1F0-1FF