ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:24.78KB ,
资源ID:14076650      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14076650.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51系列串口通讯例程参考仅供文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51系列串口通讯例程参考仅供文档格式.docx

1、13. voidserial_init(void)14. 15. /ET1=0;/CLR0ABH;禁止T1中断16. TMOD0x20;/MOV89H,#20Htimer1mode2:8-Bitreload(定时器T1模式2:8位自动初值重装)17. TH10xE8;8DH,#0E8H18. TL18BH,#0E8H1200bps,11.05919. TR11;/SETB8EH启动定时器120. SCON0x50;/1:10-bitUART,enablereceiver /(模式1:10位异步发送/接收,使能接收允许位)21. /SM1串行口模式122. /SM023. /REN允许串行中断接

2、收24. SM2O9DH收到有效的停止位时才将RI置1 25. ES0ACH允许串行中断26. EA0AFH总中断开27. 28. /中断方式处理串口数据29. voidserial(void)interrupt4using30. 31. if(RI)32. 33. RI34. 串口接收,采用临时缓冲35. 36. #if037. if(TI)38. 39. TI40. 串口发送,没有必要使用中断方式41. 42. #endif43. 44. /查询方式接收串口数据45. unsignedchargetchar(void)46. 47. while(!RI);没有收到串口数据则一直等待48.

3、RI=0;49. returnSBUF;50. 51. /查询方式发送串口数据52. voidputchar(unsignedch)53. 54. SBUF=ch;55. TI);56. TI=0;57. 58. codeunsignedHEX_TAB=0123456789ABCDEF59. voidputhex(unsigned60. 61. i,j;62. i=ch4;63. j=ch&0x0f;64. putchar(HEX_TABi);65. putchar(HEX_TABj);66. test.c采用查询方式进行串口通讯的例子采用这种方式的弊端:1.如果对方没有发送数据,则本机无限等

4、待,而不能做其它事情2.如果对方发送数据而本机正做其它事情,那么有可能丢失数据。因此实际上串口接收常采用中断方式,串口发送则不需要。6. #include7. externvoidserial_init(void);8. externgetchar(void);9. externch);10. extern11. voidmain(void)12. 13. i;14. serial_init();串口初始化doi=getchar();如果没有收到串口数据则一直等待(查询接收串口数据的弊端)+i;-i;观察断点putchar(i);/在串口显示接收到的ASCII数据(就是把原来收到的数据再送回串

5、口)putchar();0xputhex(i);在串口以十六进制格式显示接收的ASCII数据27. 28. 29. while(1);30. 8051串口程序8051串口程序.rar M0.ASM31. ;FILE: M0.ASM 32. ;THIS PROGRAM TRANSMITS THE HEX VALUE AA REPETITIVELY ACCROSS THE SERIAL PORT 33. ;OF A MCS-51 MICROCONTROLLER IN MODE 0 34. ;35. ;DETAILS:36. ;37. ;MODE 0: SERIAL DATA EXITS AND E

6、NTERS THROUGH THE RXD PIN. THE TXD PIN OUTPUTS 38. ;THE SHIFT CLOCK. IN MODE 0, 8 BITS ARE TRANSMITTED/RECEIVED STARTING WITH THE 39. ;LEAST SIGNIFICANT BIT. THE BAUD RATE IS FIXED TO 1/12 THE OSCILLATOR FREQUENCY. 40. ;41. ;42. ORG 00H 43. ;44. JMP MAIN 45. MAIN: MOV SCON,#00H ;SET UP FOR MODE 0 46

7、. CLR TI ;READY TO TRANSMIT 47. LOOP: MOV SBUF,#0AAH ;TRANSMIT AAH 48. JNB TI,$ ;WAIT FOR END OF TRANSMISSION 49. CLR TI ;CLEAR TRANSMIT FLAG 50. JMP LOOP ;DO IT ALL AGAIN 51. END 52. _ M1INT.ASM53. ; M1INT.ASM 54. ;55. ;THIS PROGRAM RECEIVES A VALUE ENTERING INTO THE SERIAL PORT PIN RXD AND PUTS 56

8、. ;THE DATA OUT TO PORT 1 57. ;58. ;59. ;60. ;61. ;THE PROGRAM IS DESIGNED TO BE IN A CONTINUOUS NEVER ENDING LOOP UNTIL A BYTE OF DATA HAS BEEN 62. ;COMPLETELY RECEIVED. THE LOOP IS EXITED BECAUSE OF THE OCCURANCE OF A SERIAL INTERRUPT. AFTER 63. ;THE INTERRUPT HAS BEEN SERVICED, THE PROGRAM GOES B

9、ACK INTO ITS ENDLESS LOOP UNTIL ANOTHER 64. ;INTERRUPT OCCURS 65. ;66. ;67. PCON EQU 87H ;DEFINE PCON REGISTER LOCATION 68. ;69. ORG 00H 70. ;71. JMP MAIN 72. ;73. ORG 023H ;STARTING ADDRESS OF SERIAL INTERRUPT 74. JMP SERIAL_INT 75. ;76. MAIN: MOV SCON, #50H ;SET UP SERIAL PORT FOR MODE 0 WITH RECE

10、IVE ENABLED 77. MOV TMOD, #20H ;SET UP TIMER 1 AS AUTO-RELOAD 8-BIT TIMER 78. MOV TH1, #0DDH ;BAUD RATE EQUALS 2400 BAUD AT 16MhZ 79. MOV PCON, #80H ;SET THE DOUBLE BAUD RATE BIT 80. MOV IE, #81H 81. MOV TCON, #40H ;START TIMER 1 82. CLR RI ;ENSURE THAT THE RECEIVE INTERRUPT FLAG IS CLEAR 83. LOOP: JMP LOOP ;ENDLESS LOOP (UNLESS INTERRUPT OCCURS)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1