单片机实现简易波形发生器_第1页
单片机实现简易波形发生器_第2页
单片机实现简易波形发生器_第3页
单片机实现简易波形发生器_第4页
单片机实现简易波形发生器_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电子信息工程专业 单片机课程设计报告题 目 简易波形发生器 姓 名 学 号 班 级 指导教师 2013年 7 月 4 日要求:1指导教师按照课程设计大纲要求完成学生课程设计指导工作。2课程设计任务书由指导教师照大纲要求填写,内容要全面。3课程设计报告由参加本学生填写。课程设计结束时交指导教师。4指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。5课程设计任务书和报告要语言流畅,图表正确规范。6本表要用钢笔、圆柱笔填写或打印,字迹工整。 图1.1 显示电路图课程设计报告1 设计原理与技术方法:11 电路工作原理分析 本次单片机实习采

2、用的是单片机STC89C52,对于简易波形发生器设计的硬件电路主要为三个部分,为显示部分、键盘部分、D/A转换电路,以下对三个部分分别介绍。1.1.1 显示电路原理图1.1 显示电路图如图1.1所示八位八段数码管为共阴极数码管,通过两个74HC573锁存器与单片机连接,一片573的LE为位选信号另一片的LE为段选信号,分别由单片机的P2.7和P2.6控制,高电平有效。当P2.7=1、P2.6=0时,位选有效,分别控制01-08八位数码管选通,低有效,即通过P0口送出数据,哪一位为0则哪一位数码管有显示;当P2.6=1、P2.7=0时,段选有效,此时分别控制每一位八段数码管的每一段a b c d

3、 e f g dp的亮灭,高有效,从而使数码管显示数字0-9。显示段码如表1.1所示。表1.1 共阴极数码管显示段码显示字符012345678显示段码3FH06H5BH4FH66H6DH7DH07H7FH显示字符9AbCDEF灭显示段码6FH77H7CH39H5EH79H71H00H1.1.2 键盘电路原理如图1.2所示为4×4的矩阵式键盘与单片机的P3口相连,行连接,列连接。用扫描法对按键进行扫描,先将所有行置0,所有列置1,当有按键按下时,通过对P3口的状态查询则按下的按键所在列将为0,其余仍未1,通过延时去抖动判断是否真有按键按下,若有,则逐行扫描,判断按键所在行,最后返回按键

4、键码,并去执行相应按键的程序。返回键码如表1.2所示。按键01234567返回键码EEHDEHBEH7EHEDHDDHBDH7DH按键89ABCDEF返回键码EBHDBHBBH7BHE7HD7HB7H77H图1.3 D/A转换电路表1.2 键盘扫描返回键码1.1.3 D/A转换电路原理图1.2 键盘电路图如图1.3所示为AD/DA转换芯片PCF8591与单片机相连的电路,其中4路D/A,一路A/D,简易波形发生器用到的为D/A转换,单片机的P2.0及P2.1口与PCF8591的时钟线SCL、数据线SDA相连,通过I2C串行总线向PCF8591发送数据并进行数字量转换成模拟量后输出。1.2 元器

5、件选择及说明 简易波形发生器是由单片机向D/A转换器中输入数字量,通过D/A转换成模拟量从而输出波形,因此用到的器件主要有单片机STC89C51,AD/DA转换芯片PCF8591,四位共阴极数码管,4×4的矩阵式键盘。下面对两种芯片进行说明。1.2.1 单片机STC89C51 单片机的引脚可分为电源、外接晶振、控制和可编程输入/输出引脚。(1)电源引脚(2根) VCC:电源输入,接5V电源 GND:接地线(2)外接晶振引脚(2根) XTAL1:片内振荡电路的输入端 XTAL2:片内振荡电路的输出端(3)控制引脚(4根) RST:复位引脚,引脚上出现2个机器周期的高

6、电平将使单片机复位。ALE/PROG:地址锁存允许信号/片内EPROM编程脉冲 PSEN:外部存储器读选通信号 EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。(4)可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。 P0口(P0.0P0.7):8位双向I/O口线;P1口(P1.0P1.7):8位准双向I/O口线;P2口(P2.0P2.7):8位准双向I/O口线;P3口(P3.0P3.7):8位准双向I/O

7、口线。1.2.2 AD/DA转换芯片PCF8951PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。器件的地址、控制和数据通过两线双向I2C总线传输。其引脚如下:AIN0AIN3:模拟信号输入端。A0A3:引脚地址端。VDD、VSS:电源端(2.56V)。SDA、SCL:I2C 总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。 

8、0;AGND:模拟信号地。器件功能包括多路复用模拟输入、片上跟踪和保持功能、8位模数转换和8位数模转换。最大转换速率取决于I2C总线的最高速率。具体功能描述如下:(1)地址图1.3 地址I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。该地址包括固定部分和可编程部分。可编程部分必须根据地址引脚A0、A1和A2来设置。在I2C总线协议中地址必须是起始条件后作为第一个字节发送。地址字节的最后一位是用于设置以后数据传输方向的读/写位。地址如图1.4所示。(2)控制字图1.4 控制字发送到 PCF8591 的第二个字节将被存储在控制寄存器,用于控制器件功能。控制寄存器的高半字节用于

9、允许模拟输出,和将模拟输入编程为单端或差分输入。低半字节选择一个由高半字节定义的模拟输入通道。控制字如图1.4所示。(3)D/A转换发送给 PCF8591 的第三个字节被存储到DAC 数据寄存器,并使用片上D/A 转换器转换成对应的模拟电压。这个D/A 转换器由连接至外部参考电压的具有256个接头的电阻分压电路和选择开关组成。接头译码器切换一个接头至DAC 输出线。D/A转换顺序的波形如图1.5。1.3 程序设计及流程图本次优秀的设计为当输入任意频率,数码管显示出频率并输出相应频率的方波,此次设计是由定时时间决定,频率范围为30Hz500Hz,当由按键输入次频率范围内任意频率时,对应数码管显示

10、出来并在示波器上输出方波,流程图如图1.6所示。程序见附录。图1.6 优秀设计流程图图1.5 D/A转换顺序2 课程设计工作记录2.1 设计步骤与时间安排6月17日至6月18日,选课题,查阅资料。6月19日至6月21日,研究电路图。6月22日至7月1日,根据课题要求,编写程序,从及格开始,然后中,良,优秀依次展开。并进行仿真,纠正程序的功能错误,不断完善程序。7月2日,进行答辩。7月4日,交实习报告。2.2 课题完成结果说明(1)此次简易波形发生器实现了以下功能: 及格:上电之后,数码管最后四位将显示1234,当按键1按下时,显示1234灭亮闪烁一次,时间间隔为0.5s;当按键2按下时,显示1

11、234灭亮闪烁两次,当按键3按下时,显示1234灭亮闪烁三次;当按键4按下时,显示1234灭亮闪烁四次。 中等:上电之后,示波器显示100Hz方波,数码管显示频率100。当有“频率加”按键按下时,频率加100Hz;当有“频率减”按键按下时,频率减100Hz;当有“幅值加”按键按下时,幅值加0.1V;当由“幅值减”按键按下时,幅值减0.1V。 良好:上电之后,数码管无显示,示波器无波形。当有按键1按下时,示波器出现方波,数码管显示对应频率,此时若有频率加减按键按下,方波频率加减100Hz,若有幅值加减按键按下时,方波幅值加减0.1V;当有按键2按下时,示波器出现三角波,数码管显示对应频率,此时若

12、有频率加减按键按下,三角波频率加减100Hz;当有按键3按下时,示波器出现正弦波,数码管显示对应频率,此时若有频率加减按键按下,正弦波频率加减100Hz。 优秀:上电之后示波器无波形,数码无显示,当输入030Hz500Hz内的任意频率后,数码管显示所输频率,示波器显示相应频率的波形。、 (2)实验中遇到的问题: 1.由于是用I2C总线串行输入数据,延时时间较长,定时时间不准确,方波频率显示只能到700Hz,三角波和正弦波频率只能显示到400Hz。 2.由于显示部分占用了延时时间,为了增大频率,将显示部分的延时减小里许多,导致了数码管后两位显示较暗。 3.由于定时不是很准确,优秀中的各个频率所输

13、出的波形也不是特别精确。 (3)总结通过这三周的实习,感觉时间很紧迫,我认为想要真正做好一次设计三周的时间真的不够用,觉得还有很多不足的地方需要改进,但却已经没有时间。在之前学习单片机感觉还能驾驭,即使在平时实验中也还能凑合应付。但当自己真正做一个模块时,有种无从下手的感觉。并且这次设计我们用的是C语言编程,对于单片机的C语言编程我们还不太了解,后来通过去图书馆借书和查阅资料慢慢的了解了许多C语言程序,之后便开始研究电路图并开始编程,刚开始比较困难,问题很多,但在不断的失败与解决问题的过程中,我一点点进步,最终完成了这次设计任务。这次课程实习是我受益匪浅,让我对单片机的原理和功能有了进一步的了

14、解,学到了更多的电路知识,在对单片机编程过程中,认识了解了IIC总线输入方式,了解了PCF8591类芯片的使用方法。从这次实习,我也发现了自己的许多不足,并更加完善了自我,锻炼了动手能力,而且学会了将理论知识与实际相结合。课程设计验收指导教师评语及成绩:成绩指导教师签字 年 月 日教研室主任意见教研室主任签字年 月 日附录简易波形发生器优秀设计程序:#include<reg52.h>#include<stdio.h>#include<string.h>#include<intrins.h> #define uint unsigned int /宏

15、定义#define uchar unsigned charsbit SCL=P20; /时钟位sbit SDA=P21; /数据位sbit dula=P26; /数码管段选锁存端sbit wela=P27; /数码管位选锁存端uchar code duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数码管段码uchar code weima=0xdf,0xbf,0x7f;uchar code plth_tab=0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xcf,0xd1,0xd2,0xd3,0xd4,0xd6,

16、0xd7,0xd8,0xd9,0xda,0xdb,0xdb,0xdc,0xdd,0xde,0xdf,0xdf,0xe0,0xe0,0xe1,0xe2,0xe3,0xe3,0xe4,0xe4,0xe5,0xe5,0xe6,0xe6,0xe7,0xe7,0xe7,0xe8,0xe8,0xe9,0xe9,0xe9,0xea,0xea,0xea,0xeb,0xeb,0xeb,0xeb,0xec,0xec,0xec,0xed,0xed,0xed,0xee,0xee,0xee,0xee,0xee,0xef,0xef,0xef,0xef,0xf0,0xf0,0xf0,0xf0,0xf0,0xf1,0xf1,

17、0xf1,0xf1,0xf1,0xf1,0xf2,0xf2,0xf2,0xf2,0xf2,0xf2,0xf3,0xf3,0xf3,0xf3,0xf3,0xf3,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf5,0xf5,0xf5,0xf5,0xf5,0xf5,0xf5,0xf5,0xf5,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf6,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf8,0xf8,0xf8,

18、0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfa,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,

19、0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,

20、0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,

21、0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

22、0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

23、0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code pltl_tab=0xf0,0xf0,0xf0,0xf0,0xe0,0x20,0xf0,0x00,0x20,0x40,0xf0,0x50,0x50,0x60,0x30,0x20,0x00,

24、0xf0,0x90,0x40,0x20,0x00,0xa0,0x1a,0x50,0xd0,0x60,0x20,0xb0,0x05,0x95,0x25,0xb5,0x15,0xa5,0x05,0x95,0xf5,0x4a,0xaa,0x0a,0x6a,0xca,0x20,0x80,0xe0,0x0a,0x6a,0xca,0xfa,0x5a,0xba,0xea,0x4a,0x7a,0xaa,0x0a,0x3a,0x6a,0xca,0xfa,0x2a,0x5a,0x8a,0xea,0x1a,0x4a,0x7a,0xaa,0xda,0x0a,0x3a,0x60,0x90,0xc0,0xf0,0x20,

25、0x55,0x7f,0x9f,0xcf,0xf0,0x3f,0x6f,0x87,0x9f,0xcf,0xed,0x0b,0x2a,0x5a,0x72,0x8a,0xba,0xd2,0xea,0x15,0x2d,0x45,0x5d,0x75,0xa5,0xbd,0xd5,0xeb,0x00,0x18,0x30,0x48,0x60,0x78,0x90,0xa8,0xc0,0xd8,0xf0,0x04,0x18,0x30,0x48,0x60,0x78,0x88,0x98,0xa8,0xc0,0xd8,0xe8,0xf8,0x08,0x20,0x38,0x45,0x52,0x60,0x78,0x90,

26、0xa0,0xb0,0xc0,0xd0,0xe0,0xf0,0x00,0x10,0x20,0x30,0x40,0x50,0x5c,0x69,0x75,0x80,0x90,0xa0,0xb0,0xbc,0xc9,0xd5,0xe0,0xf0,0x00,0x10,0x1c,0x29,0x35,0x40,0x4c,0x59,0x65,0x70,0x7c,0x89,0x95,0xa0,0xac,0xb9,0xc5,0xd0,0xda,0xe3,0xed,0xf6,0x00,0x0d,0x1a,0x27,0x35,0x40,0x4a,0x55,0x5f,0x6a,0x74,0x7d,0x87,0x90,

27、0x9a,0xa4,0xad,0xb7,0xc0,0xca,0xd2,0xda,0xe2,0xea,0xf2,0xfa,0x02,0x0a,0x12,0x1a,0x22,0x2a,0x32,0x3a,0x42,0x4a,0x52,0x5a,0x62,0x6a,0x72,0x7a,0x82,0x8a,0x91,0x98,0x9e,0xa5,0xac,0xb3,0xba,0xc1,0xc8,0xce,0xd5,0xdc,0xd3,0xea,0xf0,0xf6,0xfc,0x02,0x08,0x0e,0x14,0x1a,0x20,0x26,0x2c,0x32,0x38,0x3e,0x44,0x4a,

28、0x50,0x56,0x5c,0x62,0x68,0x6e,0x74,0x7a,0x80,0x85,0x8a,0x8f,0x94,0x9a,0x9f,0xa4,0xaa,0xb0,0xb5,0xba,0xc0,0xc5,0xca,0xcf,0xd4,0xda,0xdf,0xe4,0xe8,0xed,0xf2,0xf6,0xfb,0x00,0x05,0x0a,0x0f,0x13,0x17,0x1b,0x20,0x24,0x28,0x2c,0x30,0x35,0x3a,0x3e,0x41,0x44,0x48,0x4b,0x4e,0x52,0x56,0x5a,0x5d,0x61,0x65,0x69,

29、0x6c,0x6f,0x72,0x76,0x79,0x7d,0x80,0x83,0x86,0x8a,0x8e,0x93,0x97,0x9b,0x9f,0xa3,0xa8,0xac,0xb0,0xb4,0xb8,0xbc,0xc0,0xc5,0xc9,0xcc,0xcf,0xd2,0xd5,0xd8,0xdc,0xdf,0xe2,0xe5,0xe8,0xeb,0xee,0xf1,0xf5,0xf8,0xfb,0xfe,0x01,0x03,0x06,0x08,0x0b,0x0e,0x10,0x13,0x15,0x18,0x1b,0x20,0x23,0x25,0x28,0x2b,0x2d,0x30,

30、0x32,0x35,0x37,0x3a,0x3d,0x3f,0x42,0x44,0x47,0x4a,0x4f,0x52,0x55,0x58,0x5b,0x5f,0x62,0x64,0x68,0x6a,0x6d,0x70,0x73,0x76,0x79,0x7b,0x7d,0x80,0x82,0x85,0x88,0x8a,0x8c,0x8e,0x91,0x93,0x96,0x99,0x9b,0x9d,0x9f,0xa3,0xa6,0xa8,0xaa,0xad,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xbf,0xc1,0xc3,0xc5,0xc6,

31、0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xdd,0xdf,0xe0,0xe2,0xe3,0xe4,0xe6,0xe8,0xe9,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf5,0xf6,0xf8,0xfa,0xfb,0xfc,0xfe,0xff;uchar code fz_tab=0x05,0x0a,0x0f,0x14,0x1a,0x1f,0x24,0x29,0x2e,0x33,0x38,0x3d,0x43,0x48,0x4d,0x52,0x57,0x5c,0x61,0x66,0x6c,0x71,0x

32、76,0x7b,0x80,0x85,0x8a,0x8f,0x94,0x9a,0x9f,0xa4,0xa9,0xae,0xb3,0xb8,0xbd,0xc3,0xc8,0xcd,0xd2,0xd7,0xdc,0xe1,0xe6,0xeb,0xf0,0xf5,0xfa,0xff; /方波幅值void delay(uchar i);void delayNOP();void display();void iic_start();void iic_Init();void check_ack();void iic_sendbyte(uchar indata);void DAC_fangbo(uchar d

33、at);void time(uchar th0,uchar tl0);uchar jianzhi();uchar kbscan();void xsfb();void plfzxs(); uint n=0;uint t;uchar a3=0,0,0;uint shu;uint m=0;uint f=49; /幅值变量uint flag=0;uint flag_fb;/* 主程序*/void main() iic_Init(); /I2C总线初始化 while(1) xsfb(); if(n=3) DAC_fangbo(fz_tabf); /发送高位数据 /* 定时子程序*/void time(u

34、char th0,uchar tl0) TMOD=0x01; /设置定时计数器T0,方式1定时 TH0=th0; /定时初值 TL0=tl0; EA=1; /开总中断 ET0=1; /开T0中断 TR0=1; /启动T0 while(EA=1); /等待中断/* 中断子程序*/void timer0() interrupt 1 using 1 EA=0; /定时时间到,关总中断/* us延时函数(约2us)*/void delayNOP() _nop_(); _nop_();/* 延时子函数*/void delay(uchar i) /延时函数1 for(;i>0;i-);/* 启动I2

35、C总线子程序 时钟保持高,数据线从高到低一次跳变,I2C通信开始*/void iic_start() SDA=1; SCL=1; delayNOP(); / 延时2us SDA=0; delayNOP(); SCL=0;/* 初始化I2C总线子程序*/void iic_Init() SCL=1; delayNOP(); SDA=1; delayNOP();/* 主机应答位检查子程序,迫使数据传输过程结束*/void check_ack() SDA=1; /置成输入 SCL=1; F0=0; delayNOP(); if(SDA=1) /若SDA=1表明非应答 F0=1; /置位非应答标志F0

36、SCL=0;/* 发送一字节子程序*/void iic_sendbyte(uchar indata) uchar n=8; /发送一字节数据,共八位 while(n-) SDA=(bit)(indata&0x80); /发送最高位 SCL=1; delayNOP(); SCL=0; indata=indata<<1; /数据左移一位 /* 发送数据子程序*/void DAC_fangbo(uchar dat) flag_fb=1; iic_start(); /启动I2C delayNOP(); iic_sendbyte(0x90); /发送地址位 check_ack();

37、/检查应答位 iic_sendbyte(0x40); /发送控制位 check_ack(); /检查应答位 while(flag_fb) iic_sendbyte(dat); /发送数据 check_ack(); /检查应答位 time(plth_tabshu-30,pltl_tabshu-30); /定时延时delay(90);iic_sendbyte(0x00); /发送地位数据 check_ack(); /检查应答位 time(plth_tabshu-30,pltl_tabshu-30); /定时延时 plfzxs();dat=fz_tabf;xsfb(); /* 显示子程序*/void display() uchar j;for(j=0;j<n;j+) dula=1; P0=duanmaaj; dula=0; P0=0xff; wela=1; P0=weimaj; wela=0; delay(10); /* 返回键值子程序*/uchar jianzhi() uchar key; ke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论