文档详情

 键盘、数码及串口间的通信实验报告.doc

发布:2016-12-18约5.16千字共12页下载文档
文本预览下载声明
《本科实验报告》填写说明 1.学员完成人才培养方案和课程标准要所要求的每个实验后,均须提交实验报告。 2.实验报告封面必须打印,报告内容可以手写或打印。 3.实验报告打印以下要求: 采用A4(21cm×29.7cm)白色复印纸,单面黑字打印。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字连续编排。最多可设四标题,序号第一“一、”、“二、”……,第二用“一”、“二” ……,第三用“1.”、“2.” ……,第四用“1)”、“2)” ……,分别按序编排 一、实验目的和要求 1、熟悉定时器、键盘、数码管及串口的工作原理; 2、熟悉查询或者中断的概念和工作原理; 3、能够用汇编语言/C语言编写相关程序。 二、实验内容和原理 1.键盘输入+串口发送实验,串口发送内容为键盘输入键值,键值自行定义; 2.串口接收+数码管显示实验,把串口接收的内容通过数码管显示出来。 (二)依据的原理: 1. 根据实验箱的硬件环境,单片机选为NXP公司的P89V51RD2(与80C51兼容),时钟频率为6.144MHz,串口处于工作方式1,波特率为2400bps。 2. 按照要求编写相应程序,采用Keil C51进行编译,首先在集成开发环境上进行仿真,确保程序正确,然后下载到实验箱上进行检查。 3. 单片机和微机都带有符合RC232C的串口,利用实验箱上的键盘、数码管和串口进行通信实验,进一步熟悉单片机的硬件、程序设计以及单片机系统开发流程。 三、实验项目 四实验器材 五操作方法与实验步骤 写出实验操作的总体思路、操作规范和主要注意事项;按顺序记录实验中每一个环节和实验现象。画出必要的实验装置结构示意图,并配以相应文字说明; 3.准备实验箱运行环境,将实验箱连接到PC机上,调试参数; 4.将hex文件下载到实验箱上,复位后,可以开始在键盘或PC机上操作。 六实验数据 七实验结果与分析 八问题与建议 九 #includereg51.h unsigned char rec_buff; //接收缓存 unsigned char key_ptr; //按键状态标识 unsigned char x,y; //键盘扫描横纵坐标值 unsigned char key; //识别的键值 unsigned char send_ptr; //发送标识 unsigned char code key_to_char[]=0123456789ABCDEF; unsigned char code LedTable[] = { 0X3F, 0X06, 0X5B, 0X4F, 0X66, 0X6D, 0X7D, 0X07, 0X7F,0X6F,0xF7,0xFF,0xB9,0xB F,0xF9,0xF1}; //0-9,a-f 的字型码 unsigned char A; //键盘比较临时变量 unsigned char LED_buff[6]; //LED 缓存内容 unsigned char LED_ptr; //LED 更新时指针位置 int i; void Timer_Init(void); //定时器初始化 void Uart_Init(void); //串口初始化 void init_main(void); //主函数初始化 void push_LED(unsigned char a); //数码管内容向左更新 unsigned char convert(unsigned char a); //返回扫描线横向纵向的位权 unsigned char LED_loc_convert(unsigned char loc); //数码管位选输入转换 unsigned char char_to_LED(unsigned char b); //接收的ASCII字符转换 void key_scan(void); //定时器0中断处理 void Uart_ISR(void); //串口中断处理 void Timer_Init(void)////////定时器初始化 { /////////////定时器0 TL0=0x00; //定时10ms TH0=0xFC; ET0 = 1; //开T0中断 TR0=1; //启动T0定时 /////////////定时器1 */ TL1 =
显示全部
相似文档