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. ViewPager使用笔记

    1.ViewPager.setCurrentItem(position),即使已设置动画,但是没有动画效果 原因:因为ViewPager滑动之前的时间间隔太短,可以通过反射,去修改ViewPager自 ...

  2. JavaSE聊天室

    今天学习了一下简单聊天程序(类似QQ那种)的编写过程,从最初的0.1版本到最后的1.3版本,功能不断地增强,下面对一天的学习内容进行梳理. 版本0.1 我们的需求是显示一个窗体,其他什么也不用做,其他 ...

  3. 排序算法之直接插入排序(java实现)

    package com.javaTest300; import java.util.Arrays; public class Test041 { public static void main(Str ...

  4. 使用CocoaPods管理依赖库

    本篇内容将介绍Mac和iOS开发中必备的一个依赖库管理工具CocoaPods. CocoaPods是什么 在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest.AFN ...

  5. uva10474 简单排序查找 一次AC

    题目很简单,加上读题20分钟一次AC.还是用到了快排qsort. #include<iostream> #include<cstdlib> using namespace st ...

  6. Light oj 1197 - Help Hanzo (素数筛技巧)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1197 给你a和b求a到b之间的素数个数. 先在小区间素数筛,大区间就用类似素数筛的想法 ...

  7. UVa 10900 So you want to be a 2n-aire? (概率DP,数学)

    题意:一 个答题赢奖金的问题,玩家初始的金额为1,给出n,表示有n道题目,t表示说答对一道题目的概率在t到1之间,每次面对一道题,可以选择结束游戏, 获得当 前奖金:回答下一道问题,答对的概率p在t到 ...

  8. Thinkphp框架 -- 短信接口验证码

    我用的是一款名叫 短信宝 的应用,新注册的用户可以免费3条测试短信,发现一个BUG,同个手机可以无限注册,自己玩玩还是可以的. 里面的短信接口代码什么信息都没有,感觉看得不是很明白,自己测试了一遍,可 ...

  9. 在Linux下怎么确定哪个网卡对应哪个接口?

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  10. 配置DNS服务器IP

    #############################脚本功能及说明#################### #该脚本用来在本地服务器上配置DNS服务器IP #创建时间:2014-10-22 ## ...