- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《本科实验报告》填写说明
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 =
您可能关注的文档
最近下载
- 长沙市长郡中学2022-2023学年高一下学期期末考试物理试卷(含答案).docx VIP
- 2024年湖南省高中学业水平合格性考试英语试卷真题(含答案详解).docx VIP
- 道依茨 TCD4.1 6.1操作手册.pdf
- 湖南省长沙市长郡中学2022-2023学年高一下学期第一次适应性检测数学试卷含答案.docx VIP
- 中国联通CDMA网络租赁费收益计划募集说明书.pdf
- 人教版四年级上册数学《公顷和平方千米整理和复习》(课件).pptx
- 湖南省长沙市长郡中学2022-2023学年高一下学期第一次月考物理试卷含答案.pdf VIP
- 信贷基础知识培训课件.ppt VIP
- 2025年湖南省长沙市长郡教育集团中考数学模拟试卷(四).pdf VIP
- 2025《建筑施工行业公司事故隐患内部报告奖励管理制度》新修订版.docx
文档评论(0)