RS485多机通信程序(终结版AVR)(国外英文资料).docVIP

  • 27
  • 0
  • 约8.79千字
  • 约 23页
  • 2017-06-10 发布于河南
  • 举报

RS485多机通信程序(终结版AVR)(国外英文资料).doc

RS485多机通信程序(终结版AVR)(国外英文资料)

RS485多机通信程序(终结版AVR)(国外英文资料) RS485 multiplayer communication program (end version of AVR) SCM: AVR ATMEGA8 Communication: RS485 Chip: MAX485 / MAX487 Requirement: a host is more than three from the machine. (this example USES 3 from the machine) Working principle: Three from the machine: Collect the voltage (1-5v) and send the data to the host Module sample lead PC0 / ADC0 The MAX487 RE and DE are connected, and they get PD3 Host: The MAX487 RE and DE are connected, and they get PD3 Pc0-pc3 and 1602 LCD d4-d7 (using only four data lines) New parallels to meet LCD E PC4 meet LCD RW PC5 meet LCD RS The working process: The AD samples are carried out from the machine Host send address (adr) : 01 search for 01 from machine, 01 from the machine, send back the data to the host, host count It is shown on the LCD. From machine change send 02 to search 2 from machine, repeat step 1. Finished again hair 03. This rotation of communication. The program has been debugged on the actual hardware, the correctness is verified, and the program is posted for reference. Use nine data frames Here is the program, written using ICCAVR software Host application: # include # include # pragma interrupt_handler uartrupt: 12 Unsigned char temp. / / receive temporary variables Unsigned char adr; / / from the address and mark bits Const unsigned char LCD [] = IP01 IP03; Const unsigned char LCDASC [] = {0X30, 0X31, 0X32, 0X34, 0X35, 0x36, 0x37, 0x38, 0x39} Unsigned char LCDA = 0; Unsigned char LCDB = 0; Unsigned char LCDC = 0; / / QQQQQQQQQQQQQQQQQQQ / / name: Delay () / / function: the delay program / / QQQQQQQQQQQQQQQQQQQ Void Delay (int t) { -- while (t); } Void LDelay (int t) / / delay program (long time) { (t, , 0; t --) { Delay (4000); } } , * * * * * * * * / / name: LCDCOM () and LCDTATA () LCDinit () / / function: 1602 liquid crystal display , * * * * * * * * Void LCDCOM (unsigned char com) { Unsigned char tempcom; Tempcom = com; DDRC | = 0 x3f; / / PORTC0-5 OUTPUT DDRD | = 0 x80; / / new

文档评论(0)

1亿VIP精品文档

相关文档