免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【实例20】用74LS165实现串口扩展并行输入口(1)函数声明管脚定义/-库函数声明,管脚定义-#includesbit LOAD=P17;/用P17控制SH/ 管脚(2)串口初始化函数UART_init()/-/ 函数名称:UART_init()/ 功能说明:串口初始化,设定串口工作在方式0/-void UART_init(void) SCON=0x10; /设串行口方式0,允许接收,启动接收过程 ES=0; /禁止串口中断(3)数据接收函数PA()/-/ 函数名称:PA()/ 输入参数:无/ 输出参数:返回由并口输入的数据/ 功能说明:接收八位串行数据/-unsigned char PA(void) unsigned char PA_data; LOAD=0; /当P1.7输出低电平,74LS165将并行数据装入寄存器/当中 LOAD=1; /当P1.7输出高电平,74LS165在时钟信号下进行移位 UART_init(); /74LS165工作在时钟控制下的串行移位状态 while(RI=0); /循环等待 RI=0; PA_data=SBUF; return PA_data; /返回并行输入的数据(1)函数声明管脚定义/-库函数声明,管脚定义-#includesbit a7=ACC7;sbit simuseri_CLK=P16;/用P16模拟串口时钟sbit simuseri_DATA=P15;/用P15模拟串口数据sbit drive74165_LD=P17;/用P17控制SH/ 管脚(2)数据输入函数in_simuseri()/-/ 函数名称:in_simuseri()/ 输入参数:无/ 输出参数:data_buf/ 功能说明:8位同位移位寄存器,将simuseri_DATA串行输入的数据按从低位到/ 高位/ 保存到data_buf/-unsigned char in_simuseri(void) unsigned char i; unsigned char data_buf; i=8; do ACC=ACC1; for(;simuseri_CLK=0;); a7= simuseri_DATA; for(;simuseri_CLK=1;); while(-i!=0); simuseri_CLK=0; data_buf=ACC; return(data_buf);(3)数据输出函数PAs()/-/ 函数名称:PAs()/ 输入参数:无/ 输出参数:PAs _buf,返回并行输入74LS165的数据/ 功能说明:直接调用,即可读取并行输入74LS165的数据,不需要考虑74LS165的/ 工作原理/-unsigned char PAs(void) unsigned char PAs_buf; drive74165_LD=0; drive74165_LD=1; PAs_buf= in_simuseri(); return(PAs_buf);【实例21】用74LS164实现串口扩展并行输出口单片机串口驱动74LS164的程序主要包括函数声明管脚定义部分、串口初始化函数以及数据发送函数。(1)函数声明管脚定义/-库函数声明,管脚定义-#include sbit CLR=P17;/用P17控制CLR(2)串口初始化函数UART_init()/-/ 函数名称:UART_init()/ 功能说明:串口初始化,设定串口工作在方式0/-void UART_init(void) SCON =0x00; /没串行口方式0,允许发送,启动发送过程 ES=0; / 禁止串口中断(3)数据发送函数PA_out()/-/ 函数名称:PA_out()/ 输入参数:PA_data,需要从74LS164并行口输出的数据/ 输出参数:无/ 功能说明:发送八位串行数据至并口/-void PA_out(unsigned char PA_data) CLR=0; /并口输出清零 CLR=1; /开始串行移位 UART_init(); /74LS165工作在时钟控制下的串行移位状态 while(TI=0); /循环等待 TI=0; SBUF=PA_data;单片机I/O端口驱动74LS164主要包括函数声明管脚定义部分、数据输入函数以及数据输出函数。(1)函数声明管脚定义/-库函数声明,管脚定义-#include sbit simuseri_CLK=P16;/用P16模拟串口时钟sbit simuseri_DATA=P15;/用P15模拟串口数据sbit drive74164_CLR=P17;/用P17控制CLRsbit a0=ACC0;(2)数据输入函数out_simuseri ()/-/ 函数名称:out_simuseri/ 输入参数:data_buf/ 输出参数:无/ 功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA/-void out_simuseri(char data_buf) char i; i=8; ACC=data_buf; do simuseri_CLK=0; simuseri_DATA=a0; simuseri_CLK=1; ACC=ACC1; while(-i!=0); simuseri_CLK=0;(3)数据输出函数PA_out ()/-/ 函数名称:PA_out/ 输入参数:Pseri_out,需要输出的8位数据/ 输出参数:无/ 功能说明:将Pseri_out中的数据送到74
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生心理健康案例分析报告
- 生物化工生物科技公司研发实习报告
- 心理健康教育中网络成瘾调研报告
- 金融学银行机构客户服务实习报告
- 工程项目管理建筑公司施工管理实习生实习报告
- 人力资源管理人力资源咨询公司薪酬福利管理管理实习生实习报告
- 国际经济与贸易跨国公司贸易专员实习报告
- 行业如何分析例子报告
- 塑料行业深度分析报告
- 2025年广州软件学院专任教师招聘140人备考题库及答案详解(考点梳理)
- 2026四川成都市简阳市招聘四级城乡社区工作者65人考试备考题库及答案解析
- (2026春新版本) 苏教版科学三年级下册全册教学设计
- 2026年1月浙江省高考(首考)化学试题(含标准答案及解析)
- 2025年河北省公务员考试行测试卷真题附答案详解
- 中国移动社会招聘在线笔试题
- 全屋定制讲解方案
- 上海市奉贤区2026届初三一模英语试题(含答案)
- 《电力系统继电保护及应用》课件-110kv线路保护配置-双语
- 餐饮厨房消防安全培训
- 天津市和平区天津一中2026届高二上数学期末学业水平测试试题含解析
- GB/T 19275-2025材料在特定微生物作用下潜在生物分解和崩解能力的评价
评论
0/150
提交评论