云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 嵌入式应用实例 - 图文

嵌入式应用实例 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/5 4:55:45

#include \

#define SCI_BDH(x) (*(vuint8 *)(0x00000038+(x-1)*8)) #define SCI_BDL(x) (*(vuint8 *)(0x00000039+(x-1)*8)) #define SCI_C1(x) (*(vuint8 *)(0x0000003A+(x-1)*8)) #define SCI_C2(x) (*(vuint8 *)(0x0000003B+(x-1)*8)) #define SCI_S1(x) (*(vuint8 *)(0x0000003C+(x-1)*8)) #define SCI_S2(x) (*(vuint8 *)(0x0000003D+(x-1)*8)) #define SCI_C3(x) (*(vuint8 *)(0x0000003E+(x-1)*8)) #define SCI_D(x) (*(vuint8 *)(0x0000003F+(x-1)*8)) #define EnableSCIReInt() SCI1C2 |=(SCI1C2_RIE_MASK) #define DisableSCIReInt() SCI1C2 &=~(SCI1C2_RIE_MASK) #define SCI_NUM_1 1 #define SCI_NUM_2 2

void SCIInit(uint8 SCINo,uint8 sysclk,uint16 baud); void SCISend1(uint8 SCINo,uint8 ch);

void SCISendN(uint8 SCINo,uint16 n,uint8 ch[]); uint8 SCIRe1(uint8 SCINo,uint8 *p);

uint8 SCIReN(uint8 SCINo,uint16 n,uint8 ch[]); void SCISendString(uint8 SCINo,char *p); #endif

SCI.c:

#include \

void SCIInit(uint8 SCINo, uint8 sysclk, uint16 baud) {

uint16 ubgs; ubgs=0; if(SCINo>2) { SCINo=2; }

15

ubgs=sysclk*(10000/(baud/100))/16;

SCI_BDH(SCINo)=(uint8)((ubgs&0xFF00)>>8); SCI_BDL(SCINo)=(uint8)(ubgs&0x00FF); SCI_C1(SCINo)=0b00000000; SCI_C2(SCINo)=0b00001100; }

void SCISend1(uint8 SCINo, uint8 ch) { if(SCINo>2) { SCINo=2; }

while(!(SCI_S1(SCINo)&0b1000000)); SCI_D(SCINo)=ch; }

uint8 SCIRe1(uint8 SCINo, uint8 *p) { uint16 k; uint8 i; if(SCINo>2){ SCINo=2; }

for(k=0;k<0xfbbb;k++)

if((SCI_S1(SCINo)&0b00100000)!=0) { i=SCI_D(SCINo); *p=0x00; break; }

if(k>=0xfbbb) { i=0xff; *p=0x01; } return i;

16

}

void SCISendN(uint8 SCINo, uint16 n, uint8 ch[]) { uint16 i; if(SCINo>2) { SCINo=2; }

for(i=0;i

uint8 SCIReN(uint8 SCINo, uint16 n, uint8 ch[]) { uint16 m; uint8 fp; m=0; if(SCINo>2) { SCINo=2; }

while(m

ch[m]=SCIRe1(SCINo,&fp); if(fp==1) { return 1; } m++; } return 0; }

void SCISendString(uint8 SCINo, char *p) { uint32 k; if(SCINo>2) { SCINo=2; }

17

if(p==0) return; for(k=0;p[k]!='\\0';++k) { SCISend1(SCINo,p[k]); } }

3.1.2 LCD子程序

LCD.h:

#ifndef LCD_H #define LCD_H

#include \#include \#include \#define LCDdata PTAD #define LCDdataD PTADD #define LCDctrl1 PTCD #define LCDctrlD1 PTCDD #define LCDctrl2 PTFD #define LCDctrlD2 PTFDD #define LcdRS 4 #define LcdRW 6 #define LcdE 6 void LCDinit(void);

void LCDcommand(uint8 cmd); void LCDshow(uint8 str[]); #endif

LCD.c:

#include \

18

搜索更多关于: 嵌入式应用实例 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include \ #define SCI_BDH(x) (*(vuint8 *)(0x00000038+(x-1)*8)) #define SCI_BDL(x) (*(vuint8 *)(0x00000039+(x-1)*8)) #define SCI_C1(x) (*(vuint8 *)(0x0000003A+(x-1)*8)) #define SCI_C2(x) (*(vuint8 *)(0x0000003B+(x-1)*8)) #define SCI_S1(x) (*(vuint8 *)(0x0000003C+(x-1)*8)) #define SCI_S2(x) (*(vuint8 *)(0x0000003D+(x-1)*8)) #define SCI_C3(x) (*(vuint8 *)(0x0000003E+(x-1)*8))

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com