智能仪器实验指导书
智能仪器最终版

实验一模拟量的输入\输出指导教师李业德实验目的:熟悉模数转换的工作原理,学习使用串行模/数转换芯片TLC549进行电压信号的采集和数据处理。
实验设备及器件:PC机,DP-51PROC单片机综合仿真实验仪。
实验内容:编写程序,通过单片机的P1口控制串行A/D转换芯片TLC549实现模拟电压信号的采集,通过LED数码管显示转换结果。
实验步骤:1、电路连接1)安装B8区JP17的短路帽,然后将Vcc(+5V电源)与B8区的REF+连接,将B8区的CLK、DAT、CS对应连接到A2区的P10、P11、P12针上。
2)使用导线将D2区的10K 电位器连接为电压调节模式,使用导线将其电压调整端连接到B8区的ANIN连接柱,作为TLC549的模拟电压信号输入。
2、编写程序编写程序,驱动TLC549,将转换结果显示在数码管上。
3、下载调试打开调试软件,下载运行编写好的程序,完成一次A/D转换,然后调节电位器改变输入模拟电压,多次测量保存测量数据。
实验参考程序:#include <REG51.h>#include <intrins.h>#include <absacc.h>#include "VIiC_C51.H" //包含VI2C软件包#include "zlg7290.h"#define uchar unsigned charsbit CLK=P1^3;sbit DAT=P1^1;sbit CS=P1^2;sbit RST=P1^0;uchar bdata ADCdata;sbit ADbit=ADCdata^0;unsigned char DelayNS(unsigned char no) {unsigned char i,j;//延时参数for(; no>0; no--){for(i=0; i<100; i++)for(j=0; j<10; j++);}return 0;}/**************************************** *************函数名称: TLC549ADC()**函数功能: 读取上一次A/D转换的数据,启动下一次A/D转换***************************************** ***********/uchar TLC549ADC(void){uchar i;CLK=0;DAT=1;CS=0;for(i=0;i<8;i++){CLK=1;_nop_();_nop_();ADCdata<<=1;ADbit=DAT;CLK=0;_nop_();}return (ADCdata);}void main(){uchar i;uchar AD_DATA; //定义A/D转换数据变量RST=0;DelayNS(1);RST=1;DelayNS(10);TLC549ADC(); //启动一次A/D转换for(i=0xff;i>0;i--) //延时{_nop_();}while(1){AD_DATA=TLC549ADC();ZLG7290_SendCmd(0x60+0,AD_DATA);}}实验二智能机器人机接口指导教师李业德实验目的:掌握智能仪器的人机对话接口。
智能仪器仪表设计指导书

课程设计指导书课程名称:智能仪器仪表设计及调试适用专业:测控技术与仪器2013-6第一章课程设计的教学组织1.1性质与目的本课程是测控技术与仪器本科专业的重要实践课程,是《智能仪器仪表设计技术》课程的一个综合性、设计性的实践教学环节。
学生通过这门课程的学习与实践,能够提出仪器系统的设计思路、论证设计方案;熟悉智能仪器仪表开发、研制的过程,软硬件设计方法和设计步骤;初步学会设计智能仪器仪表软硬件设计及调试的方法,具备技术实现能力;基本上能够处理实践过程中出现的问题并提出解决办法;提高理论付诸于实践的能力,提高工程设计能力和处理实际问题的能力,开发学生的创新能力。
在课程设计教学中,应以学生自主设计为主,充分发挥学生的自主性和创造精神。
教师的指导作用主要体现在工作方法,思维方法的引导。
为保证顺利完成设计院任务,应注意如下要求:(1)认真阅读设计任务书,保质保量地完成任务书的规定的工作。
(2)在总体方案确定过程中,要求多想,多查资料,少问。
(3)程序设计时,先画框图再编程,无论是自上而下,还是自下而上,必须一步一步调试,做到可读性好,主要语句一定要写注释。
(4)硬件图用A4绘制,必须符合国家有关标准的规定。
(5)说明书要求文字通顺,简炼。
不少于4000字(不含源程序)。
(6)设计的系统必须进行实验演示。
1.2设计任务书设计任务书需阐明:课题的名称;课题的意义与概况;课题的具体要求与工作步骤;及进度安排;分组办法;各组应完成的任务与侧重;参考资料等情况。
设计任务书样例见附录一。
除书面下达外,指导教师还须作详细说明,以期真正组织好这一教学环节。
为此,在初始阶段可安排一定时间的讲课。
讲课时还应向学生交待:课程设计(大型作业)教学环节的性质、与毕业设计的区别;设计说明书的写法与要求;最后考核的办法与评分依据。
伴随着课题的具体进展,教师应加强辅导与答疑。
课程设计宜挑选典型、成熟的课题。
因此,不必届届更新。
为了提高这一教学环节的教学质量,除设计任务书外,另可由有经验的教师编写好教学指导书,供指导教师参考,并注意逐届总结和修改完善。
《智能仪器》实验教学大纲.

《智能仪器》实验教学大纲实验类别:课内实验实验课程名称:智能仪器实验室名称:动态参数校准实验室实验课程编号:03050302总学时:8 学时学分:0.5适用专业:测控技术与仪器专业先修课程:数字电子技术基础模拟电子技术基础微机原理及接口技术 EDA技术一、实验在教学培养计划中地位、作用;智能仪器课程是一门实践性、应用性很强的课程,实验教学在整个教学过程中尤其重要。
在实践性教学环节中,我们始终坚持培养学生的知识的综合应用能力和开拓创新意识。
通过教学实践,不仅同学生传授知识,同时要教书育人,注意培养学生热爱社会主义祖国、热爱专业和遵纪守法的高尚品德,以及理论联系实际、刻苦学习的精神,培养严谨的科学态度。
二、实验内容、基本要求:实验一输入输出实验( 2 学时)综合性实验内容1、从基本的数字电路设计开始,循序渐进,了解CPLD/FPGA设计的完整过程,同时也熟悉了实验箱的大部分功能,为后面的综合实验和有创意的开发作好准备。
2、通过简单的的2-4译码器、异或门等基本数字电路的设计,让学生掌握MAXPLUSⅡ软件的使用,掌握组合逻辑电路的设计方法;3、掌握组合逻辑电路的静态测试方法;4、掌握用VHDL语言设计组合逻辑电路的方法;基本要求:1、2输入异或门功能的仿真及功能验证。
在MAXPLUSⅡ软件在用原理图输入法或VHDL语言输入法对2输入异或门进行功能仿真,并烧写到实验箱内的主芯片Altera EPF10K10LC84-4,用按扭开关或拨码开关实现输入控制,用LED数码管实现结果的显示输出。
2、组合逻辑2-4译码器的设计、功能仿真及功能验证。
在MAXPLUSⅡ软件在用原理图输入法或VHDL语言输入法对2-4译码器进行功能仿真,并烧写到实验箱内的主芯片Altera EPF10K10LC84-4,用按扭开关或拨码开关实现输入控制,用LED数码管实现结果的显示输出。
此实验涵盖了可编程逻辑器件(如CPLD/FPGA)及应用、VHDL程序设计、可编程逻辑器件软件的使用三个知识点。
智能仪器实验指导书资料

随着微电子技术和通信技术的发展极大的促进了智能仪器仪表的变革,虚拟仪器仪表是仪器技术与计算机技术深层次结合的产物,它的推出又给智能仪器仪表带来了新的活力,使得测量仪器与计算机之间的界限几乎消失,开始了测量仪器的新时代,是仪器领域的一次变革。
它在教学领域中涉及到传感器技术、智能仪器仪表原理、虚拟仪器仪表技术等相关课程,为了迫切的满足各高等院校的教学实验及实践的要求,为此开发了此套智能仪器及虚拟仪器仪表综合实验装置。
本实验装置是集传感器信号调理技术、智能仪器原理及应用技术、虚拟仪器仪表技术的综合实验装置,智能仪器原理及应用部分采用了模块化设计兼单片机总线设计的思想,各个模块代表了智能仪器仪表的典型组成模块;本实验装置既能作模块性实验,又能将某些模块组合起来作综合性实验;虚拟仪器仪表部分采用了PCI数据采集卡,它作为计算机与外围信号之间的接口。
本实验装置备有一个传感器实验箱和七个实验挂箱,它们分别为:THVZ-1型传感器实验箱、信号调理挂箱、外围扩展挂箱(一)、“CPU主挂箱”,“外围扩展挂箱(二)、对象挂箱、信号接口挂箱、传感器挂箱。
传感器部分主要由“THVZ-1型传感器实验箱”及“信号调理挂箱”组成。
智能仪器部分采用了四个实验挂箱,包括“外围扩展挂箱(一)”,“CPU主挂箱”,“外围扩展挂箱(二)”,“对象挂箱”及“打印机对象”,挂箱之间通过总线接口“JP26”,总线接口“JP20”一一对应相连接来进行数据传输。
虚拟仪器仪表部分包括“信号接口挂箱”和“传感器挂箱”,并采用了USB数据采集卡,USB数据采集卡上的各个信号接口可在“信号接口挂箱”上通过电缆线全部引出,此为外部信号与计算机之间的接口。
实验八模拟多路开关实验 (2)实验九可编程增益放大器实验 (5)实验十A/D转换实验 (8)实验十一D/A转换实验 (13)实验十二静态显示实验 (15)实验十三动态显示实验 (18)实验十四液晶显示实验 (20)实验十五键盘实验 (33)实验十六开关量输入输出实验 (39)实验十八PCF8563时钟/日历芯片的应用实验 (41)实验二十一打印机实验 (43)实验二十二RS232通信实验 (46)实验二十三RS485通信实验 (51)实验二十六温度测量实验......................................................................... 错误!未定义书签。
智能仪器实验指导书

实验一智能数字示波器 S5022ME使用功能一、实验目的1.基本了解《智能仪器与仪表》课程经常使用的测量仪器、仪表并且熟悉常用仪表功能类型、特点及应用范围,掌握安全用电的基础知识。
2.结合对理论知识的理解,观察识别智能仪器外部结构,内部电路组成,电路结构中使用大量元件,器件等,增强学生对电子设备内的感性认识,培养学生的观察能力、培养学生识别电阻与正确使用模拟万用表动手操作能力。
3. 通过现场智能仪器与仪表典型电路分析,实物观察,结合课程理论部分,对照电原理图电路,讲解元件,器件基础知识,增强学生的识别能力与仪表测量能力,能够通过实际测试,掌握识别基础元器件的能力。
通过现场智能仪器典型电路分析,实物观察,结合课程理论部分,对照电原理图电路,讲解元件,器件基础知识,增强学生的识别能力与仪表测量能力,能够通过实际测试,掌握识别基础元器件的能力,掌握基础测量仪表的使用能力,掌握仪器设备安全注意事项,达到增强对电子设备理论与实际结合的感性认识的目的,同时加深对实际操作技能在电子设备维修维护中的重要作用的理解。
二、实验设备1.智能数字示波器S5022ME;(DS5000)2.数字万用表三、实验内容1. 掌握安全用电的基础知识。
智能数字示波器S5022ME;安全用电的重要性分析。
2.熟练掌握智能数字示波器S5022ME的使用方法。
3.拆卸智能数字示波器S5022ME1)观察识别智能数字示波器S5022ME的外部结构,内部电路组成。
2)观察与识别智能数字示波器S5022ME电路中,使用大量元件,器件等名称与起什么作用。
3)能够正确使用智能数字示波器S5022ME,培养学生的动手操作能力。
注意观察智能数字示波器S5022ME的内部结构、安装情况及相互关系,注意部件的位置与固定。
4)通过现场智能数字示波器S5022ME电路分析,实物观察,结合课程理论部分,对照电原理图电路,讲解元件,器件基础知识。
5)增强学生的识别能力与仪表测量能力;6)能够通过实际测试,掌握智能数字示波器S5022ME的能力。
智能仪器实验

实验一智能仪器人机接口实验1.1 P1口输出实验一. 实验目的通过实验了解P1口作为输入输出方式使用时,CPU对P1口操作方式。
二. 实验设备仿真器1台,5V小电源1台,实验电路板1块,数字式万用表1块。
三.实验原理P1口为8位准双向口,每一位可独立定义为输入输出。
CPU对P1口的操作可以是字节操作,也可以是位操作。
试验中P1口接8个发光二极管,编写程序,通过P1口控制LED 状态,熟悉CPU对P1口操作命令。
四.实验内容实验线路如图1.11.1所示,电路中发光二极管状态代表输出口的状态,编制程序,使8个LED每隔2个右移循环点亮。
五. 实验参考程序汇编程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP, #60HMOV A, #24H ;送隔2个亮控制字SETB CL0:MOV P1, A ;送P1口ACALL DL ;延时RRC A ;右移图1.11.1 P1口输出实验AJMP ;循环点亮DL: MOV R7, #0A3H MOV R6, #0FFHDL2: DJNZ R6, DL2DJNZ R7, DL1RET1.2 P1口输入输出实验一. 实验目的通过实验了解开关量输入、输出控制的接口技术及编程方法。
二. 实验设备仿真器1台,5V小电源1台,实验电路板1块,数字式万用表1块。
三. 实验内容实验线路如图1.11.2所示,74LS377的输入端1D~8D接在80C51的P0口,其输出线1Q~8Q接8个发光二极管,WR作为锁存控制信号接在74LS377的时钟端。
通过P1口开关向单片机输入数据,任意组合开关的输入状态,得到不同的输出状态。
见表1-11-1。
四. 实验程序流程及参考程序实验流程如图1.11.3所示。
图1.11.3 P1输入输出程序流程图表1-11-1 输入输出开关状态汇编程序组次(N)输入输出开关状态控制字LED状态控制字1 AA 55 81 7E2 55 AA 7E 813 0F F0 3C C34 F0 0F C3 3C5 7F 80 10 EF6 F7 08 11 EE7 BB 44 55 AA8 44 BB AA 55ORG 0000HLJMP MAINORG 0100HMAIN: NOPZH: MOV R2, #08H ;置组数MOV R1, #00HMOV A, #0FFH ;片选377初始化MOV DPTR, #7FFFHMOVX @DPTR, AMOV A, #0FFHMOV P1, AMOV A, P1 ;状态送A寄存器JZ END ;A=00H,结束CJNE A, #0FFH, MH ;A=FFH 等待SJMP ZHEND: SJMP﹩MH: MOV 60H, A ;P1口状态送60H TA: MOV DPTR, #1000H ;指向表址LP: MOV A, R1MOVC A, @A+DPTR ;查表取数CJNE A, 60H, LP1 ;不等,转移AJMP LP2LP3: MOV A, R1MOVC A, @A+DPTR ;查输出表MOV DPTR, #7FFFHMOVX @DPTR, AAJMP ZHLP1: INC R1 ;重查组真值表INC R1DJNZ R2, LPAJMP ZHLP2: INC R1AJMP LP3ORG 1000HDB 55H, 7EH, 0AAH, 81H ;控制字/输出表值DB 0F0H, 0C3H, OFH, 3CHDB 80H, 0EFH, 08H, 0EEHDB 44H, 0AAH, 0BBH, 55H五. 思考题从P1口读入数据时应注意什么?1.3 P1口音乐输出实验一. 实验目的 通过实验掌握音乐报警电路硬件电路设计及软件编程方法。
智能仪器实验指导

实验一运放和数字滤波器一.实验目的:1熟悉NI ELVIS 工作环境。
2学习使用NI ELVIS测量电路元件的电学属性。
3 使用NI ELVIS 仪器套件测量运放电路和滤波器的特性。
二.实验元件:●10 kΩ电阻R1●100 kΩ电阻R f●1 μF 电容C1●0.01 μF 电容C f●741 运算放大器三.实验内容:1. 测量元件的电学属性启动NI ELVIS 并选择数字万用表,使用DMM [Ω]测量电阻,使用DMM [C]测量电容,记录实验数据后关闭数字万用表。
R1= __________(标称值10 kΩ);R f =__________(标称值100 kΩ)C1= __________(标称值1μF);C f =__________(标称值0.01μF)2. 测量基本运放电路的频率响应根据图1.1和图1.2,在NI ELVIS原型板上构建一个增益为10的741反相比例运放电路并测量其特性。
步骤如下:(1)运算放大器同时使用+15 V 和-15 V 直流电源。
它们可以在原型板针脚插槽上找到(标记为+15 V、-15 V 和地)。
(2)将运算放大器输入电压V1 连接至[FUNCOUT],输出电压V out 连接至示波器输入针脚插槽[CHA+]和[CHA-],连接[地]针脚插槽。
(3)从NI ELVIS 仪器启动界面中,选择函数发生器和示波器。
(4)在示波器软件前面板中,将通道A信号源设置为BNC/原型板通道A。
要观察输入信号,将通道B信号源设置为FGEN FUNC -OUT 。
(5)在函数发生器面板上,设置参数如图1.3。
(6)在实验面包板上,按照原理图,构造一个简单的增益为10 的741 反向运算放大器电路。
将运算放大器输入电压V1 连接至[FUNCOUT],将运算放大器输出电压V out 连接至示波器输入针脚插槽[CHA+]和[CHA-]。
连接[地]针脚插槽。
(7)从NI ELVIS仪器启动界面中选择函数发生器和示波器。
智能仪器仪表设计技术实验指导书

智能仪器仪表设计技术实验指导书目录1 单片机实验板 (3)1.1 资源介绍 (3)1.2原理图 (5)1.3 PCB丝印图 (7)2 KEIL软件的使用 (8)3 STC-ISP下载软件的使用方法 (16)实验一数据采集系统的设计与实现 (19)实验二键盘及LCD显示 (23)实验三基本数据处理算法 (29)实验四基于单片机的智能仪器综合设计实验 (32)实验五PID温度控制器 (33)1 单片机实验板1.1 资源介绍1)采用STC8952RC(与标准51指令、脚位完全兼容),支持在线串行ISP下载。
2)供电方式:USB供电及下载3)USB转串口RS232 (PL2303芯片)4)4个LED发光管,1个电源指示灯5)四位数码管6)4个独立式键盘(包含外部中断按键),1个复位或下载按键7)DS1302 一片8)AT24C02一片9)热敏电阻1支10) 加热电阻 1个11)12864液晶显示接口12)PCF8573一片13)AD电位器一个14) 蜂鸣器一个15)DS18B20温度传感器(选配件)16)IrDA红外接收头(遥控器为选配件)产品图片:资源分配图如下:1.2原理图USB 电源PL2303 下载芯片红外接收 蜂鸣器 5V GND复位 下载键电源 指示灯四个独立按键MCU : STC89C52 所有IO 引出24C02 DS130发热电阻 DS18B20接口 热敏电阻 12864液晶接口PCF8573DA 指示加热指示灯 AD 电位器1.3 PCB丝印图2 KEIL软件的使用KEIL是51单片机开发的最常见的开发软件。
成功安装好KEIL软件后,即可看到电脑桌面上Keil软件图标,如下图。
1.双击图标,打开软件,出现如下界面。
在打开的窗口中,选择“Project”菜单:2.点击“New Project”出现一个创建工程对话框,选择工程所建路径,并输入工程的文件名(建议用英文),点击“保存”:3.之后出现芯片选择界面,如下图:4.这里,选取常用51芯片即可,选择“Philips”下的“8Xc51RC+”芯片:5.点击“确定”,在出现如下对话框时,选择“否”:6.至此,已成功建立工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一智能仪器的输入模块----键盘一、实验目的:了解并掌握智能仪器的信息输入方法二、实验器材:智能仪器实验平台一个、键盘模块一个三、实验要求:1)通过反转法循环扫描矩阵键盘,并通过数码管显示数据。
2)当按下键盘的S1键时,蜂鸣器发声。
四、实验内容#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit SPK=P1^2; //定义喇叭端口unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F/*------------------------------------------------函数声明------------------------------------------------*/uchar keyscan(void);//键盘扫描void delay(uint i); //演示程序void SPEAKE(uchar x);/*------------------------------------------------主函数------------------------------------------------*/void main(){uchar key;P2=0x00; //1数码管亮按相应的按键,会显示按键上的字符while(1){key=keyscan(); //调用键盘扫描,switch(key){case 0x7e:P0=dofly[0];SPEAKE(key);break;//0 按下相应的键显示相对应的码值case 0x7d:P0=dofly[1];P1=0xfe;break;//1case 0x7b:P0=dofly[2];P1=0xfd;break;//2case 0x77:P0=dofly[3];P1=0xfb;break;//3case 0xbe:P0=dofly[4];P1=0xf7;break;//4case 0xbd:P0=dofly[5];P1=0xef;break;//5case 0xbb:P0=dofly[6];P1=0xdf;break;//6case 0xb7:P0=dofly[7];P1=0xbf;break;//7case 0xde:P0=dofly[8];P1=0x7f;break;//8case 0xdd:P0=dofly[9];break;//9case 0xdb:P0=dofly[10];break;//acase 0xd7:P0=dofly[11];break;//bcase 0xee:P0=dofly[12];break;//ccase 0xed:P0=dofly[13];break;//dcase 0xeb:P0=dofly[14];break;//ecase 0xe7:P0=dofly[15];break;//f}}}/*------------------------------------------------键盘扫描程序------------------------------------------------*/uchar keyscan(void) //键盘扫描函数,使用行列反转扫描法{uchar cord_h,cord_l;//行列值中间变量P3=0x0f; //行线输出全为0cord_h=P3&0x0f; //读入列线值if(cord_h!=0x0f) //先检测有无按键按下{delay(100); //去抖if(cord_h!=0x0f){cord_h=P3&0x0f; //读入列线值P3=cord_h|0xf0; //输出当前列线值cord_l=P3&0xf0; //读入行线值return(cord_h+cord_l);//键盘最后组合码值}}return(0xff); //返回该值}/*------------------------------------------------延时程序------------------------------------------------*/void delay(uint i) //延时函数{while(i--);}void SPEAKE(uchar x){unsigned int i,j;while(x==0x7e){for(j=5;j>0;j--){for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短{delay(80); //参数决定发声的频率,估算值,可以自行更改参数并SPK=!SPK;}SPK=1; //喇叭停止工作,间歇的时间,可更改delay(20000);}x=0;}}五、实验中出现的问题和总结实验二智能仪器的输出模块----LED显示一、实验目的:了解并掌握智能仪器的信息显示方法二、实验器材:智能仪器实验平台一个、LED模块一个三、实验要求:1)8个数码管同时显示数据1、2、3、4、5、6、7。
2)当按下键盘的S1键时,数码管显示1、3、5、7;当按下键盘的S2键时,数码管显示2、4、6、8;四、实验内容1)#include<reg52.h>unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值01234567unsigned char code seg[]={0,1,2,3,4,5,6,7};//分别对应相应的数码管点亮,即位码/*------------------------------------------------延时子程序------------------------------------------------*/void delay(unsigned int cnt){while(--cnt);}/*------------------------------------------------主函数------------------------------------------------*/main(){unsigned char i;while(1){P0=dofly[i];//取显示数据,段码P2=seg[i]; //取位码delay(200); //扫描间隙延时,时间太长会闪烁,太短会造成重影i++;if(8==i) //检测8位扫描完全?i=0;}}2)#include<reg52.h>#define uchar unsigned char#define uint unsigned intunsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F unsigned char code seg[]={0,1,2,3,4,5,6,7};//分别对应相应的数码管点亮,即位码/*------------------------------------------------函数声明------------------------------------------------*/uchar keyscan(void);//键盘扫描void delay(uint i); //演示程序void list1(void);void list2(void);/*------------------------------------------------主函数------------------------------------------------*/void main(){uchar key;P2=0x00; //1数码管亮按相应的按键,会显示按键上的字符while(1){key=keyscan(); //调用键盘扫描,switch(key){case 0x7e:list1();break;//0 按下相应的键显示相对应的码值case 0x7d:list2();break;//1case 0x7b:P0=dofly[2];break;//2case 0x77:P0=dofly[3];break;//3case 0xbe:P0=dofly[4];break;//4case 0xbd:P0=dofly[5];break;//5case 0xbb:P0=dofly[6];break;//6case 0xb7:P0=dofly[7];break;//7case 0xde:P0=dofly[8];break;//8case 0xdd:P0=dofly[9];break;//9case 0xdb:P0=dofly[10];break;//acase 0xd7:P0=dofly[11];break;//bcase 0xee:P0=dofly[12];break;//ccase 0xed:P0=dofly[13];break;//dcase 0xeb:P0=dofly[14];break;//ecase 0xe7:P0=dofly[15];break;//f}}}/*------------------------------------------------键盘扫描程序------------------------------------------------*/uchar keyscan(void) //键盘扫描函数,使用行列反转扫描法{uchar cord_h,cord_l;//行列值中间变量P3=0x0f; //行线输出全为0cord_h=P3&0x0f; //读入列线值if(cord_h!=0x0f) //先检测有无按键按下{delay(100); //去抖if(cord_h!=0x0f){cord_h=P3&0x0f; //读入列线值P3=cord_h|0xf0; //输出当前列线值cord_l=P3&0xf0; //读入行线值return(cord_h+cord_l);//键盘最后组合码值}}return(0xff); //返回该值}/*------------------------------------------------延时程序------------------------------------------------*/void delay(uint i) //延时函数{while(i--);}void list1(){unsigned char i=1;while(1){if (keyscan()==0x7e){ P0=dofly[i];//取显示数据,段码P2=seg[i]; //取位码delay(200); //扫描间隙延时,时间太长会闪烁,太短会造成重影i=i+2;if(i==9) //检测8位扫描完全?i=1;}elsebreak;}}void list2(){unsigned char i=2;while(1){if (keyscan()==0x7d){ P0=dofly[i];//取显示数据,段码P2=seg[i-2]; //取位码delay(200); //扫描间隙延时,时间太长会闪烁,太短会造成重影i=i+2;if(i==10) //检测8位扫描完全?i=0;}elsebreak;}}五、实验中出现的问题和总结实验三智能仪器的输出控制一、实验目的:了解并掌握智能仪器的信息显示方法二、实验器材:智能仪器实验平台一个、交通灯模块一个三、实验要求:1)南北方向的交通灯通行10秒,然后禁止通行;南北方向的交通灯禁止通行的同时,东西方向的交通灯通行10秒,然后禁止通行。