数字显示与键盘输入设计Word下载.docx
- 文档编号:21799342
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:21
- 大小:1.39MB
数字显示与键盘输入设计Word下载.docx
《数字显示与键盘输入设计Word下载.docx》由会员分享,可在线阅读,更多相关《数字显示与键盘输入设计Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
1.3设计要求:
2.设计过程:
........................................................................................................3
2.1设计原理:
2.2操作命令:
...............................................................................................5
2.3操作过程:
...............................................................................................8
2.3.1硬件连接:
..........................................................................................8
2.3.2软件设计:
..........................................................................................9
2.3.3设计成功标志:
.................................................................................10
2.4程序设计:
..............................................................................................10
2.5程序代码................................................................................................10
3.调试过程.........................................................................................................15
3.1程序编译调试........................................................................................15
3.2在线编程写入程序................................................................................16
3.3实验结果显示........................................................................................16
4.课程设计总结:
...............................................................................................17
本科生课程设计成绩评定表.............................................................................18
课程设计任务书
学生姓名:
杨星专业班级:
计算机1007班
指导教师:
唐祖锴工作单位:
题目:
数字显示与键盘输入设计
初始条件:
1.课程设计使用ZG211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;
2.ZG211有程序设计集成开发环境,程序设计语言为C语言;
3.ZG211硬件综合实验平台使用说明书;
要求完成的主要任务:
(包括课程设计工作量及其技术要求,撰写说明书具体要求)
1.学习使用ZG211硬件综合实验平台,程序设计集成开发环境;
2.根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。
3.查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。
查阅和学习课程设计题目需要的辅助芯片以及器件资料。
4.设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。
5.设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。
给出程序流程图。
在集成开发环境中调试程序。
给出程序的详细注释。
能够解释使用程序模拟电路时序信号和数据。
6.撰写课程设计报告,1)详细陈述以上的设计过程;
2)详细陈述电路的调试过程。
时间安排:
第17周:
1.熟悉ZG211硬件综合实验平台,KEILCUVISION2集成开发环境;
查阅接口芯片资料,熟悉接口芯片和它的使用方法。
2.设计硬件电路原理图,。
第18周:
1.使用C语言或汇编语言设计和调试接口程序。
2.撰写计算机硬件综合设计报告。
指导教师签名:
年月日
系主任(或责任教师)签名:
1.系统描述:
1.1实验目的:
1>
掌握对单片机IO口的操作,及中断的应用
2>
掌握显示接口芯片CH451的运用
1.2实验设备:
PC机一台
ZG-211单片机系统实验板一块
3>
实验连接线若干
4>
芯片:
CH451,89S52
5>
并口编程线一根
6>
配套电源1个
实验板实物图:
1.3设计要求:
能正常操作LED数码显示
能通过中断方式接收按键信息
2.设计过程:
2.1设计原理:
本实验的显示接口采用CH451芯片。
该芯片整合了数码管显示驱动和键盘扫描控制可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位等功能;
同时还可以进行64键的键盘扫描;
芯片内部有多个寄存器控制整个芯片的运行,其中有8个寄存器存入所要显示的数字,每个寄存器有8位,每一位控制一个数码管其中的一段(1为点亮,0为熄灭)。
单片机通过4根信号线(串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT)控制CH451,显示数据,同时通过CH451对键盘的扫描,达到人机交换信息的目的。
该芯片与实验板相关器件连接原理图如下:
CH451原理图
CH451引脚图
CH451操作命令表
空操作:
0000XXXXXXXXB
空操作命令不对CH451产生任何影响。
为了在不影响CH451的前提下变化DCLK以清除看门狗计时,也可以发送空操作命令。
空操作命令可以只发送有效数据B8~B11,简化描述是0^0^0^0^↑。
芯片内部复位:
001000000001B
内部复位命令将CH451的各个寄存器和各种参数复位到默认的状态。
芯片上电时,CH451总是被复位,此时各个寄存器均复位为0,各种参数均恢复为默认值。
字数据左移:
001100000000B
字数据左移命令将CH451的字数据左移一次,即从DIG0向DIG7移动一位,然后最右边的DIG0补进数据00H。
例如,在数码管DIG7~DIG0显示“87654321”时,执行字数据左移命令,显示变为“7654321”(不译码方式)或者“76543210”(BCD译码方式)。
字数据右移:
001100000010B
字数据右移命令将CH451的字数据右移一次,即从DIG7向DIG0移动一位,然后最左边的DIG7补进数据00H。
例如,在数码管DIG7~DIG0显示“87654321”时,执行字数据右移命令,显示变为“8765432”(不译码方式)或者“08765432”(BCD译码方式)。
字数据左循环:
001100000001B
字数据左循环命令将CH451的字数据左循环一次,即从DIG0向DIG7移动一位,然后最右边的DIG0补进原DIG7的数据。
例如,在数码管DIG7~DIG0显示“87654321”时,执行字数据左循环命令,显示变为“76543218”。
字数据右循环:
001100000011B
字数据右循环命令将CH451的字数据右循环一次,即从DIG7向DIG0移动一位,然后最左边的DIG7补进原DIG0的数据。
例如,在数码管DIG7~DIG0显示“87654321”时,执行字数据右循环命令,显示变为“18765432”。
7>
设定系统参数:
010000000[WDOG][KEYB][DISP]B
设定系统参数命令用于设定CH451的系统级参数:
看门狗使能WDOG,键盘扫描使能KEYB,显示驱动使能DISP。
各个参数均通过1位数据控制,将相应的数据位置为1则启用该功能,否则关闭该功能(默认值)。
例如,命令数据010000000101B表示启用看门狗的功能、关闭键盘扫描的功能、启用显示扫描驱动的功能。
8>
设定显示参数:
0101[MODE][LIMIT][INTENSITY]B
设定显示参数命令用于设定CH451的显示参数:
译码方式MODE,扫描极限LIMIT,显示亮度INTENSITY。
译码方式MODE通过1位数据控制,置1时选择BCD译码方式,置0时选择不译码方式(默认值)。
扫描极限LIMIT通过3位数据控制,数据001B~111B和000B分别设定扫描极限为1~7和8(默认值)。
显示亮度INTENSITY通过4位数据控制,数据0001B~1111B和0000B分别设定显示驱动占空比为1/16~15/16和16/16(默认值)。
例如,命令数据010101110000B表示选择不译码方式、扫描极限为7、显示驱动占空比为16/16;
命令数据010110001010B表示选择BCD译码方式、扫描极限为8、显示驱动占空比为10/16。
9>
设定闪烁控制:
0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B
设定闪烁控制命令用于设定CH451的闪烁显示属性:
D7S~D0S分别对应于8个字驱动DIG7~DIG0。
闪烁属性D7S~D0S分别通过1位数据控制,将相应的数据位置为1则使能闪烁显示,否则为正常显示,不闪烁(默认值)。
例如,命令数据011000100001B表示设定数码管DIG5和DIG0闪烁显示,其余数码管正常显示,不闪烁。
10>
加载字数据:
1[DIG_ADDR][DIG_DATA]B
加载字数据命令用于将字数据DIG_DATA写入DIG_ADDR指定地址的数据寄存器中。
DIG_ADDR通过3位数据指定数据寄存器的地址,数据000B~111B分别指定地址0~7,对应于DIG0~DIG7引脚驱动的8个数码管。
DIG_DATA是8位的字数据。
例如,命令数据100001111001B表示将字数据79H写入第1个数据寄存器,如果是不译码方式,则DIG0引脚驱动的数码管将显示E;
命令数据110010001000B表示将字数据88H写入第5个数据寄存器,如果是BCD译码方式,则DIG4引脚驱动的数码管将显示8.
11>
读取按键代码:
0111XXXXXXXXB
读取按键代码命令用于获得CH451最近检测到的有效按键的按键代码。
该命令是唯一的具有数据返回的命令,CH451从DOUT引脚输出按键代码,按键代码总是7位数据,最高位是状态码,位5~位0是扫描码。
读取按键代码命令的位数据B0~B7可以是任意值,所以控制器可以将该操作命令缩短为4位数据B8~B11。
例如,CH451检测到有效按键并中断,按键代码是5EH,简化描述1^1^1^0^↑H^L^H^H^H^H^L^表示先向CH451发出读取按键代码命令0111XXXXXXXXB,然后从DOUT获得按键代码5EH。
CH451BCD码译码表
2.3实验步骤:
将并口线插在实验板与PC机的并口插座上;
按上图连接实验线路;
仔细检查无误后,接通电源。
(图中箭头表示需要接线的地方)
其器件内部结构为:
进入KEILC环境编写程序。
89S52首先向DIN发送一个上升沿,通知CH451数据线使能,然后89S52发送010*********,010*********,通知CH451打开键盘扫描功能,开启显示功能,选择BCD译码方式,在就可以向每个显示寄存器送入要显示的数据。
例如:
八个数码管全显示“8”时送入的二进制数据为:
100000001000;
100100001000;
101000001000;
101100001000;
110000001000;
110100001000;
111000001000;
111100001000;
打开89S52的外部中断1,并设置为下降沿中断方式,当KEY1-KEY5任一键按下时,CH451的DOUT脚会产生一个下降沿,这时89S52便会产生一个中断,并进入中断程序。
中断程序中,应首先关闭中断,然后向CH451发送读键值指令(0111),读取键值。
KEY1-KEY5的键值分别为:
0X40,0X49,0X52,0X5B,0X64.
程序编译成功后,打开联机下载软件,将HEX文件下载到89S52中,观看程序运行结果,如有问题则修改程序,再次下载。
调试成功后,将送显程序,和读取键值程序,各写成一个函数,供后续实验模块调用。
2.3.3设计成功标志:
启动实验板,自动显示“--------”
按下1号按键,显示“001”
按下2号按键,显示“002”
按下3号按键,显示“003”
按下4号按键,显示“004”
按下5号按键,显示“005”
程序原理图
2.5程序代码:
/********************************************************\
|项目武汉理工大学教学实验板(ZG211定制)|
|文件Display.c|
|功能LED显示演示程序|
|编写中格电子|
|创建时间2005/09/08|
|版本1.0|
|版本说明|
|修改历史|
|修改原因|
|修改时间|
|修改后特性|
\********************************************************/
#include"
reg52.h"
def.h"
display.h"
sub.h"
func.h"
externunsignedcharkey_print;
externunsignedcharkey_data;
/*******************************************************\
|函数名send_disp_data|
|函数功能向CH451芯片发送命令|
|参数comm:
命令体|
|_data:
命令参数|
|返回值无|
\*******************************************************/
voidsend_disp_data(unsignedcharcomm,unsignedchar_data)
{
unsignedchari;
//送8BIT数据
for(i=0;
i<
8;
i++)
{
DIN=(_data>
>
i)&
0x01;
DCLK=1;
DCLK=0;
}
//送4BIT命令
4;
DIN=(comm>
LOAD=1;
LOAD=0;
}
|函数名send_comm|
voidsend_comm(unsignedcharcomm)
|函数名disp_initialize|
|函数功能向CH451芯片发送初始化命令|
|参数无|
voiddisp_initialize()
chang_4052
(1);
DIN=0;
DIN=1;
DCLK=1;
DOUT=1;
send_disp_data(CH451_SETSYS,0x03);
//设定系统参数
send_disp_data(CH451_SETDIS,0x80);
//设定显示参数
|函数名key|
|函数功能中断函数,获取当前按键状态|
voidkey()interrupt0
unsignedchari,temp;
EX0=0;
//关中断
key_data=0;
temp=0;
send_comm(CH451_KEY);
i<
7;
i++)
{
temp=DOUT;
key_data=key_data|(temp<
<
(6-i));
DCLK=1;
DCLK=0;
EX0=1;
//中断
|函数名Display_TEST|
|函数功能测试显示LED数码管|
voidDisplay_TEST()
//初始化显示芯片
disp_initialize();
//延时
delay_1ms(100);
//送显“12345678”
send_disp_data(CH451_LOAD0,0x01);
send_disp_data(CH451_LOAD1,0x02);
send_disp_data(CH451_LOAD2,0x03);
send_disp_data(CH451_LOAD3,0x04);
send_disp_data(CH451_LOAD4,0x05);
send_disp_data(CH451_LOAD5,0x06);
send_disp_data(CH451_LOAD6,0x07);
send_disp_data(CH451_L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 显示 键盘输入 设计