- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
单片机实验报告
姓名 一、实验项目 单片机串行口通讯实验二、实验要求
_ 学号
利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。
三、实验目的
掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。
了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
学习串口通讯的中断方式的程序编写方法。
四、实验说明
1、8051、80C196的RXD、TXD接线柱在POD51/96仿真板上,8088/86的TXD、RXD在POD8086
仿真板上的8251芯片旁边。
2、通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。也可以将本机的TXD接到RXD上,这样按下的键,就会在本机LED上显示出来。
3、若想与标准的RS232设备通信,就要做电平转换,输出时要将TTL电平换成RS232电平,输入时要将RS232电平换成TTL电平。可以将仿真板上的RXD、TXD信号接到实验板上的“用户串口接线”的相应RXD和TXD端,经过电平转换,通过“用户串口”接到外部的RS232设备。可以用实验仪上的逻辑分析仪采样串口通信的波形
五、程序框图
六、源程序
发射程序:
org 0000h
ljmp main
org 0023h
ljmp com_in ;串行口中断服务子程序入口org 1000h
main: mov sp,#50h ;设置堆栈指针
mov dptr,#7f00h ;81c55初始化mov a,#03h
movx @dptr,a
mov
mov
tmod,#20h
th1,#0f4h
;设置定时器T1工作方式为方式2
;设置定时器T1计数初值
mov
tl1,#0f4h
mov
pcon,#80h
;波特率加倍
setb
tr1
;打开定时器
mov scon,#40h;设置串行口工作方式为方式1,8位异步收发,波特率可变mov ie,#90h ;打开中断允许寄存器,采用中断方式发送数据
clr ti ;关闭发送中断标志位T1loop: acall key1 ;调用读取键值子程序
mov r0,a ;键值存入R0
setb ti ;开发送中断标志位T1ljmp loop
com_in: clr ti ;关闭发送中断标志位T1
mov
sbuf,r0
;发送数据
reti
key1:
acall
ks1
;调用判定有无键闭合子程序
jnz
lk1
;有键闭合,跳转lk1
acall
dir
;无键闭合,调用显示子程序
ajmp
key1
lk1:
acall
dir
;可能有键闭合,延时24ms
acall
dir
acall
ks1
;调用判定有无键闭合
jnz
lk2 ;经去抖动,判断有键闭合跳转lk2
acall
dir ;无键闭合,调用延时子程序
ajmp
key1
lk2:
mov
r2,#0feh ;列选码送到R2
mov
r4,#00h ;r4为列号计数器
lk4:
mov
dptr,#7f01h ;列选码送到PA口
mov
a,r2
movx
@dptr,a
mov
dptr,#7f03H
movx
a,@dptr ;读PC口
jb
acc.0,lone
;0行线为高电平,无键闭合,跳转lone,转判1行
mov
a,#00h
;0行有键闭合,首键号0→A
ajmp
lkp
;跳转lkp,计算键号
lone:
jb
acc.1,ltw0
;1行线为高电平,无键闭合,跳转ltwo,转判2行
mov
a,#06h
;1行有键闭合,首键号8→A
ajmp
lkp
;跳转lkp,计算键号
ltw0:
jb
acc.2,lthr
;2行线为高电平,无键闭合,跳转lthr,转判3行
mov
a,#12h
;2行有键闭合,首键号10H→A
ajmp
lkp
;跳转lkp,计算键号
lthr:
jb
acc.3,next;3行线为高电平,无键闭合,跳转next,准备下一列扫描
mov
a,#18h ;3行有键闭合,首键号18H→A
lkp:
add
a,r4 ;计算键号,即行首键号+列号=键号
push
a ;键号进栈保护
lk3:
acall
dir ;调用显示子程序,延时6ms
acall
ks1 ;调用判定有无键闭合子程序,延时6ms
jnz
lk3 ;判定键释放否,未释放,则循环
pop
a ;键已释放,键号出栈→A
ret
next:
inc
r4 ;列计数器加1,为下一列扫描做准备
mov
a,r2 ;判定是否已扫到最后一列
jnb
acc.5,knd ;键
您可能关注的文档
最近下载
- 音乐五年级下册《快乐的节日》参考教案.docx VIP
- 中铝矿业有限公司登封市报庄俊峰铝土矿<br /> (新增伴生镓资源储量)<br /> 采矿权出让收益评估报告.doc VIP
- OTIS奥的斯元件代码表(完全版).pdf VIP
- 医学信息安全与保护.pptx VIP
- 2025年考研英语一真题及参考答案.docx VIP
- 浙江省台州市温岭市2024-2025学年五年级上学期期末科学试题.docx VIP
- 四六级考试监考老师培训试题及答案.pdf VIP
- 涉密网络环境中虚拟化安全域划分及其安全策略.pptx VIP
- 电子技术基础(丁伟)习题解答.docx VIP
- 关于举办第九届地球博士和第八届环保之星地理科普知识大赛.doc VIP
原创力文档


文档评论(0)