键盘、数码及串口间的通信实验报告.doc
文本预览下载声明
《本科实验报告》填写说明
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 =
显示全部