原因及解决办法:键盘的扫描速度比串行口的通讯速度快,以至于在串行口检测数据的时候,从开始的茫然不知从哪里下手去实现这个系统的功能,从开始的茫然不知从哪里下手去实现这个系统的功能,为右调整ATDCTLSCAN=,连续转换序列只执行一次ATDCTLCC~CA=channel,启动通道转换~对应AN~ANATDCTL=(x|channel);取AD转换结果while()判断ATDSTAT的第位是否为if((ATDSTATam(gt);对数据调整,为右调整ATDCTLSCAN=,连续转换序列只执行一次ATDCTLCC~CA=channel,启动通道转换~对应AN~ANATDCTL=(x|channel);取AD转换结果while()判断ATDSTAT的第位是否为if((ATDSTATam(gt);对数据调整,不是一气呵成的,不是一气呵成的,不会自己编程,不会自己编程,

《毕业论文:嵌入式系统设计性实验报告.doc》由会员分享。

,但是在超级终端上显示一连串一摸一样的字符。

9、够正常显示,使低十位有效eak;}returntem;}ADCmid:路AD转换函数(中值滤波)*功能:获取通道channel中值滤波后的AD转换结果*参数:channel=通道号(~)*返回:该通道中值滤波后的AD转换结果(~)*INTUADCmid(INTUchannel){INTUi,j,k,tm;取三次AD转换结果i=ADCvalue(channel);j=ADCvalue(channel);k=ADCvalue(channel);从三次AD转换结果中取中值if(igtj){tm=i;i=j;j=tm;}if(kgt=j){tm=j;}else{if(kgt=i)tm=k;elsetm=i;}returntm;}ATDave:路AD转换函数(均值滤波)*功能:对通道channel的AD转换结果求n次平均值*参数:n=均值滤波次数(~),channel=。

#p#分页标题#e#

8、ncludequotdelayhquot类型别名定义Delay:延时函数*功能:用程序的方法延时一段时间*参数:k=延时长度()*返回:无**voidDelay(INTUk){INTUu;for(u=;u*commondefinesandmacros*includeincludequotTyehquot类型别名定义includequotIncludeshquotincludequotSCIhquot串行通信头文件includequotADChquotAD转换头文件总头文件includequotLEDhquot主函数intmain(){*************************************************************INTUa,b;INTUbai,shi,ge,xiao;***************************************************************INTUadv;SCIInit();()串口初始化ADCInit();()AD转换初始化LEDInit();LED初始化EnableSCIReInt;开放SCI接受中断EnableInterruts;开总中断总循环while(){adv=AD。ableInterruts;开总中断for(;;){i=KB_Def(KB_ScanN());键盘扫描多次得到的数对应的*点阵***********************************for(x=;x=;y){LEDShow(y,i'');}LEDShow(,i'');}LEDShow(,);LEDShow(,);LEDShow(,);LEDShow(,);}*waitforever**leasemakesurethatyouneverleavethisfunction*}******************SCIH*********************************串行通信寄存器及标志位定义defineReSendStatusRSCISRSCIdefineReTestBitdefineSendTestBitdefineReSendDataRSCIDRLdefineENABLE_INTERRUPTS_asm_(quotcliquot)defineDISABLE_INTERRUPTS_asm_(quotseiquot)关总中断d{switch(channel){case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄。

7、ER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;default:eak;}}****************************DELAYH****************************************includequotTyehquot类型别名定义voidDelay(INTU);延时函数声明***************************DELAYC*********************************i。

10、水平上有很大的不足,发现本次实验用的数码管管脚和课本不一致,到后来经过老师的讲解,到后来经过老师的讲解,则说明数码管模块中的函数可以被调用,再扫描,停留在在初级阶段,停留在在初级阶段,使低十位有效eak;}returntem;}ADCmid:路AD转换函数(中值滤波)*功能:获取通道channel中值滤波后的AD转换结果*参数:channel=通道号(~)*返回:该通道中值滤波后的AD转换结果(~)*INTUADCmid(INTUchannel){INTUi,j,k,tm;取三次AD转换结果i=ADCvalue(channel);j=ADCvalue(channel);k=ADCvalue(channel);从三次AD转换结果中取中值if(igtj){tm=i;i=j;j=tm;}if(kgt=j){tm=j;}else{if(kgt=i)tm=k;elsetm=i;}returntm;}ATDave:路AD转换函数(均值滤波)*功能:对通道channel的AD转换结果求n次平均值*参数:n=均值滤波次数(~),channel=通。在键盘这里我遇到的问题是:a、键盘输入的数字,同时自己也在为这次设计的前期准备中学会了AltimDesigner的使用,同学们的讨论后自己逐渐明白了一个完整的嵌入式系统,同学们的讨论后自己逐渐明白了一个完整的嵌入式系统,可在线阅读全文,取次平均值bai=adv;百位shi=adv%;十位ge=adv%%;个位xiao=adv%;小数位LEDShow(,bai);数码管显示LEDShow(,shi);LEDShow(,ge);LEDShow(,ge);LEDShow(,xiao);}}[ADCh]AD转换AD转换需要用到的头文件includequotmcsdghquotMCU映像寄存器名includequotTyehquot类型别名定义AD转换寄存器及标志位定义defineSCFBit转换完成标志位defineATDCTLATDCTLdefineATDCTLATDCTLdefineATDCTLATDCTLdefineATDCTLATDCTLdefineATDSTATATDSTATdefineATDDRATDDR串行通信相关函数声明voidADCInit(void);AD转换初始化INTUADCvalue(INTUchannel);路位AD转换INTUADCmid(INTUchannel);路位AD转换(中值滤波)INTUADCave(INTUn,INTUchannel);路位AD转换(均值滤波)=为AD转换CCF自动清位ATDCTL=xC;ATDCTLSC=表示序列长度为ATDCTLFIFO=为非FIFO模式ATDCTLFRZ~FRZ=表示冻结模式进入BDMATDCTL=xB;ATDCTLPRS~PRS=表示总线频率分频ATDCTL=x;ATDCTLSRES=表示位转换精度为位精度ATDCTLam=xF;}ADCvalue:路位AD转换函数*功能:获取通道channel的位AD转换结果*参数:channel=通道号(~)*返回:该通道的AD转换结果(~)*INTUADCvalue(INTUchannel){INTUtem;暂存AD转换的结果ATDCTLDJM=,结果寄存器数据采用左调整,取次平均值bai=adv;百位shi=adv%;十位ge=adv%%;个位xiao=adv%;小数位LEDShow(,bai);数码管显示LEDShow(,shi);LEDShow(,ge);LEDShow(,ge);LEDShow(,xiao);}}[ADCh]AD转换AD转换需要用到的头文件includequotmcsdghquotMCU映像寄存器名includequotTyehquot类型别名定义AD转换寄存器及标志位定义defineSCFBit转换完成标志位defineATDCTLATDCTLdefineATDCTLATDCTLdefineATDCTLATDCTLdefineATDCTLATDCTLdefineATDSTATATDSTATdefineATDDRATDDR串行通信相关函数声明voidADCInit(void);AD转换初始化INTUADCvalue(INTUchannel);路位AD转换INTUADCmid(INTUchannel);路位AD转换(中值滤波)INTUADCave(INTUn,INTUchannel);路位AD转换(均值滤波)******************************************************[ADCc]AD转换*本文件包含:*()ADCInit:AD转换初始化*()ADCvalue:获取路AD转换结果*()ADCmid:获取中值滤波后的AD转换结果*()ADCave:获取均值滤波后的AD转换结果*PAD接模拟量输入端*includequotADChquotAD转换头文件ADCInit:AD转换初始化*功能:初始化AD转换*voidADCInit(void){ATDCTLADPU=为打开转换电源开关ATDCTLAFFC。原因及解决办法:刚开始的时候没有看到实验板的数码管的原理图和数据手册,同时通过超级终端在电脑上显示矩阵键盘按键的数字。在数码管这里我遇到的问题是:a、数码管不显示。

6、D转换的结果ATDCTLDJM=,结果寄存器数据采用左调整,在显示程序调用时,在数码管上显示一位数字,在修改管脚连线后,否则需要继续对程序进行修改和编译。、采用内部位AD转换方法测量温度值,处于第一段时最低位灯亮处于第二段时,在这次设计性实验中,在这次设计性实验中,在编程水平上有很大的不足,在编程。关键字:水温操控单片机MCSDG一、系统设计的功能画出系统功能框图,处于第段时所有小灯都亮。Cvalue();adv=ADCave(,);在通道做AD转换,次中值滤波,串口发送均值滤波结果通道选择通道,将DA输出平均分为段,对MCSDG芯片的管脚和寄存器没有足够的了解,对MCSDG芯片的管脚和寄存器没有足够的了解,完成了水温操控系统的设计。在AD转换这里我遇到的问题是:a、数码管显示的数字没有小数点原因及解决办法:为了显示小数点,就是能看的懂点,就是能看的懂点,将其。后来在程序中增加了一个延时程序,我们将单片机的最小系统分为一部分,我们将单片机的最小系统分为一部分,并在数码管上显示。KB键盘输入模块在理解了*矩阵键盘的编程原理后,把系统功能分解为一个一个的功能模块,把系统功能分解为一个一个的功能模块,所以重复发送。Designer的使用,数码管显示数字,数码管显示数字,数码管才正常显示数字。

2、******************************************************[ADCc]AD转换*本文件包含:*()ADCInit:AD转换初始化*()ADCvalue:获取路AD转换结果*()ADCmid:获取中值滤波后的AD转换结果*()ADCave:获取均值滤波后的AD转换结果*PAD接模拟量输入端*includequotADChquotAD转换头文件ADCInit:AD转换初始化*功能:初始化AD转换*voidADCInit(void){ATDCTLADPU=为打开转换电源开关ATDCTLAFFC=为AD转换CCF自动清位ATDCTL=xC;ATDCTLSC=表示序列长度为ATDCTLFIFO=为非FIFO模式ATDCTLFRZ~FRZ=表示冻结模式进入BDMATDCTL=xB;ATDCTLPRS~PRS=表示总线频率分频ATDCTL=x;ATDCTLSRES=表示位转换精度为位精度ATDCTLam=xF;}ADCvalue:路位AD转换函数*功能:获取通道channel的位AD转换结果*参数:channel=通道号(~)*返回:该通道的AD转换结果(~)*INTUADCvalue(INTUchannel){INTUtem;暂存A。

1、ableInterruts;开总中断for(;;){i=KB_Def(KB_ScanN());键盘扫描多次得到的数对应的*点阵***********************************for(x=;x=;y){LEDShow(y,i'');}LEDShow(,i'');}LEDShow(,);LEDShow(,);LEDShow(,);LEDShow(,);}*waitforever**leasemakesurethatyouneverleavethisfunction*}******************SCIH*********************************串行通信寄存器及标志位定义defineReSendStatusRSCISRSCIdefineReTestBitdefineSendTestBitdefineReSendDataRSCIDRLdefineENABLE_INTERRUPTS_asm_(quotcliquot)defineDISABLE_INTERRUPTS_asm_(quotseiquot)关总中断d{switch(channel){case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMP。这次实验,然后将数码管数值显示分为LED数码管模块,然后将数码管数值显示分为LED数码管模块,比如这次的水温操控系统的设计中,比如这次的水温操控系统的设计中,此时间比串口扫描时间略长,根据实验任务要求,最终达到按一下矩阵键盘,最低位两个小灯亮,更多相关《毕业论文:嵌入式系统设计性实验报告》请在上搜索。这次实验,然后将系统与电脑的交流部分又分为了SCI串行口通讯模块等等。并联合之前做的数码管模块和串行口通讯模块,自己按照课本上的管脚图,自己对《嵌入式系统》课程更加了解,自己也深刻的感受到了自己在嵌入式系统设计和编程上的不足,自己也深刻的感受到了自己在嵌入式系统设计和编程上的不足,联系数码管显示模块,而是在仔细分析了所要达到的系统最终功能后,而是在仔细分析了所要达到的系统最终功能后,编编程方面太欠缺专业知识,编编程方面太欠缺专业知识,用电位器模拟温度变化单片机AD模拟温度键盘串行通信继电器PC机数码管显示负载小灯模拟加热程度图水温操控系统框图二、硬件设计原理及内容画出实验电路原理图,用单片机的AD转换通道AN输入采样信号,用以模拟温度~度的变化,用一个可变电阻(电位器)的检测采样,然后将系统与电脑的交流部分又分为了SCI串行口通讯模块等等。五、实验心得实验心得:通过本次的设计性实验,让扫描键盘之后等待一段时间,要求写出参考资料的来源,要求写出参考资料的来源,自己通过在数码管的程序中单独加入了一个数组DATA,自己结合课本成功编译通过键盘程序。而其他的几个数码管在调用显示数字时依然用DATAI即这个数组中的每一位数字“”中的编码没有小数点。、键盘采用*扫描键盘用于设定温度值、数码管采用动态扫描方法、采用PWM工程DA转换器操控电热丝加热、串口每秒钟向计算机发送一次温度值、用小灯模拟加热强度,让数码管的从右至左第二位数码管单独调用此数组。

#p#分页标题#e#

5、转化为~可变数字,说明每个功能模块的作用。存器eak;case:PWMCNT=x;清通道计数器PWMDTY=duty;设置周期寄存器PWMPER=eriod;设置占空比寄存器eak;default:eak;}}****************************DELAYH****************************************includequotTyehquot类型别名定义voidDelay(INTU);延时函数声明***************************DELAYC*********************************includequotdelayhquot类型别名定义Delay:延时函数*功能:用程序的方法延时一段时间*参数:k=延时长度()*返回:无**voidDelay(INTUk){INTUu;for(u=;u*commondefinesandmacros*includeincludequotTyehquot类型别名定义includequotIncludeshquotincludequotSCIhquot串行通信头文件includequotADChquotAD转换头文件总头文件includequotLEDhquot主函数intmain(){*************************************************************INTUa,b;INTUbai,shi,ge,xiao;***************************************************************INTUadv;SCIInit();()串口初始化ADCInit();()AD转换初始化LEDInit();LED初始化EnableSCIReInt;开放SCI接受中断EnableInterruts;开总中断总循环while(){adv=A。AD转换输入模块在编译通过AD转换程序后,说明每个硬件模块的工作原理与作用DDCCBBAATi。六、参考资料学出实验过程中用到的参考资料,达到了让矩阵键盘按键,超级终端只出现一个数字的结果。六、参考资料学出实验过程中用到的参考资料,还需要进一步学习。后来在老师的指导下,这个数组中的每一位数字“”中的编码都带有小数点,还需要进一步学习。

12、Cvalue();adv=ADCave(,);在通道做AD转换,次中值滤波,串口发送均值滤波结果通道选择通道,键盘已经扫描多次,进行了实验板上的连线。

#p#分页标题#e#

11、tleNumberRevisionSizeADate:SheetofFile:F:\AltiumDsgner实验练习文件\\草稿SheetSchDocDrawnBy:MISOPWMKWPPPMOSIPWMKWPPPSCKPWMKWPPPSSPWMKWPPPXADDRPKXADDRPKXADDRPKXADDRPKIOCPTIOCPTIOCPTIOCPTIOCPTIOCPTIOCPTIOCPTADDRDATAPBADDRDATAPBADDRDATAPBADDRDATAPBADDRDATAPBADDRDATAPBADDRDATAPBADDRDATAPBXIRQPEIRQPERWPELSTRBTAGLOPEECLKPEMODAIPIPEPEMODBIPIPEPEXCLKSNOACCPEPAADDRDATAPAADDRDATAPAADDRDATAPAADDRDATAPAADDRDATAPAADDRDATAPAADDRDATAPAADDRDATAPADANPADANPADANPADANPADANPADANPADANPADANETRIGPSRXDPSTXDPSRXDPSTXDPSMISOPSMOSIPSSCKPSSSXFCXADDRPKVREGENRESETEXTALXTALVDDV 。

4、道号(~)*返回:该通道均值滤波后的AD转换结果*内部调用函数:ADCmid*INTUADCave(INTUn,INTUchannel){求n次AD转换的平均值INTUi;INTUj;if(==n)n=;j=;for(i=;iltn;i++)j+=ADCmid(channel);j=n;returnj;}嵌入式系统设计性实验报告水温操控系统系别:专业:学号:姓名:指导老师:年月日嵌入式系统设计性实验报告摘要:该实验设计基于飞思卡尔MCSDG开发板平台,页码和参考内容如嵌入式体统使用HCS微操控器的设计与应用王宜怀P串行口处理函数嵌入式体统使用HCS微操控器的设计与应用王宜怀P键盘处理函数嵌入式体统使用HCS微操控器的设计与应用王宜怀PLED数码管函数嵌入式体统使用HCS微操控器的设计与应用王宜怀PAD转换函数七、附录附录、实验程序要求:程序要求写出注释程序按照如图次序给出****************mainc键盘数码管sci联合功能*****************************include*commondefinesandmacros*include*derivativeinformation*includeincludeincludeincludeincluderagmaLINK_INFODERIVATIVEquotmcsdgbquotvoidmain(void){bytei;INTUx,y;SCIInit();串口初始化KB_Init();键盘初始化LEDInit();EnableSCIReInt;开放SCI接受中断En。

3、DDVDDXVDDAVDDRVSSVSSVSSRVSSXVSSATESTPJKWJPJKWJMODCTAGHIBKGDPADANPADANPADANPADANPADANPADANETRIGPADANPADANPMBF_PERRRXCANPMBF_PROKTXCANTXCANSCKPMBF_PSYNRXCANRXCANMOSIPMTX_BFTXCANTXCANSSPMBF_PSLMTXCANPJKWJTXCANSCLPJKWJRXCANSDAXADDRPKVDDPLLVSSPLLVRHVRLPMRX_BFRXCANRXCANMISOPMTXCANTXBPMRXCANRXBECSROMCTLPKPWMKWPPPPWMKWPPPPWMKWPPPPWMKWPPPMISOKWHPHMOSIKWHPHSCKKWHPHSSKWHPHKWHPHKWHPHKWHPHKWHPHUMCSDGBVPVuFCFCnFCsuFCCauFCKRKRsRRSTSWPBGNDVCCVVCCVGNDNCGNDOUTVCCMHZOSCUSCMHZRResGNDVCCGNDVddRESTBKGDGNDBDMBDMGNDVCCSWSWPBSWSWPBSWSWPBSWSWPBSWSWPBSWSWPBSWSWPBS。页码和参考内容如嵌入式体统使用HCS微操控器的设计与应用王宜怀P串行口处理函数嵌入式体统使用HCS微操控器的设计与应用王宜怀P键盘处理函数嵌入式体统使用HCS微操控器的设计与应用王宜怀PLED数码管函数嵌入式体统使用HCS微操控器的设计与应用王宜怀PAD转换函数七、附录附录、实验程序要求:程序要求写出注释程序按照如图次序给出****************mainc键盘数码管sci联合功能*****************************include*commondefinesandmacros*include*derivativeinformation*includeincludeincludeincludeincluderagmaLINK_INFODERIVATIVEquotmcsdgbquotvoidmain(void){bytei;INTUx,y;SCIInit();串口初始化KB_Init();键盘初始化LEDInit();EnableSCIReInt;开放SCI接受中断E

当前资源信息


编号:2484
类型: 共享资源
格式: DOCX

点击下载