- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1.2 MCS-51/52单片机存储器结构 1. MCS-51/52单片机存储器划分方法 CD4094管脚图和真值表 设计思路:串行口工作在方式0下。首先通过串行口从74LS165读入8个开关的状态(注意:先读入最低位D0),然后将读入的内容存入内部RAM 40H单元。随后根据读入的开关状态,将开关编号的显示段码由串行口发出到CD4094(注意:先发D0)。 设计关键:74LS165和CD4094的操作时序。 主程序流程图 将开关状态转换为数码管显示段码子程序流程图 程序清单: ;这是一个利用串行口扩展并行I/O口的例子 ;系统的晶振频率12MHz,利用74LS165和CD4094扩展出两个8位并行口。 ;编程读入开关状态,存入片内RAM的40H单元,并同时输出到LED上显示出来。 KEY EQU 40H ORG 0 MOV SCON,#0H ;串口方式0 RX0: CLR P1.0 ;并行输入开关状态 SETB P1.0 ;允许串行移位 SETB REN ;允许串行接收数据 JNB RI,$ ;等待一帧数据接收结束 CLR REN ;停止接收 CLR RI MOV A,SBUF ;读开关状态 MOV KEY,A ;存开关状态 LCALL CONVERT ;将开关状态转换为数码管的段码 CLR P1.2 ;关显示 SETB P1.1 ;允许CD4094串行输入数据 MOV SBUF,A ;开关状态送数码管显示 JNB TI,$ ;等待一帧数据发送结束 CLR TI CLR P1.1 ;禁止CD4094串行输入数据 SETB P1.2 ;允许CD4094输出 SJMP RX0 CONVERT:JB ACC.0,C0 ;S0按下了?否,则转 MOV A,#3FH ;0的显示段码 SJMP C_END C0: JB ACC.1,C1 MOV A,#06H ;1的显示段码 SJMP C_END C1: JB ACC.2,C2 MOV A,#5BH ;2的显示段码 SJMP C_END C2: JB ACC.3,C3 MOV A,#4FH ;3的显示段码 SJMP C_END C3: JB ACC.4,C4 MOV A,#66H ;4的显示段码 SJMP C_END C4: JB ACC.5,C5 MOV A,#6DH ;5的显示段码 SJMP C_END C5: JB ACC.6,C6 MOV A,#7DH ;6的显示段码 SJMP C_END C6: JB ACC.7,C_7 MOV A,#27H ;7的显示段码 SJMP C_END C_7: MOV A,#0 C_END: RET END 5.3.2 用单片机串行通信口做异步通信接口 例:以89C51构成的数据采集系统,每分钟向上位机发送32字节的采集数据,通讯波特率9600波特。数据采用校验和的方式进行校验。当上位机接收到的数据块出错时,向发送方发送ASCII码“E”,否则发送“R”。若发送方发现接收方接收错误则重发数据。已知单片机的晶振频率为11.0592MHz,请编程实现。 设计思想: 1、因系统要求每分钟发送一次数据,因此需要一个一分钟到的时间标志。这可以用定时器产生50ms中断,利用对中断进行20次计次得到1s,再对1s计60次得到一分钟。 2、主程序完成初始化工作,并不断查询是否一分钟到?若到则首先计算需要发送数据的校验和,然后发送数据块的第一个字节以启动串行口中断。 3、串行口的中断服务程序主要完成:数据块的发送,判断接收方发送来的应答字节内容,并置相应的标志。 4、串行口工作在方式1下,10位的帧格式,8个数据位,1个起始位,1个停止位。T1做为串行口的波特率发生器,波特率加倍因子SMOD1=0。 定时器初值的计算: T0的初值=65536-50000*11.0952/12=19456=4C00H SMOD1=0 T1的初值=256-20×11.0952×106/(384×9600) =253=0FDH 主程序流程图 T0中断服务程序流程图 串口中断服务程序流程图 程序清单 ;一个以89C51为核心构成的数据采集系统,要求每分钟向上
文档评论(0)