完整word版基于单片机的数控电压源课程设计设计_第1页
完整word版基于单片机的数控电压源课程设计设计_第2页
完整word版基于单片机的数控电压源课程设计设计_第3页
完整word版基于单片机的数控电压源课程设计设计_第4页
完整word版基于单片机的数控电压源课程设计设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的数控电压源课程设计基于单片机的数控电压源课程设计.系统硬件设计结构框图本数控直流稳压电源的设计以一稳压电源为基础, 以高性能单片机系统为控 制核心,以稳压驱动放大电路、短路保护电路为外围的硬件系统, 在检测与控制 软件的支持下实现对电压输出的数字控制, 通过对稳压电源输出的电压进行数据 采样与给定数据比较,从而调整和控制稳压电源的工作状态及监测开关电路的输 出电流大小。本数控直流稳压电源实现以下功能:键盘可以直接设定输出电压值; 可快速调整电压;LC显示电压值等。1.1 8051 简介我们采用8051系列的AT89S5作为CPU AT89S5是一种带4K字节FLASK编程 可擦除只

2、读存储器(FPEROFlash Programmable and Erasable Read Only Memory的低电压,高性能CMOS位微处理器。该器件采用ATME高密度非易失存 储器制造技术制造,与工业标准的MCS-5指令集和输出管脚相兼容。1. 2主要特性1)与MCS-5兼容;2)8位字长的CPU3)可在线ISP编程的4K叭内FLASI存储器,用于程序存储,可擦写1000次;4)256B的片内数据存储器,其中高128字节地址被特殊功能寄存器SFF占用;5)6)7)8)可编程的32根I/O 口线(POP3);2个可编程16位定时器; 一个数据指针DPTR1个可编程的全双工串行通信口;9

3、)具有“空闲”和“掉电”两种低功 耗工作方式;10)可编程的3级程序锁定位;11)工作电源的电压为5( 1 0.2 ) V;12)振荡器最高频率为24MHz13)编程频率324 MHz,编程电流 1mA编程电压为5V。1. 3芯片引脚排列与名称DIP封装形式的AT89S5的芯片引脚排列与名称如图1所示。VCC供电电压。GND接地。a3456789ID11%H151(5宀171?1820PI.DVCC卩|,1P0 OCADO)P1.2PC.lCADl)PL3P0.2(AD2)Pl 4P0.XAD3)P15PI方P0.5CAD5JPl.7P O.dCADd)RESETP0.7i7)PEM饰PIJJ

4、XDJALE/PROGP13CINT0)PSENP3.3CINT1)P2 7(A15JP 3.4CT0)P2离盘】4)卩 iSCTliP2 乂也PP2.4(A12)P3.7CRD)PlXAllJXIPl 3( A10;)X2P2 1(A 刃GNDP2 O(AS)ATSPsSl3S3635343332JI30小27歸25出23232140pg: P0 口为一个8位,并行, 图1 AT89S51的芯片引脚排列与名称 漏极开路双向I/O 口,作为输出时可驱动8个TTL负载。该口内无上拉电阻,在设 计中作为D/A,A/D及液晶显示器的数据口。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O

5、口,P1 口缓冲器能接收输 出4个TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,该口在设 计中低四位作为键盘输入口,高四位与 RST乍为在线编程下载口。P2口: P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收/输出4 个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,可作为输入。 在作为输出时,P2 口的管脚被外部拉低,将输出电流。该口在设计中作为D/A,A/D及液晶显示器的控制口。P3口: P3口管脚是带内部上拉电阻的8位双向I/O 口,可接收输出4个TTL门电 流。当P3口写入“T后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部

6、下拉为低电平,P3 口将输出电流,这是由于上拉的缘故。P3 口也可作为 AT89S5的一些特殊功能口,如下表1所示:表1各端口引脚与复用功能表端口引脚复用功能P 3.0TXD(串行输入口)P 3.1RXD(串行输出口)P 3.2/INT0 (外部中断0)P 3.3/INT1 (外部中断1)P 3.4T0 (记时器0外部输入)P 3.5T1 (记时器1外部输入)P 3.6/WR (外部数据存储器写选通)P 3.7/RD (外部数据存储器读选通)该口在设计中使用其特殊功能作为 D/A, A/D读写信号的控制口。和A/D的中断输入口。RST该引脚为复位信号输入端,高电平有效。在振荡器稳定工作情况下,

7、该引脚被置成高电平并持续两个机器周期以上是系统复位。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在FLASHY程期间,此引脚用于输入编程脉冲。该引脚在设计中作为 锁存器器和A/D的时钟信号。/PSEN外部程序存储器的选通信号。/EA/VPP: /EA为访问芯片内部和芯片外部程序存储器的选择信号。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP。XTAL1芯片内振荡器放大器的输入及内部时钟工作电路的输入。XTAL2芯片内振荡器放大器的输出。2键盘控制器MM74C9222. 1简介键盘的作用是对单片机输入数据,设计中要求能是电压进行“+”,“-”

8、,及电压值的设定,所以采用键盘为4X 4的薄膜矩阵键盘,用MM74C92芯片进行识别按键后送AT89S51的并行口 P1, P1.0P1.3作为键盘输入口。传统的4X4矩阵键盘识别处理程序的编写相对烦琐。所以采用MM74C92芯片来将4X4矩阵键盘的键值转换成4位BCD码以简化程序的编写。2. 2主要特性CMOS:艺技术制造,工作电压3-15V,“二键锁定”功能,编码输出为三态输出,可直接与微处理器数据总线相连,内部振荡器能完成4X 4矩阵键盘扫描, 亦可用外部振荡器使键盘操作与其他处理同步,通过外接电容避免开关发生前、 后沿弹跳所许的延时。有按键按下时数 据有效线变高,同时封锁其他键,片内

9、锁存器将保持键盘矩阵的4位编盘,可 由微处理器读出 2. 3芯片引脚排列与名称DIP封装形式的 MM74C922勺芯片234I6789Y1VCCY2OUTlY3OUT2Y4OUT3OSCOUT4MASK OEX4DAX3XIGNDX2引脚排列与名称如图4所示。VCC供电电压(+5+15);GND接地;Y1丫2:矩阵键盘行输入,其内部接有上拉电阻;X1X2:矩阵键盘列输入;OUT1OUT2矩阵键盘列输出;OSC振荡器输入;DA按键有效输出,当有任意键按下是 DA输出高电平; /OE :输出有效端,低电平有效。3 D/A 转换器 DAC08323. 3. 1简介MM74C92218171615亘亘

10、12nTo图4 MM74C922E片引脚排列与名称设计要求电压输出范围是O.OV9.9V,步进0.1V,共有100种状态,因此采用8位的D/A转换器就能满足设计要求。因此采用常用的DAC083芯片。8位字长的D/A转换器DAC0832具有256种状态,能满足设计要求。DAC0832芯片是 具有两个输入数据寄存器的8位DAC它能直接与AT89S51单片机相连接, 3. 2主要特性1)8位分辨率;2)电流型输出,稳定时间为1uS;3)可双缓冲输入,单缓冲输入或 直接数字输入;4)单一电源供电(+5+15V ;2777To祎VCCWRlILEGNDD3XREFD2D4DID5DOD6VrefD?Rf

11、b101(12GNDloutlDAC085220145低功耗(20mW/)3. 3芯片引脚排列与名称DIP封装形式的DAC0832勺芯片引脚排列与名称如图51所示。VCC电源电压,+5V。GND地线输入端。D旷D7: 8位数字量输入引脚。单片机由这8根线传送给D/A转换数字量。D7图5 DAC0832勺芯片引脚排列与名称为最高有效位,DC为最低有效位。Vref :参考电压端。/CS:片选信号,当/CS为低电平时候,芯片被选中工作。ILE:允许数字量输入线。高电平有效。/XREF传送控制输入线,低电平有效。/WR1 /WR2写命令输入线。Ffb :运算放大器反馈线。Iout1,Iout2 :模拟

12、电流输出线,Iout1+lout2 为一常数。.硬件电路设计1.A/D 转换器 ADC08091. 1简介ADC0809是美国国家半导体公司生产的 8位ADC它是采用逐次逼近的方法完成A/D转换的。ADC0809勺内部结构框图如图所示。ADC0809由单一 +5V电源供电,片内有带锁存功能的8路模拟多路开关,可对8路05V的输入模拟 电压信号分时进行转换,完成一次转换约需 100us;输出具有TTL三台锁存缓冲器,可以直接接到单片机数据总线上。 通过适当的外接电路,ADC0809对05V 的双级性模拟信号进行转换。1. 2主要特性1)2)8路8位A/D转换器,即分辨率8位。 具有转换起停控制端

13、。3)4)转换时间为100卩s单+ 5V电源供电5)6)7)低功耗,约15mW模拟输入电压范围0+5V,不需零点和满刻度校准。工作温度范围为-40+ 85摄氏度1. 3芯片引脚排列与名称DIP封装形式的ADC0809的芯片引脚排列与名称如图6所示各引脚功能说明如下:VCC电源电压,+5V。GND地线输入端。D旷D7: 8位数字量输出引脚。A/D转换结果由这8根线传送给单片机。D7为最高有效位,IN3IN2INIINIIN5INOIN6ALEIN?ASTARTBEOCCD3D7OED6CLKD5VCCD4VREF+DOGNDVREF-DID2ADC0S092TRTF2E27至互IsT7亘15图6

14、 0809引脚图排列与名称D0为最低有效位。IN0IN7:8路模拟量输入引脚。Vref(+):参考电压正端。Vref(-):参考电压负端。START启动信号输入端,STAR为正脉冲,其上升沿清除ADC080的内部的各寄存器,其下降沿启动A/D开始转换。ALE:地址锁存启动信号,在ALE的上升沿,将A B C上的通道地址锁存到内部 的地址锁存器。STAR和ALE两信号用于启动A/D转换。表明内部A/D转换已完成。允许输出锁存器输出数据。EOC转换完成信号,当EOCb升为高电平时,0E:允许输出信号。当OE=1M,即为高电平,10 1200kHz,典型值为 640kHz。IN0IN78个通道中的一

15、个通道CLK:时钟输入信号,0809的时钟频率范围在A B、C:3位地址输入线,经过译码后可选通进行转换。A B、C的输入与选通的通道的关系如表2所示:表2被选通的通道C B A被选通的通道C B AIN00 0 0IN41 0 0IN10 0 1IN51 0 1IN20 1 0IN61 1 0IN30 1 1IN71 1 12显示器设计要求能显示当前电压值,因此可采用液晶显示或者数码管显示两种方 法。考虑到数码管显示过于单调,因此采用采用液晶显示。液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在点阵型液晶显示模块已经是单片机应 用设计中常用的信息显示器件了。2. 1简介本设计中采用了

16、 1602C型点阵式液晶显示模块。LCD技术和半导体技术的结合使该显示模块具有高可靠性和低功耗的特点。1602C型点阵式液晶显示模块内 部有字符产生存储器和数据存储器。该显示模块可直接与 AT89S51单片机相接, 所有的显示功能由控制器用指令实现。由单一的 +5V的电源供电,数据传送方式 有4位和8位两种选择。内有显示92个ASCII字符和92个特殊字符的字库。23456789101112131415161602C引脚排列与名称如图7所示。1GN1? VCC VO RS EAV EDHO DB1 DB2 DBJ DB斗 DB5 DE6 DB7 A K1602C2. 2引脚排列与名称GND电源

17、地;VCC电源正极,4.5 5.5V,通常使用5V电压;VO LCD对比度调节端,电压调节范围为0 5V;RS写入数据或者指令选择端。要写入指令时, 使RS为低电平;要写入数据时,使 RS为高电平;R/W读写控制端。R/W为高电平时,读取数据; R/W为低电平时,写入数据;1602C引脚排列与名称E : LCD模块使能信号控制端。写数据时, 需要下降沿触发;。DB0- DB7 8位数据总线,三态双向。如果I/O 口资源紧张的话,该模块也 可以只使用4位数据线DB4- DB7接口传送数据。A: LED背光正极。需要背光时,A串接一个限流电阻接VDD K接地,实测 该模块的背光电流为50mA左右;

18、K: LED背光地端 3. 1 MM74C922接 口电路设计中MM74C92的输出口与P1 口的低四位相接,DA端通过反向器与P3. 2 相接。每当有按键按下时,DA就产生高电平,同时向P1 口低四位传送16进制 的BCD码,分别对应16个按键。MM74C92与键盘及AT89S51的接线图见图9图 9 MM74C922接口电路3. 2 DAC0832接口电路DAC0832最具特色是输入为双缓冲结构,数字信号在进入经过两个独立控制的8位锁存器传送。其优点是 D/A转换的同时, 中保留现有的数据,而在输入寄存器中可送入新的数据。系统中多个 器内容可用一公共的选通信号选通输出。设计中用2个电压控制

19、字代表0.1V当电压控制字从0, 2, 4,D/A转换前,需DAC寄存器D/A转换到198时,可调稳压源输出0.0, 0.1,9.9。由于DAC0832是电流输出型,输出 的电流随输入的电压控制字线性变化。若要得到电压,还需要外接一片运放来实现电流到电压的转换。由于DAC0832输出级没有加集成运放,所以需外加LM324 相配适用。考虑到设计需要,采用了单缓冲双级性的接法,如图10所示:VCCmm mm p歸脚P0.3CAD3)P5.I(AD4) P(tj(AD 母 mm P 叮(ADDP3.1CA5) 耳抽期 P2報 P3.4(A2) P3jA3)P3.7(115)763154和W5+口J3

20、W加13311+5236 亘30UL1+$la n13102MVCCD1K血K4D5WDflDTRfc函toil31DU12CHPGHB591112臥咖2gA. EE八 输出其计算公式为:VI图10 DAC0832接口电路V -Vref 孚256V2 =7 詈)+ (一5鷺)其中Vref为参考电压,D为DAC0832接收到的数据。5为DAC0832基准电压。如果图中所示电阻RX RY RZ的阻值选取适当,则输出电压范围在电压控制字从0, 2, 4,到198变换时根据上式计算可得输出电压为+4.9V-5V, 正好满足后续电路的要求。其中 P2.7为DAC0832的片选控制端。3. 3 ADC08

21、09接口电路由于输出电压范围是0.0V9.9V超出了 ADC080的测量范围,因此使用电位 器将输出电压分压后送至ADC080的输入端。ADC080与 AT89S5的接口电路如图11所示vcc+5毋T3PTOO3EPO 137FD23eP0335PtU34ro533P0j632P07212223242536nP262SP2.7WKRD+331T3C鱼匸EP3j6(W)K.貫 RD)P3価韵P2.HA旳 P3.2CAIO) P2.3CAI) F2.4(A P2.5AI3) P2jfitAI4) F2.7tAI5)PO.OtKDO) PO.KAD) P0.3(心D鬲 P0 3AD3) P0 4o)

22、 PO.l(ADl) P 0.2(AD2) P O.3(AI3) P0.4(An4) P O.5(AD5) P O.G(AU6) P0.7AD7)P 2.0 (A8)P3.1 (A9) P2.2(A10) P2.3(A11) P2.4(A12) P 2.5(A13) P 2.6CA14) P 2.7(A15)3S837936103511341233口 13321421422523639-242526 互28L3 口DBODBlDB2DBJDB4DB51?B6DB7VCCVOGNDRS P/WE 1662C 口RP图12 LCD显示电路3.5可调稳压源电路为了获得大的负载电流,可调稳VCCr压部

23、分使用了最大输出电流为1A的7805三端集成稳压块。7805原本是L2K1516U4Vin Voirt7305UHD LM3Z4vom输出固定电压为5V的集成稳压块,但可以外接电路来改变输出电压值。可调稳压的电路见图13:设运放理想。这时,可认为运放输入电压很小。即:图13可调稳压电路Vout s: Vin + 51A。其中Vin为D/A部分输出的双级性电压,5为7805的稳压值。由上式可见,Vout 与Vin之间成线形关系,当 Vin变化时,输出电压改变。由于 Vin是DAC0832 输出的范围是+4.9V-5V的电压,因而Vout的变化可以从0.0V9.9Vo经实验 证明:这种可调稳压输出

24、具有良好的负载特性,输出最大负载电流可达到 电压输出端接上500mA负载与未接负载(空载)之间输出电压仅相差0.04V以内。 由于。3.6流稳压电路10mV。本设计共用到电源有三种:即 15V, +5V。可选用的有开关电源和稳压电 源两种,由于开关电源的纹波系数比较大,且设计要求电压纹波不大于 因此采用常用的稳压电源来作为整个系统的电源。稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图14所示U1U3U4:U5变压器yui 113/ U4r 、/ -V ?t图14电源方框及波形图整流和滤波电路:整流作用是将交流电压 U2变换成脉动电压U3滤波电路 一般由电容组成,其作用是脉动电压

25、U3中的大部分纹波加以滤除,以得到较平 滑的直流电压U4再通过稳压电路得到平直的直流电压 U5o电源变压器采用了双17.2V的变压器,输入220V, 50Hz交流电,经全桥整 流,滤波,稳压后得到 15V和+5V三种输出,+5V部分供单片机及D/A,A/D, 显示等部分使用,电流最大约 400mA +15V和-15V部分供运放使用,最大电流不超过50mA电路如图15所示:图15电源部分原理图图中继电器部分是一个开关电路及短路保护电路。当系统接到220V交流电后经变压器降压,整流桥整流后接到 K1,此时由于U1(7815)没有输入,所以 K1没有供电,整个后续系统处于关闭状态,当按下SW_O键时

26、U1得到输入,产生+15V的输出,同时K1得电吸合,形成自锁状态,同时 79L15也得电输出-15V 电压。松开SW_O键后由于K1处于自锁状态,整个系统处于开启状态。当按下 SW_OF键时,K1被短路,从而断开电源达到关机的目的。同样,在任一时刻如 果产生短路,则K1也会断开达到短路保护的目的。+5V部分的供电电流在400mA左右,因此采用了最大输出电流为1A的7805 三端稳压集成电路,由于功耗大,负载重,加装了散热片。而 +15V和-15V部分 最大电流不超过50mA在设计过程中发现中两片7805的均使用了散热片且温度 偏高,因此加装了风扇,使用+15V电源,将78L15该为7815后可

27、满足风扇需求。 这样在保证性能的同时也降低了成本。三.程序设计1主控程序图16为系统主控程序。图16系统主控程序框图2 D/A子程序图17为D/A子程序框图。图17 D/A子程序框图可以看出,D/A子程序的作用是将设定的数字量通过变换送给D/A。3 A/D子程序图18 A/D子程序框图A/D和D/A的精度由A/D子程序框图看出,修改精度为一个数字量,由于 限制,修改量只能达到0.05V,但足已满足设计需要。4键盘子程序图19为键盘子程序框图。图19键盘子程序框图框图4. 1步进步减子程序图20步进,步减子程序框图由步进,步减子程序框图可以看出,如果每次把 D/A的数字量加01H,可 以使步进量

28、和步减量由0.1V变为0.05V。如果采用更高位的D/A转换器。可以使步 进量和步减量进一步的减小,以满足更高的要求。4. 2设置子程序21设置子程序框图图由设置子程序可以看出,进入设置子程序后就屏蔽了“+”,“- ”和设置键。然后逐步判断按键,执行相应程序。五.设计总结六.附件A、程序实现单片机系统初始化和存储器分配程序$N0M0D51C51链接的数据;This file is part of the C51 Comp iler package/ 这个文件是;START UP. A51:This code is executed after p rocessor reset.这个代码在程序重

29、启之后执行; To tran slate this file use A51 with the follow ing in vocati on:A51 START UP.A51;To link the modified START UP. OBJ file to your app licatio n use the follow ing;BL51 in vocati on:BL51 , START UP. OBJ ; User-defi ned Power-On In itializati on of Memory; With the followi ng EQU stateme nts th

30、e in itializati on of memory ; at pro cessor reset can be defi ned:IDATALEN存储的字节长度;the absolute start-address of IDATA memory is always 0 EQU80H;the length of IDATA memory in bytes. IDATAEQUXDATASTARTXDATA存储的实际起始地址0H;the absolute start-address of XDA TA memoryXDATALENEQU0HJPDATASTARTEQU0HPDATALENEQU

31、0H;the length of XDA TA memory in bytes.;the absolute start-address of P DATA memory ;the len gth of PDATA memory in bytes.;Notes: The IDA TA space overlaps physically the DATA and BIT areas of the;8051 CPU. At minimum the memory space occ upied from the C51run-time routi nes must be set to zero.Ree

32、 ntrant Stack In itilizati on; The followi ng EQU stateme nts defi ne the stack poin ter for reentrant;functions and in itialized it:; Stack Space for reentrant functions in the SMALL model.IBP STACKEQU 0; set to 1 if small reentrant is used.0FFH+1 ; set top of stack to highest locati on+1.IBP STACK

33、T OPEQU; Stack Space for reentrant functions in the LARGE model.XBP STACKEQU 0; set to 1 if large reentrant is used.0FFFFH+1; set top of stack to highest locatio n+1.XBP STACKT OPEQU;Stack Space for reen tra nt fun ctio ns in the COMP ACT model.PBP STACKEQU 0; set to 1 if comp act ree ntrant is used

34、.PBP STACKT OPEQU 0FFFFH+1; set top of stack to highest locati on+1.;P age Defin iti on for Usi ng the Comp act Model with 64 KByte xdata RAM; The follow ing EQU stateme nts defi ne the xdata p age used for p data;variables. The EQU PP AGE must co nform with the PP AGE control usedin the lin ker in

35、vocati on.PP AGEENABLEEQU;set to 1 if p data object are used.PP AGEEQU;define PP AGE number.PPAGE SFR;SFR that supp lies upp ermost address byte(most 8051 varia nts use P2 as upp ermost address byte)DATA0A0H;Sta ndard SFR SymbolsACCDATA0E0HBDATA0F0HSPDATA81HDPLDATA82HDPHDATA83HNAMEC STARTUPC C51STAR

36、TUPSEGMENT CODESTACKSEGMENT IDATARSEGSTACKDSC_STARTUPEXTRN CODE (?C_START) P UBLICCSEGAT?C_START UP:LJMPSTARTUP1RSEGC_C51START UPSTART UP1:IF IDATALEN 0MOVCLRR0,#IDA TALEN - 1AIDATALO OP:MOVR0,ADJNZR0,IDATALO OPENDIFIF XDATALEN 0MOVDP TR,#XDATASTARTMOVR7,#LOW (XDA TALEN)IF (LOW (XDA TALEN) 0MOVR6,#(

37、HIGH (XDA TALEN) +1ELSEMOVR6,#HIGH (XDA TALEN)ENDIFCLRAXDA TALO OP:MOVXDP TR,AINCDPTRDJNZR7,XDATALO OPDJNZR6,XDATALO OPENDIFIF PP AGEENABLE 0MOVPP AGE_SFR,# PP AGEENDIFIF P DATALEN 0MOVMOVCLRR0,#LOW (PDA TASTART)R7,#LOW (PDA TALEN)AP DATALO OP:MOVXINCR0,ARODJNZR7, PDATALO OPENDIFIF IBP STACK 0EXTRN

38、DATA (?C_IB P)MOVC_IB P, #LOW IBP STACKT OPENDIFIF XBP STACK 0EXTRN DATA (?C_XB P)MOVMOVC_XB P,#HIGH XBP STACKT OPC_XB P+1,#LOW XBP STACKT OPENDIFIF PBP STACK 0EXTRN DATA (C_PBP)MOVC_PBP, #LOW PBP STACKT OPENDIFMOVSP ,#STACK-1;This code is required if you use L51_BANK.A51 with Banking Mode 4 ;EXTRN

39、CODE (B_SWITCH0);CALLLJMPB_SWITCH0C_START;init bank mecha nism to code bank 0END键盘扫描程序#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned int sbit key仁卩1人0;sbit key2=P 1人1;/键盘扫描程序void delay( uint z);uchar keysca n()uchar temp,num; num=17;P 1=0xfe; temp=P1; temp=temp&0xf0;while(tem p!=0xf

40、0)delay(20); temp=P1; temp=temp&0xf0; if(te mp !=0xf0)/p1.0 口置 0delay(10);P1= P1&0 xf0;while( P1!=0xf0);switch(te mp)case 0xe0:num=7;break;/延迟去抖/0xf0 和 0xe0 的交处,即 p1.0 与 p1.4的交处case 0xd0:num=8;break;/ p1.0与p1.5的交处,case 0xb0:num=9;break; case 0x70:num=15;break; default:break;else break;P1=0xfd; temp=

41、P1; temp=temp&0xf0; while(te mp !=0xf0) delay(20);temp=P1; temp=temp&0xf0;if(te mp !=0xf0)/delay(10);P仁P1& 0xf0;while( P1!=0xf0);switch(te mp)case 0xe0:num=4;break;case 0xd0:num=5;break;case 0xb0:num=6;break; case 0x70:num=14;break; default:break;else break;P1=0xfb;temp=P1; temp=temp&0xf0;while(tem

42、p!=0xf0)delay(20);temp=P1; temp=temp&0xf0;if(te mp !=0xf0)/delay(10);P 仁 P1&0 xf0;while( P1!=0xf0);switch(te mp)case 0xe0:num=1;break;case 0xd0:num=2;break;case 0xb0:num=3;break; case 0x70:num=13;break; default:break;else break;P1=0xf7; temp=P1;temp=temp&0xf0;while(tem p!=0xf0)delay(20);temp=P1; tem

43、p=temp&0xf0;if(te mp !=0xf0)/delay(10);P 仁 P1&0 xf0;while (P 1!=0xf0);switch(te mp)case 0xe0:num=10;break;case 0xd0:num=0;break;case 0xb0:num=11;break;case 0x70:num=12;break; default:break;else break;return num;主程序#in clude#in clude#in clude#in clude#in cludekeysca n.h#defi ne uchar un sig ned char/P2.7作片选,启动DA转换/结束AD转换,锁存通道 0,读出AD值#defi ne uint un sig ned int#defi ne dac0832 XBYTE0X7FFF

温馨提示

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

评论

0/150

提交评论