12、NOPquot); asm(quotNOPquot); tm=KB_P;读取键盘口数据寄存器 tmam=XF; if(tm!=xf)当前行有键按下 {Delay();前消抖 if(tm!=xf) { tm=KB_P; Delay(); eak; }退出循环不再扫描 } else当前行无按键,~为输出 KB_PE=XF;定义KB_P~允许上啦或下拉 KB_PS=X;定义KB_P~上啦,~为输出 KB_PE=XF;定义KB_P~允许上啦或下拉 KB_PS=X;定义KB_P~上啦,

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

11、PADAN PADAN PADAN PADAN PADAN PADAN PADANETRIG P S R X D P S T X D P S R X D P S T X D P S M I S O P S M O S I P S S C K P S S S X F C XADDRPK V R EG EN R ES ET EXT A L X TA L V D D V D D V D D X V D D A V D D R V S S V S S V S S R V S S X V S S A TE S T P J K W J P J K W J M O D C T A G H I B K G D PADAN PADAN PADAN PADAN PADAN PADANETRIG PADAN 。ialBuff); EnableInterruts; } **********************KBH********************************************** H口和P口是共同的功能可以直接把PTH换成PTP defineKB_PPTP键盘接在H口上 defineKB_DDDRP相应的方向寄存器 defineKB_PEPERP相应的上啦下拉电阻允许寄存器 defineKB_PSPPSP相应的极性选择寄存器 defineKB_IEPIEP相应的中断允许寄存器 defineKB_IFPIFP相应的中断标志寄存器 键盘扫描识别函数声明 voidKB_Init(void);键盘初始化 INTUKB_Scan(void);扫描读取键值 INTUKB_Def(INTUKB_valve);键值转化为定义值 INTUKB_ScanN(INTUKB_count);多次扫描键盘 **********************KBC********************************************** includelthidefhgt*commondefinesandmacros* includeltmcsdghgt*derivativeinformation* includeltIncludeshgt includeltKBhgt includeltdelayhgt KB_Init:键盘初始化函数 voidKB_Init(void) {KB_P=X;复位KB_P KB_D=XF;定义~为输入,中断程序函数在最后一个* SCIInit:DG串行口。

4、 S S P W M K W P P P XADDRPK XADDRPK XADDRPK XADDRPK IOCPT IOCPT IOCPT IOCPT IOCPT IOCPT IOCPT IOCPT ADDRDATAPB ADDRDATAPB ADDRDATAPB ADDRDATAPB ADDRDATAPB ADDRDATAPB ADDRDATAPB ADDRDATAPB X I R Q P E I R Q P E R W P E L S TR B TA G L O P E EC L K P E M O D A I P I P E P E M O D B I P I P E P E X C L K S N O A C C P E PAADDRDATA PAADDRDATA PAADDRDATA PAADDRDATA PAADDRDATA PAADDRDATA PAADDRDATA PAADDRDATA PADAN 。

3、 PADAN P M B F _ P ER R R X C A N P M B F _ P R O K TXC A N TXC A N S C K P M B F _ P S Y N R X C A N R X C A N M O S I P M TX _ B F T X C A N TX C A N S S P M B F _ P S L M TXC A N P J K W J TXC A N S C L P J K W J R X C A N S D A XADDRPK V D D P L L V S S P L L V R H V R L P M R X _ B F R X C A N R X C A N M I S O P M TX C A N TX 。 、采用内部位AD转换方法测量温度值,处于第一段时最低位 灯亮处于第二段时,处于第一段时最低位 灯亮处于第二段时,可在线阅读全文,准备扫描下一行 line=(lineltlt)|x; } if(i==)无按键,准备扫描下一行 line=(lineltlt)|x; } if(i==)无按键,中断程序函数在最后一个* SCIInit:DG串行口初。 、采用内部位AD转换方法测量温度值,处于第段时所有小灯都亮。 关键字:水温操控单片机MCSDG 一、系统设计的功能 画出系统功能框图,处于第段时所有小灯都亮。 关键字:水温操控单片机MCSDG 一、系统设计的功能 画出系统功能框图,完成了 水温操控系统的设计。

6、,将DA输出平均分为段,将DA输出平均分为段,完成了 水温操控系统的设计。

#p#分页标题#e#

5、 XADDRPK V D D P L L V S S P L L V R H V R L P M R X _ B F R X C A N R X C A N M I S O P M TX C A N TX B P M R X C A N R X B ECSROMCTLPK P W M K W P P P P W M K W P P P P W M K W P P P P W M K W P P P MISOKWHPH MOSIKWHPH SCKKWHPH SSKWHPH KWHPH KWHPH KWHPH KWHPH UM C S D G B V P V u F C F C n F Cs u F CC a u F C K R K 。NOPquot); asm(quotNOPquot); tm=KB_P;读取键盘口数据寄存器 tmam=XF; if(tm!=xf)当前行有键按下 {Delay();前消抖 if(tm!=xf) { tm=KB_P; Delay(); eak; }退出循环不再扫描 } else当前行无按键,并由下降沿产生中断 KB_IE=X;定义KB_P~输入引脚禁止中断 KB_IF=XFF;清除键盘中断标志(写清除) } KB_Scan:扫描读取键值函数 INTUKB_Scan(void) { INTUline,i,tm; line=xFE;第一根行线为 for(i=;ilt=;i++)扫描根线 { tm=KB_P; tm|=xF; KB_P=tmamline; asm(quot。

9、 X V S S A TE S T P J K W J P J K W J M O D C T A G H I B K G D PADAN PADAN PADAN PADAN PADAN PADANETRIG PADAN PADAN P M B F _ P ER R R X C A N P M B F _ P R O K TXC A N TXC A N S C K P M B F _ P S Y N R X C A N R X C A N M O S I P M TX _ B F T X C A N TX C A N S S P M B F _ P S L M TXC A N P J K W J TXC A N S C L P J K W J R X C A N S D A 。

2、,'',xBE,'',xE,'A', xED,'',xDD,'',xBD,'',xD,'B', xEB,'',xDB,'',xBB,'',xB,'C', xE,'*',xD,'',xB,'',x,'D', X }; INTUKB_Def(INTUKB_valve) { INTUKeyPress; INTUi; INTUj; i=; while() { j=KB_Table[i]; if(j==) { KeyPress=xff; eak; } else { if(j==KB_valve) { KeyPress=KB_Table[i+]; 嵌入式系统设计性实验报告 水温操控系统 系别: 专业: 学号: 姓名: 指导老师: 年月日 嵌入式系统设计性实验报告 摘要:该实验设计基于飞思卡尔MCSDG开发板平台,并由下降沿产生中断 KB_IE=X;定义KB_P~输入引脚禁止中断 KB_IF=XFF;清除键盘中断标志(写清除) } KB_Scan:扫描读取键值函数 INTUKB_Scan(void) { INTUline,i,tm; line=xFE;第一根行线为 for(i=;ilt=;i++)扫描根线 { tm=KB_P; tm|=xF; KB_P=tmamline; asm(quo。

1、始化函数 includelthidefhgt*commondefinesandmacros* includeltmcsdghgt*derivativeinformation* includeltIncludeshgt includeltSCIHgt voidSCIInit(void) { INTUt; 定义波特率Bt=,SCIBD=f(*Bt) SCIBDL=X; SCIBDH=X; SCICR=X; t=SCIDRL; t=SCISR; SCICR=XC; } SCISend:串行口发送字节 voidSCISend(INTUo) { while() if((ReSendStatusRam(ltltSendTestBit))!=) {ReSendDataR=o; eak; } } SCISendN:串行发送N字节 voidSCISendN(INTUn,INTUch[]) { INTUi; for(i=;iltn;i++) {SCISend(ch[i]); } } SCIRe:串行接受字节数据 INTUSCIRe(INTU*) { INTUk; INTUi; for(k=;kltxfbbb;k++) if((ReSendStatusRam(ltltReTestBit))!=) { i=ReSendDataR; *=X; eak; } 接受失败 if(kgt=。 P P P W M K W P P P P W M K W P P P MISOKWHPH MOSIKWHPH SCKKWHPH SSKWHPH KWHPH KWHPH KWHPH KWHPH UM C S D G B V P V u F C F C n F Cs u F CC a u F C K R K Rs RR S T S W P B G N D V C C V V C C V G N D NC G N D O U T V C C M H Z O S C U S C M H Z RR e s G N D V C C G N D V d d R ES T B K G D G N D B D M B D M G N D V C C SWS W P B SWS W P B SWS W P B SWS W P B SWS W P B SWS W P B SWS串行通信相关函数声明 voidSCIInit(void); voidSCISend(INTUo); voidSCISendN(INTUn,INTUch[]); INTUSCIRel(INTU*); INTUSCIReN(INTUn,INTUch[]); **********************************SCIC************************** *本文件中含有串口函数,最低位两个小灯亮,更多相关《嵌入式系统设计性实验报告(word文档)》请在上搜索。 、键盘采用*扫描键盘用于设定温度值 、数码管采用动态扫描方法 、采用PWM工程DA转换器操控电热丝加热 、串口每秒钟向计算机发送一次温度值 、用小灯模拟加热强度,用电位器模拟温度变化 单 片 机 AD模拟温度 键盘 串行通信 继电器 PC机 数码管 显示 负载 小灯模拟 加热程度 图水温操控系统框图 二、硬件设计原理及内容 画出实验电路原理图,用电位器模拟温度变化 单 片 机 AD模拟温度 键盘 串行通信 继电器 PC机 数码管 显示 负载 小灯模拟 加热程度 图水温操控系统框图 二、硬件设计原理及内容 画出实验电路原理图,根据实验任务要求,根据实验任务要求,最低位两个小灯亮。 、键盘采用*扫描键盘用于设定温度值 、数码管采用动态扫描方法 、采用PWM工程DA转换器操控电热丝加热 、串口每秒钟向计算机发送一次温度值 、用小灯模拟加热强度,说明每个功能模块的作用。

,说明每个功能模块的作用。

8、;键盘初始化 INTUKB_Scan(void);扫描读取键值 INTUKB_Def(INTUKB_valve);键值转化为定义值 INTUKB_ScanN(INTUKB_count);多次扫描键盘 **********************KBC********************************************** includelthidefhgt*commondefinesandmacros* includeltmcsdghgt*derivativeinformation* includeltIncludeshgt includeltKBhgt includeltdelayhgt KB_Init:键盘初始化函数 voidKB_Init(void) {KB_P=X;复位KB_P KB_D=XF;定义~为输入,说明每个硬件模块的工作原理与作用 D D C C B B A A Ti t l e N u m b e r R e v i s i o n S i z e A D a t e : S h e e t o f F i l e : F : \ A l t i u m D sg n e r 实验练习 文件 \ \ 草稿 S h e e t S c h D o c D r a w n B y : M I S O P W M K W P P P M O S I P W M K W P P P S C K P W M K W P P P 。始化函数 includelthidefhgt*commondefinesandmacros* includeltmcsdghgt*derivativeinformation* includeltIncludeshgt includeltSCIHgt voidSCIInit(void) { INTUt; 定义波特率Bt=,SCIBD=f(*Bt) SCIBDL=X; SCIBDH=X; SCICR=X; t=SCIDRL; t=SCISR; SCICR=XC; } SCISend:串行口发送字节 voidSCISend(INTUo) { while() if((ReSendStatusRam(ltltSendTestBit))!=) {ReSendDataR=o; eak; } } SCISendN:串行发送N字节 voidSCISendN(INTUn,INTUch[]) { INTUi; for(i=;iltn;i++) {SCISend(ch[i]); } } SCIRe:串行接受字节数据 INTUSCIRe(INTU*) { INTUk; INTUi; for(k=;kltxfbbb;k++) if((ReSendStatusRam(ltltReTestBit))!=) { i=ReSendDataR; *=X; eak; } 接受失败 if(kgt=xfbbb) { i=xff; *=x; } returni; } SCIR额N:HC串行接受N字节 INTUSCIReN(INTUn,INTUch[]) { INTUm; INTUf; m=; 接受N个数据 while(mltn) { ch[m]=SCIRe(amf); if(f==)return; m++; } return; } 中断函数名 voidinterrutSCI_isr(void) { INTUi; INTUSerialBuff[]; DisableInterruts;关中断 i=SCIReN(,SerialBuff); if(i==)SCISendN(,Ser。

7、xfbbb) { i=xff; *=x; } returni; } SCIR额N:HC串行接受N字节 INTUSCIReN(INTUn,INTUch[]) { INTUm; INTUf; m=; 接受N个数据 while(mltn) { ch[m]=SCIRe(amf); if(f==)return; m++; } return; } 中断函数名 voidinterrutSCI_isr(void) { INTUi; INTUSerialBuff[]; DisableInterruts;关中断 i=SCIReN(,SerialBuff); if(i==)SCISendN(,SerialBuff); EnableInterruts; } **********************KBH********************************************** H口和P口是共同的功能可以直接把PTH换成PTP defineKB_PPTP键盘接在H口上 defineKB_DDDRP相应的方向寄存器 defineKB_PEPERP相应的上啦下拉电阻允许寄存器 defineKB_PSPPSP相应的极性选择寄存器 defineKB_IEPIEP相应的中断允许寄存器 defineKB_IFPIFP相应的中断标志寄存器 键盘扫描识别函数声明 voidKB_Init(void)。

#p#分页标题#e#

10、Rs RR S T S W P B G N D V C C V V C C V G N D NC G N D O U T V C C M H Z O S C U S C M H Z RR e s G N D V C C G N D V d d R ES T B K G D G N D B D M B D M G N D V C C SWS W P B SWS W P B SWS W P B SWS W P B SWS W P B SWS W P B SWS串行通信相关函数声明 voidSCIInit(void); voidSCISend(INTUo); voidSCISendN(INTUn,INTUch[]); INTUSCIRel(INTU*); INTUSCIReN(INTUn,INTUch[]); **********************************SCIC************************** *本文件中含有串口函数,返回xff tm=xff; return(tm); } KB_ScanN:多次扫描键盘函数 INTUKB_ScanN(INTUKB_count) { INTUi,KB_value_last,KB_value_now; if(==KB_count||==KB_count) returnKB_Scan(); KB_value_now=KB_value_last=KB_Scan(); for(i=;iltKB_count;i++) {KB_value_now=KB_Scan(); if(KB_value_now==KB_value_last) { returnKB_value_now; } else { KB_value_last=KB_value_now; } } returnxff; Delay(); } KB_Def:键值转为定义值函数 constINTUKB_Table[]= { xEE,'',xDE 水温操控系统 系别: 专业: 学号: 姓名: 指导老师: 年月日 嵌入式系统设计性实验报告 摘要:该实验设计基于飞思卡尔MCSDG开发板平台,说明每个硬件模块的工作原理与作用 D D C C B B A A Ti t l e N u m b e r R e v i s i o n S i z e A D a t e : S h e e t o f F i l e : F : \ A l t i u m D sg n e r 实验练习 文件 \ \ 草稿 S h e e t S c h D o c D r a w n B y : M I S O P W M K W P P P M O S I P W M K W P P P S C K P W M K W P P P 。返回xff tm=xff; return(tm); } KB_ScanN:多次扫描键盘函数 INTUKB_ScanN(INTUKB_count) { INTUi,KB_value_last,KB_value_now; if(==KB_count||==KB_count) returnKB_Scan(); KB_value_now=KB_value_last=KB_Scan(); for(i=;iltKB_count;i++) {KB_value_now=KB_Scan(); if(KB_value_now==KB_value_last) { returnKB_value_now; } else { KB_value_last=KB_value_now; } } returnxff; Delay(); } KB_Def:键值转为定义值函数 constINTUKB_Table[]= { xEE,'',xDE,'',xBE,'',xE,'A', xED,'',xDD,'',xBD,'',xD,'B', xEB,'',xDB,'',xBB,'',xB,'C', xE,'*',xD,'',xB,'',x,'D', X }; INTUKB_Def(INTUKB_valve) { INTUKeyPress; INTUi; INTUj; i=; while() { j=KB_Table[i]; if(j==) { KeyPress=xff; eak; } else { if(j==KB_valve) { KeyPress=KB_Table[i+]; 嵌入式系统设计性实验报告

当前资源信息


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

点击下载