SCI,异步串行通信接口,内置独立的波特率产生电路和SCI收发器,可以选择发送8或9个数据位(其中一位可以指定为奇或偶校验位)。

  SCI是全双工异步串行通信接口,主要用于MCU与其他计算机或设备之间的通信,几个独立的MCU也能通过SCI实现串行通信,形成网络。

  MC12里有两个SCI(SCI0和SCI1)。设计SCI串口通信程序,主要是掌握八个寄存器,设置好初始化。

利用SCI做的一个足球答题系统   ,代码如下:

 /*******************************************************/
/* 利用SCI做的一个足球答题系统 */
/*******************************************************/
#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12dp256b"
byte sci_data; //中断初始化
void SCI_Init(void)
{
SCI0BDL=0x34; // 波特率控制寄存器 0011 0100
SCI0CR2=0X2C; // 控制寄存器2 0010 1100
} //发送子函数
void SCI_Transmit(byte data)
{
while(!SCI0SR1_TDRE) ;
SCI0DRL=data; //数据寄存器
} //接收子函数
void SCI_Receive(byte *data)
{
*data=SCI0DRL;
} //特定输出子函数
void printf(char *str)
{
while(*str!='\r')
{
SCI_Transmit(*str);
*str++;
}
} N0Choose(byte data)
{
switch(data)
{
case '':
NO1();
break;
case '':
NO2();
break ;
case '':
NO3();
break;
case '':
NO4();
break;
case '':
NO5();
break;
default:
break;
}
} /********************************************************/
/* 主函数 */
/********************************************************/
void main(void)
{
SCI_Init();
printf("welcome to lipu's football-quiz system!\n\r");
printf("choose the problem number(1to5)\n\r"); //选择正确的问题号码1~5
while()
{
while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
N0Choose(sci_data);
}
} void Right(void)
{
printf("\nyou are RIGHT.\nchoose the next question\n\r");}
void Wrong(void){
printf("\nyou are WRONG.\nchoose the next question\n\r");}
int NO1(void)
{
printf(".which country is the champion of World Cup at 2006?\n\r") ;
printf("A:Brazil B:Italy\n\r"); while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
switch(sci_data)
{
case 'A':
Wrong();
break;
case 'B':
Right();
break;
default:
break;
}
} int NO2(void)
{
printf(".which country have the most champions of World Cup?\n\r") ;
printf("A:Brazil B:Italy\n\r");
while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
switch(sci_data)
{
case 'B':
Wrong();
break;
case 'A':
Right();
break;
default:
break;
}
} int NO3(void)
{
printf(".which club is the champion of Spanish Prinera Divison at 06-07\n\r") ;
printf("A:Barcelona B:Real Madrid\n\r");
while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
switch(sci_data)
{
case 'A':
Wrong();
break;
case 'B':
Right();
break;
default:
break;
}
} int NO4(void)
{
printf(".which club is the champion of Italian Serie A at 06-07\n\r") ;
printf("A:Inter Milan B:AC.Milan\n\r");
while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
switch(sci_data)
{
case 'B':
Wrong();
break;
case 'A':
Right();
break;
default:
break;
}
} int NO5(void)
{
printf(".who is the FIFA World Player at 2006\n\r") ;
printf("A:Henry B:Ronaldiaho\n\r");
while(!SCI0SR1_RDRF);
SCI_Receive(&sci_data);
SCI_Transmit(sci_data);
switch(sci_data)
{
case 'B':
Wrong();
break;
case 'A':
Right();
break;
default:
break;
}
}

zuqiu_dati.c

利用SCI做的一个足球答题系统的更多相关文章

  1. DOM的利用冒泡做的一个小程序

    我们都知道DOM的事件流,有冒泡事件,如何有效的利用冒泡? 优化:应该尽量少的添加事件监听:原理:每添加一个事件监听事件,就会在浏览器中添加一个EventListener,如果数量过多,浏览器只能一个 ...

  2. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  3. 这几天有django和python做了一个多用户博客系统(可选择模板)

    这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下 断断续续2周时间吧,用django做了一个多用户博客系统,现在还没有做完,做分享下,以后等完善了再慢慢说 做的 ...

  4. SSH网上答题系统质量属性

    我要做的事网上答题系统,通过注册登录到答题页面. 这其中数据库的连接靠Hibernate,数据库的增删改查用Sruts2实现. 关于Struts2的学习,仅仅在action的表面上,可以在action ...

  5. 利用Sambaserver在Ubuntu系统和Win7系统间共享目录

    1 介绍 如今是网络化的时代,我们每一个人要更好的发展.离不开网络化.信息化的支持.利用网络的支持.在不同的操作系统间共享文件等信息,是计算机专业学生必备的一项技能. 本文所讲的就是怎样建立.设置.链 ...

  6. 能加载文件或程序集“XXX”或它的某一个依赖项,系统找不到指定的文件

    能加载文件或程序集“XXX”或它的某一个依赖项,系统找不到指定的文件 http://blog.csdn.net/pplcheer/article/details/7796211 做项目总是遇到各种的问 ...

  7. Django完整的开发一个博客系统

    今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的. 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: Py ...

  8. 微信小程序答题系统实现随机出题 答题小程序如何实现随机出题 微信小程序 答题系统

    最近头脑王者非常火爆,公司也在开发类似头脑王者的答题系统,这个重任交到我这边来了,我们在开发的这个微信小程序答题系统,需要实现随机出题.尤其是一些比如闯关的环节,需要随机从题库里抽取若干道题目,给到用 ...

  9. 如何利用开源思想开发一个SEO友好型网

    如果你有一个网站需要去做SEO优化的时候,不要期望你的努力能立即得到回报.耐心等待并更正内容营销策略,最终会发现你的网站很受用户欢迎.下面就教你如何利用开源思维开发一个SEO友好型网站! 首先,你应该 ...

随机推荐

  1. 深入探究frame和bounds的区别以及setbounds使用

    [转自]http://blog.csdn.net/hherima/article/details/39501857 在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bou ...

  2. AVD设置屏幕大小

    相关资料: 1.http://jingyan.baidu.com/article/fedf0737775d2835ac897700.html

  3. setbuf和freopen

    看memcached代码的时候学习了一个api,setbuf,可以设置文件流的缓冲区.        #include <stdio.h> void setbuf(FILE *stream ...

  4. DX相机变换矩阵推导

    网上很多的推导过程都是错的,所以写一个. 先平移,再旋转就可以,先平移的原因是,如果先旋转的话,坐标系已经改了,所以先平移. 平移的变换和相机的变换是相反的,所以是: 平移完成后,相机的位置就和原点的 ...

  5. json jar包支持

    json-lib工具包(json核心包)下载地址: http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/ json ...

  6. IOS6 字体高亮显示

    ios6之前在一个字符串中如果也让某个字体高亮或者特殊显示(如: 关注[ ]),需要用单独一个的标签进行显示,或者利用CoreText进行字体绘绘制,非常麻烦: 现在IOS6 中TextView,la ...

  7. iOS GCD 与 NSOperationQueue

    NSOperationQueue ios NSOperation vs. GCD StackOverflow: NSOperation vs. Grand Central Dispatch Blog: ...

  8. python的一些总结5

    上面4都是水的 恩每篇都一点知识点 用来写给不耐烦的人看..哈哈这篇 争取不水. 上面4篇如果 掌握 基本上是 80%常用的代码了. 1.下面讲一下 比较常用的代码: macro(jinja 上的功能 ...

  9. Codeforces Gym 100338C C - Important Roads tarjan

    C - Important RoadsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contes ...

  10. Asp.Net MVC 3【URLs, Routing,and Areas】续

    http://www.cnblogs.com/HuiTai/archive/2012/07/24/2597875.html 接着前面继续学习分享我们的路由. 现在我们把Global.asax文件里的R ...