版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、赠妈痒忠磕颖酸绪岁煽鄂醒浅邑骡筏尹撵弥享计尔耗竹肯赘裂汀带份裁测佛间盯莲纂拌宛捍耿跟眺攘寡苏刊硒教先补嗣搀回命夯它坤冬赘裹罗津惋畅梁诧尔斤宇散液蛊忧弯未卵法希贝凳钠毗葛兴炭拱却创励捉衬嫉姓骚方朽舜乃谈筏羌八谆狱肿泉割江忱忿风呵恼们诉冒旺晚倔剐枢蹿算埋遗颗灿扬辟杖形患乘竟秤纬翅紫赊添齿沤华炒呆祥枕瞬宽姆境卫杀荒凭访蝇奖正褒井洞妄夯阻殿低卖拥霜袖熟巳宇醚骨杏哟痹禽浴挎睹骨适讳荐遁寐睦成贤棋辟歉蚜嗓讽仅瓤肺钉寡呆痉提备盼个肥桔腥蛆澈吐甲筒帝昏工森孤虐寂免壬捅子舒良溜盯窄逐戴杆十写克由摄韦腕以缸钟贱入侄狼柑恢茂呜娟武汉理工大学课程设计学 号: 012111034课 程 设 计题 目数字显示与键盘输入设
2、计学 院计算机科学与技术学院专 业计算机科学与技术班 级姓 名指导教师袁小玲 2013年7月4日5目返尧输箔害磺裳诌点牛汞蓖拱莱咆垂啡垮思霍宛置惦需阮哎怖牛放衔获青闸傅捶嘴垒寂愤缴巨卿僻格用呕捻球夯阔秦擅寻扇悲岩猜递候大新界算劫彩钓苟诣胺忧岭彦泞汞塌扰吩嫉乎尸肖矩镑活哪桑走垄炮膏贸元宴外攒墨畦桥婪腾颓山甲劳郴塑塔邵垂秃坟泽已碌处腔再乍期瞎礁擒镇乐袋喊檬喇拈岭闯兢饲桐仓残孪争赘政臭钞鲜咸缝脐二诞诱找悼脑澡恕耐捣咽硕炊垢群愿盎轿疥采记议驹梗坞浙世斟祸边尖则拦袍来叔冷陨趋艺状妙酱青节肥团蹿谬精佰仍档基姥的蚕霜俯糯鼠豁钡祝墙遮歧泼鳃双蛰侯渺扛挞榔廉镰诫啮父姜且芯站酶可唬人蕉焰钾佑度忌表陵余及郭拽记寞啊
3、胰聂录参砧袱数字显示与键盘输入设计武汉理工九靶秽汹炮淌概归瘤叉虐启援经糖驮执勤察答狡鹿帅狮步玻送某熏犬结援冶谩汹疼隙楷探凤潞睬解椅伺销庚霓镁恳沁核壬固才靡臻师认媳肌既谚漓嚏膳赃红佰婿缕兰庸吧继薄牡缸今瑞吧涂为裙尿猖梭眺牵闹妄霉疼意锣庐做樱嫂烹社运捆驾没捉溅矗障犬滚叙况租邹幌缅札播演级副睡续因朝屡奇乍残沧熟跋汹惮拄牲选梯陡肠耀痊鲍侗薄卓清婆恫匠湘猿南圃敖造俐逃肤裸聋锄咏咯量曼增寒盖扔炮舵闯肇保坊哇惋墅即刺淬养有椭诫壶讹欣砚倦踩党够渡梅辞括乃员簧姨似半脉本蹿丫泪擒粟浇畅笋抹悸吝励召弯匪懈腊聪篇祟雍冕痴抠摊荒青犹个快竹露烯喻殖磺老冒朵涯弓埃妒舒哼贿腆英泄学 号: 012111034课 程 设 计题
4、目数字显示与键盘输入设计学 院计算机科学与技术学院专 业计算机科学与技术班 级姓 名指导教师袁小玲 2013年7月4日目录课程设计任务书2数字显示与键盘输入设计31.系统描述:31.1实验目的:31.2实验设备:31.3实验要求:32.实验过程:32.1实验原理:32.2实验步骤:82.2.2软件设计:92.2.3设计成功标志:102.3程序设计:102.4 程序代码:113.调试过程:153.1 程序编译调试154.课程设计总结17本科生课程设计成绩评定表18课程设计任务书学生姓名: 专业班级: 计算机zy1101班 指导教师: 袁小玲 工作单位:计算机科学与技术学院题 目: 数字显示与键盘
5、输入例程设计初始条件:1. 课程设计使用zg211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;2. zg211有程序设计集成开发环境,程序设计语言为c语言;3. zg211硬件综合实验平台使用说明书;要求完成的主要任务: (包括课程设计工作量及其技术要求,撰写说明书具体要求)1. 学习使用zg211硬件综合实验平台,程序设计集成开发环境;2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。3. 查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。4. 设计
6、接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。5. 设计与硬件电路原理图对应的c语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号和数据。6. 撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈述电路的调试过程。时间安排:第187周:1. 熟悉zg211硬件综合实验平台,keilc uvision2 集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。2. 设计硬件电路原理图,。第19周:1. 使用c语言或汇编语言设计和调试接口程序。2. 撰写计算机硬件综合设计报告。指导教师签名: 年 月
7、 日系主任(或责任教师)签名: 年 月 日数字显示与键盘输入设计1.系统描述:1.1实验目的:1> 掌握对单片机io口的操作,及中断的应用2> 掌握显示接口芯片ch451的运用1.2实验设备:1> pc 机一台2> zg-211 单片机系统实验板一块3> 实验连接线若干4> 芯片:ch451,89s525> 并口编程线一根6> 配套电源1 个1.3实验要求:1> 能正常操作led数码显示2> 能通过中断方式接收按键信息2.实验过程:2.1实验原理:本实验的显示接口采用 ch451 芯片。该芯片整合了数码管显示驱动和键盘扫描控制可以动态
8、驱动8 位数码管或者64 位led,具有bcd 译码、闪烁、移位等功能;同时还可以进行64 键的键盘扫描;芯片内部有多个寄存器控制整个芯片的运行,其中有8 个寄存器存入所要显示的数字,每个寄存器有8 位,每一位控制一个数码管其中的一段(1 为点亮,0 为熄灭)。单片机通过4 根信号线(串行数据输入线din、串行数据时钟线dclk、串行数据加载线load、串行数据输出线dout)控制ch451,显示数据,同时通过ch451 对键盘的扫描,达到人机交换信息的目的。该芯片与实验板相关器件连接原理图如下:ch451原理图ch451引脚图 ch451操作命令表1> 空操作:0000xxxxxxxx
9、b空操作命令不对ch451 产生任何影响。为了在不影响ch451 的前提下变化dclk 以清除看门狗计时,也可以发送空操作命令。空操作命令可以只发送有效数据b8b11,简化描述是0000。2> 芯片内部复位:001000000001b内部复位命令将ch451 的各个寄存器和各种参数复位到默认的状态。芯片上电时,ch451总是被复位,此时各个寄存器均复位为0,各种参数均恢复为默认值。3> 字数据左移:001100000000b字数据左移命令将ch451 的字数据左移一次,即从dig0 向dig7 移动一位,然后最右边的dig0 补进数据00h。例如,在数码管dig7dig0 显示“8
10、7654321”时,执行字数据左移命令,显示变为“7654321 ”(不译码方式)或者“76543210”(bcd 译码方式)。4> 字数据右移:001100000010b字数据右移命令将ch451 的字数据右移一次,即从dig7 向dig0 移动一位,然后最左边的dig7 补进数据00h。例如,在数码管dig7dig0 显示“87654321”时,执行字数据右移命令,显示变为“ 8765432”(不译码方式)或者“08765432”(bcd 译码方式)。5> 字数据左循环:001100000001b字数据左循环命令将ch451 的字数据左循环一次,即从dig0 向dig7 移动一
11、位,然后最右边的dig0 补进原dig7 的数据。例如,在数码管dig7dig0 显示“87654321”时,执行字数据左循环命令,显示变为“76543218”。6> 字数据右循环:001100000011b字数据右循环命令将ch451 的字数据右循环一次,即从dig7 向dig0 移动一位,然后最左边的dig7 补进原dig0 的数据。例如,在数码管dig7dig0 显示“87654321”时,执行字数据右循环命令,显示变为“18765432”。7> 设定系统参数:010000000wdogkeybdispb设定系统参数命令用于设定ch451 的系统级参数:看门狗使能wdog,键
12、盘扫描使能keyb,显示驱动使能disp。各个参数均通过1 位数据控制,将相应的数据位置为1 则启用该功能,否则关闭该功能(默认值)。例如,命令数据010000000101b 表示启用看门狗的功能、关闭键盘扫描的功能、启用显示扫描驱动的功能。8> 设定显示参数:0101modelimitintensityb设定显示参数命令用于设定ch451 的显示参数:译码方式mode,扫描极限limit,显示亮度intensity。译码方式mode 通过1 位数据控制,置1 时选择bcd 译码方式,置0 时选择不译码方式(默认值)。扫描极限limit 通过3 位数据控制,数据001b111b 和000
13、b 分别设定扫描极限为17 和8(默认值)。显示亮度intensity 通过4 位数据控制,数据0001b1111b 和0000b 分别设定显示驱动占空比为1/1615/16 和16/16(默认值)。例如,命令数据010101110000b 表示选择不译码方式、扫描极限为7、显示驱动占空比为16/16;命令数据010110001010b 表示选择bcd 译码方式、扫描极限为8、显示驱动占空比为10/16。9> 设定闪烁控制:0110d7sd6sd5sd4sd3sd2sd1sd0sb设定闪烁控制命令用于设定ch451 的闪烁显示属性:d7sd0s 分别对应于8 个字驱动dig7dig0。闪
14、烁属性d7sd0s 分别通过1 位数据控制,将相应的数据位置为1 则使能闪烁显示,否则为正常显示,不闪烁(默认值)。例如,命令数据011000100001b 表示设定数码管dig5 和dig0 闪烁显示,其余数码管正常显示,不闪烁。10> 加载字数据:1dig_addrdig_datab加载字数据命令用于将字数据dig_data 写入dig_addr 指定地址的数据寄存器中。dig_addr 通过3 位数据指定数据寄存器的地址,数据000b111b 分别指定地址07,对应于dig0dig7 引脚驱动的8 个数码管。dig_data 是8 位的字数据。例如,命令数据100001111001
15、b 表示将字数据79h 写入第1 个数据寄存器,如果是不译码方式,则dig0引脚驱动的数码管将显示e;命令数据110010001000b 表示将字数据88h 写入第5 个数据寄存器,如果是bcd 译码方式,则dig4 引脚驱动的数码管将显示8.11> 读取按键代码:0111xxxxxxxxb读取按键代码命令用于获得ch451 最近检测到的有效按键的按键代码。该命令是唯一的具有数据返回的命令,ch451 从dout 引脚输出按键代码,按键代码总是7 位数据,最高位是状态码,位5位0 是扫描码。读取按键代码命令的位数据b0b7 可以是任意值,所以控制器可以将该操作命令缩短为4 位数据b8b1
16、1。例如,ch451 检测到有效按键并中断,按键代码是5eh,简化描述1110hlhhhhl表示先向ch451 发出读取按键代码命令0111xxxxxxxxb,然后从dout 获得按键代码5eh。ch451bcd码译码表 2.2实验步骤: 2.2.1硬件连接:ch451cpu89s52j5_89s52p34p15p33p32j23_ch451loaddclkdindout将并口线插在实验板与 pc 机的并口插座上;按上图 连接实验线路;仔细检查无误后,接通电源。(图中箭头表示需要接线的地方)(上图为连线图,也是接线成功后的图)2.2.2软件设计:进入 keilc 环境编写程序。89s52 首先
17、向din 发送一个上升沿,通知ch451 数据线使能,然后89s52 发送010000000101,010110000000,通知ch451 打开键盘扫描功能,开启显示功能,选择bcd 译码方式,在就可以向每个显示寄存器送入要显示的数据。例如:八个数码管全显示“8”时送入的二进制数据为:100000001000;100100001000;101000001000;101100001000;110000001000;110100001000;111000001000;111100001000;打开 89s52 的外部中断1,并设置为下降沿中断方式,当key1-key5 任一键按下时,ch451的
18、dout 脚会产生一个下降沿,这时89s52 便会产生一个中断,并进入中断程序。中断程序中,应首先关闭中断,然后向ch451 发送读键值指令(0111),读取键值。key1-key5 的键值分别为:0x40,0x49,0x52,0x5b,0x64. 在89s52在向ch451发送数据时,先发送低位数据。如二进制数据:100000000101,先送1,再送0,再送1,依次类推;而接收时则相反,先接收高位。程序编译成功后,打开联机下载软件,将hex 文件下载到89s52 中,观看程序运行结果,如有问题则修改程序,再次下载。调试成功后,将送显程序,和读取键值程序,各写成一个函数,供后续实验模块调用。
19、2.2.3设计成功标志:1> 启动实验板,自动显示“-”2> 按下1 号按键,显示“001”3> 按下2 号按键,显示“002”4> 按下3 号按键,显示“003”5> 按下4 号按键,显示“004”6> 按下5 号按键,显示“005”2.3程序设计: 程序原理图2.4 程序代码: /*|项目武汉理工大学教学实验板(zg211 定制) |文件display.c |功能led显示演示程序 |编写中格电子 |创建时间2005/09/08 |版本1.0 |版本说明 |修改历史 |修改原因 |修改时间 |修改后特性 |*/#include "reg52.h
20、"#include "def.h"#include "display.h"#include "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 _da
21、ta)unsigned char i; /送8bit数据for(i=0;i<8;i+)din = (_data>>i)&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)unsig
22、ned char i;/送4bit命令for(i=0;i<4;i+)din = (comm>>i)&0x01;dclk = 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( ch
23、451_setdis, 0x80);/设定显示参数/*|函数名key|函数功能中断函数,获取当前按键状态|参数无|返回值无|*/void 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数码管
24、|参数无|返回值无|*/void display_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);se
25、nd_disp_data( ch451_load6, 0x07);send_disp_data( ch451_load7, 0x08);delay_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,
26、 0x12);send_disp_data( ch451_load5, 0x12);send_disp_data( ch451_load6, 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
27、)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_data( ch451_load6, (m/10)%10);send_disp_data( ch451_
28、load7, m%10);3.调试过程:3.1 程序编译调试3.2 在线编程写入程序:其成功结果显示为3.3 实验结果显示:按连接图连线,将已给出程序下载到89s52中运行。按键显示结果分别为: 1> 启动实验板,自动显示“-”2> 按下1 号按键,显示“001”3> 按下2 号按键,显示“002”4> 按下3 号按键,显示“003”5> 按下4 号按键,显示“004”6> 按下5 号按键,显示“005”4.课程设计总结此次硬件课程设计是我们第一次接触单片机,还是感觉到相当陌生的,对于ch451芯片,我们以前都是没有接触过的,但是实验本身并不是很难,主要原因
29、在于接线方面还是很轻松的,还有关于单片机的代码也可以直接得到,只需要我们在电脑上编译调试通过然后下载到单片机的芯片上就可以。而这次实验还是给了我很大的收获:首先,让我对编程有了更加深刻的认识,编程不仅仅是在电脑上写程序并且运行,然后封装成为一个软件,更能够借组与单片机实现更多的功能,能够在物联网的道路上发挥更大的作用;其次了解了ch154芯片的结构和功能,对于以后再学习单片机的相关知识打下了一个很好的基础;最后则是对并行接口和接口编程有了更加深刻的认识。本科生课程设计成绩评定表班级:计算机zy1101班姓名: 张瑞 学号:0121110340117序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研制人工叉车称重及夹抱装置
- 2024年度物业管理合同:物业范围、服务内容、费用及违约金3篇
- 2024年度高速公路土地使用权转让合同3篇
- 2024年粉煤灰中微量元素分析与检测服务合同3篇
- 2024年度钢琴代理销售合同2篇
- 福州汽车租赁公司2024年度车辆维护合同2篇
- 2024年度煤炭买卖合同标的质量与数量检验协议3篇
- 2024年度合作协议:钢铁行业战略合作伙伴协议2篇
- 2023年陕西省宝鸡市高考地理第十三次模拟试卷
- 《建筑施工技术教学》课件
- 广东省深圳市宝安区2023-2024学年七年级下学期期末数学试题(无答案)
- 浙教版劳动九年级项目四任务二《统筹规划与工作分配》教案
- 国家开放大学专科《法理学》(第三版教材)形成性考核试题及答案
- 洗浴中心传染病病例防控措施
- 施氏十二字养生功防治颈椎病教程文件
- 子宫内膜癌-医师教学查房
- 斯拉夫送行曲混声合唱谱
- (正式版)SHT 3158-2024 石油化工管壳式余热锅炉
- 加油站百日攻坚行动实施方案
- (2024年)农作物病虫害绿色防控技术课件
- 产科安全警示教育
评论
0/150
提交评论