




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学计算机科学与技术专业数字显示与键盘输入课程设计学 号: 0120910340204课 程 设 计题 目数字显示与键盘输入设计学 院计算机科学与技术学院专 业计算机科学与技术班 级计算计0902 班姓 名指导教师唐 建 雄2012年6月25日课程设计任务书学生姓名: 专业班级: 计算机0902班 指导教师: 唐建雄 工作单位:计算机科学与技术学院题 目: 数字显示与键盘输入设计初始条件:1. 课程设计使用ZG211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;2. ZG211有程序设计集成开发环境,程序设计语言为C语言;3. ZG211硬件综合实验平台使
2、用说明书;要求完成的主要任务: (包括课程设计工作量及其技术要求,撰写说明书具体要求)1. 学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。3. 查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。4. 设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。5. 设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号
3、和数据。6. 撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈述电路的调试过程。时间安排:第17周:1. 熟悉ZG211硬件综合实验平台,KEILC UVISION2 集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。2. 设计硬件电路原理图,。第18周:1. 使用C语言或汇编语言设计和调试接口程序。2. 撰写计算机硬件综合设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日数字显示与键盘输入设计1. 系统描述:1.1设计目的:1)掌握对单片机IO口的操作,及中断的应用2)掌握显示接口芯片CH451的运用1.2设计要求:1)能正常操作LED数码显示2)能
4、通过中断方式接收按键信息1.3使用设备:1)PC 机一台2)ZG-211 单片机系统实验板一块3)实验连接线若干4)芯片:CH451,89S525)并口编程线一根6)配套电源1 个2. 设计过程:2.1设计原理:本实验的显示接口采用 CH451 芯片。该芯片整合了数码管显示驱动和键盘扫描控制可以动态驱动8 位数码管或者64 位LED,具有BCD 译码、闪烁、移位等功能;同时还可以进行64 键的键盘扫描;芯片内部有多个寄存器控制整个芯片的运行,其中有8 个寄存器存入所要显示的数字,每个寄存器有8 位,每一位控制一个数码管其中的一段(1 为点亮,0 为熄灭)。单片机通过4 根信号线(串行数据输入线
5、DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT)控制CH451,显示数据,同时通过CH451 对键盘的扫描,达到人机交换信息的目的。该芯片与实验板相关器件连接原理图如下:CH451原理图CH451引脚图 2.2操作命令:CH451操作命令表实验板实物图:1> 空操作:0000XXXXXXXXB空操作命令不对CH451 产生任何影响。为了在不影响CH451 的前提下变化DCLK 以清除看门狗计时,也可以发送空操作命令。空操作命令可以只发送有效数据B8B11,简化描述是0000。2> 芯片内部复位:001000000001B内部复位命令将CH451 的各
6、个寄存器和各种参数复位到默认的状态。芯片上电时,CH451总是被复位,此时各个寄存器均复位为0,各种参数均恢复为默认值。3> 字数据左移:001100000000B字数据左移命令将CH451 的字数据左移一次,即从DIG0 向DIG7 移动一位,然后最右边的DIG0 补进数据00H。例如,在数码管DIG7DIG0 显示“87654321”时,执行字数据左移命令,显示变为“7654321 ”(不译码方式)或者“76543210”(BCD 译码方式)。4> 字数据右移:001100000010B字数据右移命令将CH451 的字数据右移一次,即从DIG7 向DIG0 移动一位,然后最左边
7、的DIG7 补进数据00H。例如,在数码管DIG7DIG0 显示“87654321”时,执行字数据右移命令,显示变为“ 8765432”(不译码方式)或者“08765432”(BCD 译码方式)。5> 字数据左循环:001100000001B字数据左循环命令将CH451 的字数据左循环一次,即从DIG0 向DIG7 移动一位,然后最右边的DIG0 补进原DIG7 的数据。例如,在数码管DIG7DIG0 显示“87654321”时,执行字数据左循环命令,显示变为“76543218”。6> 字数据右循环:001100000011B字数据右循环命令将CH451 的字数据右循环一次,即从D
8、IG7 向DIG0 移动一位,然后最左边的DIG7 补进原DIG0 的数据。例如,在数码管DIG7DIG0 显示“87654321”时,执行字数据右循环命令,显示变为“18765432”。7> 设定系统参数:010000000WDOGKEYBDISPB设定系统参数命令用于设定CH451 的系统级参数:看门狗使能WDOG,键盘扫描使能KEYB,显示驱动使能DISP。各个参数均通过1 位数据控制,将相应的数据位置为1 则启用该功能,否则关闭该功能(默认值)。例如,命令数据010000000101B 表示启用看门狗的功能、关闭键盘扫描的功能、启用显示扫描驱动的功能。8> 设定显示参数:0
9、101MODELIMITINTENSITYB设定显示参数命令用于设定CH451 的显示参数:译码方式MODE,扫描极限LIMIT,显示亮度INTENSITY。译码方式MODE 通过1 位数据控制,置1 时选择BCD 译码方式,置0 时选择不译码方式(默认值)。扫描极限LIMIT 通过3 位数据控制,数据001B111B 和000B 分别设定扫描极限为17 和8(默认值)。显示亮度INTENSITY 通过4 位数据控制,数据0001B1111B 和0000B 分别设定显示驱动占空比为1/1615/16 和16/16(默认值)。例如,命令数据010101110000B 表示选择不译码方式、扫描极限
10、为7、显示驱动占空比为16/16;命令数据010110001010B 表示选择BCD 译码方式、扫描极限为8、显示驱动占空比为10/16。9> 设定闪烁控制:0110D7SD6SD5SD4SD3SD2SD1SD0SB设定闪烁控制命令用于设定CH451 的闪烁显示属性:D7SD0S 分别对应于8 个字驱动DIG7DIG0。闪烁属性D7SD0S 分别通过1 位数据控制,将相应的数据位置为1 则使能闪烁显示,否则为正常显示,不闪烁(默认值)。例如,命令数据011000100001B 表示设定数码管DIG5 和DIG0 闪烁显示,其余数码管正常显示,不闪烁。10> 加载字数据:1DIG_A
11、DDRDIG_DATAB加载字数据命令用于将字数据DIG_DATA 写入DIG_ADDR 指定地址的数据寄存器中。DIG_ADDR 通过3 位数据指定数据寄存器的地址,数据000B111B 分别指定地址07,对应于DIG0DIG7 引脚驱动的8 个数码管。DIG_DATA 是8 位的字数据。例如,命令数据100001111001B 表示将字数据79H 写入第1 个数据寄存器,如果是不译码方式,则DIG0引脚驱动的数码管将显示E;命令数据110010001000B 表示将字数据88H 写入第5 个数据寄存器,如果是BCD 译码方式,则DIG4 引脚驱动的数码管将显示8.11> 读取按键代码
12、:0111XXXXXXXXB读取按键代码命令用于获得CH451 最近检测到的有效按键的按键代码。该命令是唯一的具有数据返回的命令,CH451 从DOUT 引脚输出按键代码,按键代码总是7 位数据,最高位是状态码,位5位0 是扫描码。读取按键代码命令的位数据B0B7 可以是任意值,所以控制器可以将该操作命令缩短为4 位数据B8B11。例如,CH451 检测到有效按键并中断,按键代码是5EH,简化描述1110HLHHHHL表示先向CH451 发出读取按键代码命令0111XXXXXXXXB,然后从DOUT 获得按键代码5EH。CH451BCD码译码表 2.3操作过程: 2.3.1硬件连接:CH451
13、CPU89S52J5_89S52P34P15P33P32J23_CH451LOADDCLKDINDOUT将并口线插在实验板与 PC 机的并口插座上;按上图 连接实验线路;仔细检查无误后,接通电源。(图中箭头表示需要接线的地方) 2.3.2软件设计:进入 KEILC 环境编写程序。89S52 首先向DIN 发送一个上升沿,通知CH451 数据线使能,然后89S52 发送010000000101,010110000000,通知CH451 打开键盘扫描功能,开启显示功能,选择BCD 译码方式,在就可以向每个显示寄存器送入要显示的数据。例如:八个数码管全显示“8”时送入的二进制数据为:10000000
14、1000;100100001000;101000001000;101100001000;110000001000;110100001000;111000001000;111100001000;打开 89S52 的外部中断1,并设置为下降沿中断方式,当KEY1-KEY5 任一键按下时,CH451的DOUT 脚会产生一个下降沿,这时89S52 便会产生一个中断,并进入中断程序。中断程序中,应首先关闭中断,然后向CH451 发送读键值指令(0111),读取键值。KEY1-KEY5 的键值分别为:0X40,0X49,0X52,0X5B,0X64.程序编译成功后,打开联机下载软件,将HEX 文件下载到8
15、9S52 中,观看程序运行结果,如有问题则修改程序,再次下载。调试成功后,将送显程序,和读取键值程序,各写成一个函数,供后续实验模块调用。2.3.3设计成功标志:1> 启动实验板,自动显示“12345678”2> 按下1 号按键,显示“001”3> 按下2 号按键,显示“002”4> 按下3 号按键,显示“003”5> 按下4 号按键,显示“004” 2.4程序设计:程序原理图程序代码:#include "reg52.h"#include "def.h"#include "display.h"#inclu
16、de "sub.h"#include "func.h"extern unsigned char key_print;extern unsigned char key_data;/*|函数名send_disp_data|函数功能向CH451芯片发送命令|参数comm:命令体|_data:命令参数|返回值无|*/void send_disp_data(unsigned char comm, unsigned char _data)unsigned char i;/送8BIT数据for(i=0;i<8;i+)DIN = (_data>>i)&
17、amp;0x01;DCLK = 1;DCLK = 0;DCLK = 1;/送4BIT命令for(i=0;i<4;i+)DIN = (comm>>i)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函数名send_comm|函数功能向CH451芯片发送命令|参数comm:命令体|返回值无|*/void send_comm(unsigned char comm)unsigned char i;/送4BIT命令for(i=0;i<4;i+)DIN = (comm>>i)&0x01;D
18、CLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函数名disp_initialize|函数功能向CH451芯片发送初始化命令|参数无|返回值无|*/void disp_initialize()chang_4052(1); DIN=0;DIN=1;DCLK=1;LOAD=1;DOUT=1;send_disp_data( CH451_SETSYS, 0x03);/设定系统参数send_disp_data( CH451_SETDIS, 0x80);/设定显示参数/*|函数名key|函数功能中断函数,获取当前按键状态|参数无|返回值无|*/void
19、key() interrupt 0 unsigned char i,temp;EX0 = 0;/关中断key_data = 0;temp = 0;send_comm(CH451_KEY);for(i=0; i<7; i+) temp = DOUT;key_data = key_data|(temp<<(6-i);DCLK=1;DCLK=0;DCLK=1;EX0 = 1;/中断/*|函数名Display_TEST|函数功能测试显示LED数码管|参数无|返回值无|*/void Display_TEST()/初始化显示芯片disp_initialize();/延时delay_1ms
20、(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_LOAD7, 0x08);d
21、elay_1ms(200);/延时delay_1ms(200);/开中断,接受按键信息EX0=1;/"-"send_disp_data( CH451_LOAD0, 0x12);send_disp_data( CH451_LOAD1, 0x12);send_disp_data( CH451_LOAD2, 0x12);send_disp_data( CH451_LOAD3, 0x12);send_disp_data( CH451_LOAD4, 0x12);send_disp_data( CH451_LOAD5, 0x12);send_disp_data( CH451_LOAD6
22、, 0x12);send_disp_data( CH451_LOAD7, 0x12);/*|函数名display_int|函数功能显示一个整数|参数无|返回值无|*/void display_int(unsigned int m)send_disp_data( CH451_LOAD0, 0x10);send_disp_data( CH451_LOAD1, 0x10);send_disp_data( CH451_LOAD2, 0x10);if (m/10000)send_disp_data( CH451_LOAD3, m/10000);elsesend_disp_data( CH451_LOAD3, 0x10);if (!(m/1000)%10)&&(!(m/10000)send_disp_data( CH451_LOAD4, 0x10);elsesend_disp_data( CH451_LOAD4, (m/1000)%10);send_disp_data( CH451_LOAD5, (m/100)%10);send_disp_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证券从业资格证经济学对证券影响试题及答案
- 项目管理敏捷实践的考查要点试题及答案
- 注册会计师应试自信心提升试题及答案
- 项目管理稳步推进方法试题及答案
- 项目管理专业资格考试考核机制试题及答案
- 理财师如何进行资本运作的决策试题及答案
- 公共场地改造方案范本
- 2025年特许金融分析师考试职业规划试题及答案
- 新建果园施肥方案范本
- 证券从业资格证考试实战技巧试题及答案
- 水利工程建设文明工地创建措施
- 液压阀门测试机安全操作规程
- kV落地手车式开关移动平台的研制
- 电力行业公共信用综合评价标准(试行)
- 继发性高血压的诊断思路与流程
- 上海市汽车维修结算工时定额(试行)
- 装配式建筑发展存在的问题及对策分析
- 中国古典文献学(全套)
- 自身免疫性脑炎
- 医院质控科工作质量考核指标
- GB/T 4937.22-2018半导体器件机械和气候试验方法第22部分:键合强度
评论
0/150
提交评论