实验13报告范文_第1页
实验13报告范文_第2页
实验13报告范文_第3页
实验13报告范文_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验13报告范文 广州大学学生实验报告 : 开课学院及实验室: 计算机科学与教育软件学院软件工程室 xx 5 年 年 11 月 25 日 学院 计算机科学与教育软件学院 年级/专 专业 业/ 班 姓名 学号 实验课程名称 单片机原理与接口技术实验 成绩 实验工程名称 实验十 三: :8251a 串行通讯实验(88 ) 指导老师 一、 实验目的 1、掌握 8088/86 实验串行口通信的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串行口通讯程序编写方法。 二、 实验 设备 1、lab6000 通用微控制器实验系统。 2、计算机,wave 集成调试软件。 3、仿

2、真器,导线假设干。 三、 实验 说明 1、8088/86cpu 通过外接的 8251 可编程串行控制器实现串口通信。通过 8251 的控制口写入其工作方式或读入当前状态,通过数据口发送或接收串行口数据。本实验是通过查询方式读写状态和输入输出串行数据。 2、通讯双方的 rxd、txd 信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的 rxd、txd 直接交叉连接。也可以将本机的 txd 接到 rxd,这样按下的键就会在本机的 led 上显示。 3、假设想与标准的 rs232 设备通信,就要做电平转换,输出时要将 ttl 电平换成 rs232 电平,输入时要将

3、 rs232 电平换成 ttl 电平。可以将仿真板上的 rxd、txd 信号接到实验板上的“用户串口接线”的相应 rxd 和 txd 端,经过电平转换,通过“用户串口”接到外部的 rs232 设备。 4、将分频器的 fin 接到 4mhz 脉冲发生器,就可以得到 1mhz 和 250khz 脉冲。 四、 实验步骤 步骤 1:连接系统,设置好仿真器和编译选项。 步骤 2:建立新程序和新工程,编译程序。 步骤 3:编译成功后进行调试,观察 led 的闪烁。 五、 实验 框图 图 六、 实验代码: #define ledlen 6 #define inkey 0x8001 #define outbi

4、t 0x8002 #define outseg 0x8004 #define cs8251d 0xd000 #define cs8251c 0xd001 extern unsigned char in(unsigned int port); extern void out(unsigned int port, unsigned char v); unsigned char ledbufledlen; unsigned char const ledmap = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7

5、c, 0x39, 0x5e, 0x79, 0x71 ; unsigned char const keytable = 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07 ; void delay(unsigned char t) unsigned char i; while (t- !=0) for (i=100; i !=0; i-); void display

6、led() unsigned char i, j, k; unsigned char pos; unsigned char led; pos = 0x20; for (i = 0; i < ledlen; i+) out(outbit,0); led = ledbufi; out(outseg,led); out(outbit, pos); delay(65535); pos >>= 1; unsigned char testkey() out(outbit, 0); return (in(inkey) & 0x0f); unsigned char getkey()

7、unsigned char pos; unsigned char i; unsigned char j; unsigned char k; i = 6; pos = 0x20; do out(outbit, pos); pos >>= 1; k = in(inkey) & 0x0f; while (-i != 0) && (k = 0); if (k != 0) i *= 4; if (k & 2) i += 1; else if (k & 4) i += 2; else if (k & 8) i += 3; out(outbit,

8、0); do delay(10); while (testkey(); return(keytablei); else return(0xff); void iinit() out(cs8251c,0x4f); out(cs8251c,0x15); void send(unsigned char tbuf) unsigned ss; out(cs8251c,0x15); while( !(in(cs8251c) & 0x1); out(cs8251d,tbuf); unsigned char receive() while( !(in(cs8251c) & 0x2); retu

9、rn (in(cs8251d); void main() unsigned char rcvbuf; iinit(); ledbuf0 = 0xff; ledbuf1 = 0xff; ledbuf2 = 0xff; ledbuf3 = 0xff; ledbuf4 = 0x00; ledbuf5 = 0x00; while (1) displayled(); if(!(in(cs8251c) & 0x2) if (testkey() send(getkey(); else rcvbuf = receive(); ledbuf5 = ledmaprcvbuf & 0x0f; ledbuf4 = ledmaprcvbuf / 0x10; 七、 实验电路及连线 显示电路和键盘电路见

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论