MCS51微机接口大作业.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微机接口技术》 大作业 作业要求: 设计一外部设备监控系统,采用CPU为51系列单片机,用C51或ASM51编写软件,给出SCH原理图和软件清单(要求有功能注释),系统要求如下: ①系统带有电子时钟,2路模拟量和8路数字量的检测; ②4个按键,分别为设置、+、-、-可以可以完成相应的设置过程(包括时间设置和外部监控值的上下限设置); ③采用I2C 8583时钟芯片(可以查相关资料); ④8个8段LED显示(可以采用SPI总线芯片7219)以辅助完成设置,显示内容:时-分-秒; ⑤8个按键分别可以模拟外部8个故障点; ⑥2路电位器可以模拟外部模拟信号; ⑦EEPROM(I2C总线芯片24c256)保存最近100个外部故障数据(包含故障点和故障时间); ⑧RS485上位机接口。 系统软件完成的功能: ①上电时电子钟方式显示当前时间; ②设置按键进入设置状态,可以重新设置新时间值和外部监控值的上下限,结果写入8583。设置完成后电子钟方式显示当前时间; ③实时监测外部8个数字故障点和模拟数字,一旦故障记录其故障数据、故障发生时间和恢复时间; ④上位机传来命令字0xaa向上位机发送所保存的外部故障数据,发送完成后清除保存数据。(自定义通讯协议)。 一、元器件选择 芯 片 名 称 型 号 接口类型 线数 其 它 AD转换芯片 TLC1549 SPI 3 2块 共阴极数码管显示驱动器 MAX7219 SPI 3 时钟芯片 PCF8583 I2C 2 EPROM 24WC256 I2C 2 串口RS485 MAX487E 3 二、MCS-51单片机引脚连接 单片机I/O 引 脚 外部器件连接及功用 器件名称 引脚代号 功 用 P0^0 SW1 按钮1,模拟外部故障点1 P0^1 SW2 按钮2,模拟外部故障点2 P0^2 SW3 按钮3,模拟外部故障点3 P0^3 SW4 按钮4,模拟外部故障点4 P0^4 SW5 按钮5,模拟外部故障点5 P0^5 SW6 按钮6,模拟外部故障点6 P0^6 SW7 按钮7,模拟外部故障点7 P0^7 SW8 按钮8,模拟外部故障点8 P1^0 MAX7219 DIN 数码管显示串行数据输入端 P1^1 MAX7219 LOAD 数码管显示数据锁存端 P1^2 MAX7219 CLK 数码管显示时钟输入端 P1^3 --- --- --- P1^4 SPI/TLC1549 CS 模拟SPI片选信号 P1^5 SP I/TLC1549 DATA OUT 模拟SPI数据传送位 P1^6 SP I/TLC1549 CLK 模拟SPI时钟控制位 P1^7 --- --- --- P2^0 --- --- --- P2^1 SW9 按钮9,系统参数“设置”键 P2^2 SW10 按钮10,系统参数增加“+”键 P2^3 SW11 按钮11,系统参数减小“-”键 P2^4 SW12 按钮12,系统参数项目选择“-”键 P2^5 --- --- --- P2^6 MAX487E DE 485串口通信 P2^7 MAX487E RE 485串口通信 P3^0/RXD MAX487E RXD 485串口通信 P3^1/TXD MAX487E TXD 485串口通信 P3^2/INT0 PCF8583 INT P3^3/INT1 --- --- --- P3^4/T0 --- --- --- P3^5/T1 --- --- --- P3^6/WR I2C总线 SCL 模拟I2C时钟控制位 P3^7/RD I2C总线 SDA 模拟I2C数据传送位 三、SCH原理图 1.I2C器件接线图 2.功能按键设置接线图 3.AD转换器件接线图 4.数码管显示驱动接线图 5.485串口接线电路 6.单片机复位与外部时钟电路 四、软件程序清单 1. 延时程序:void delay(void); 2. 启动I2C总线:void I_start(void); 3. 停止I2C总线:void I_stop(void); 4. 初始化I2C总线:void I_int(void); 5. 提供时钟信号,并返回时钟为高电平时SDA的状态:bit I_clock(void); 6. 向SDA发送一个字节,并检验应答信号:bit I_send(uchar I_data); 7. 从SDA上读取8位数据信号,并作为一个数据信号返回:byte I_receive(void); 8

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档