/********************************************************************

函数功能:往串口发送一字节数据(可通过超级终端或者串口调试助手显示出来,

 超级终端波特率选为9600)。每按下一次S2键,松开后均会在超级终端

 上显示一串字母"abcdefg哈哈"。

入口參数:d: 要发送的字节数据。

********************************************************************/









#include <reg52.h>

#define jingzhen     11059200UL /*使用22.1184M晶体*/
 

#define botelv   9600UL     /*波特率定义为9600*/

unsigned char zifuchuan[]="abcdefg哈哈"; //待显示字符。

volatile unsigned char sending;

sbit s2=P3^4;





void delay(unsigned char i)

{

unsigned char j,k;

for(j=i;j>0;j--)

for(k=90;k>0;k--);

}

void init(void) //串口初始化

{

 EA=0; //临时关闭中断

 TMOD&=0x0F;  //定时器1模式控制在高4位

 TMOD|=0x20;    //定时器1工作在模式2,自己主动重装模式

 SCON=0x50;     //串口工作在模式1

 TH1=256-jingzhen/(botelv*12*16);  //计算定时器重装值

 TL1=256-jingzhen/(botelv*12*16);

 PCON|=0x80;    //串口波特率加倍

 ES=1;         //串行中断同意

 TR1=1;        //启动定时器1

 REN=1;        //同意接收 

 EA=1;         //同意中断

}





void send(unsigned char d)  //发送一个字节的数据,形參d即为待发送数据。

{

 

 SBUF=d; //将数据写入到串口缓冲

 sending=1; //设置发送标志

 while(sending); //等待发送完成

}





void sendc(unsigned char * pd)

{

 while((*pd)!='\0') //发送字符串。直到遇到0才结束

 {

  send(*pd); //发送一个字符

  pd++;  //移动到下一个字符

 }

}





void main()

{

init();

while(1)

{

if(s2==0)

{

delay(20);

if(!s2)

{

while(!s2);
  

sendc(zifuchuan);

}

}

}

}





void uart(void) interrupt 4 //串口发送中断

{

 if(RI)    //收到数据

 {

  RI=0;   //清中断请求

 }

 else      //发送完一字节数据

 {

  TI=0;

  sending=0;  //清正在发送标志

 }

}

key 串口的更多相关文章

  1. [连载]《C#通讯(串口和网络)框架的设计与实现》- 8.总体控制器的设计

    目       录 第八章           总体控制器的设计... 2 8.1           总控制器的职能... 2 8.2           组装和释放部件... 3 8.3      ...

  2. [连载]《C#通讯(串口和网络)框架的设计与实现》- 6.通讯控制器的设计

    目       录 第六章           通讯控制器的设计... 2 6.1           控制器接口... 2 6.2           串口控制器... 3 6.3          ...

  3. FPGA与simulink联合实时环路系列——实验三 按键key

    实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...

  4. [连载]《C#通讯(串口和网络)框架的设计与实现》- 5.串口和网络统一IO设计

    目       录 第五章           串口和网络统一IO设计... 2 5.1           统一IO接口... 2 5.1.1    串口IO.. 4 5.1.2    网络IO.. ...

  5. [连载]《C#通讯(串口和网络)框架的设计与实现》-4.设备驱动管理器的设计

    目       录 第四章           设备驱动管理器的设计... 2 4.1           接口定义... 2 4.2           设备容器... 7 4.3          ...

  6. [连载]《C#通讯(串口和网络)框架的设计与实现》-3.设备驱动的设计

    目       录 第三章           设备驱动的设计... 2 3.1           初始化设备... 4 3.2           运行设备接口设计... 4 3.3        ...

  7. 【图像处理】【SEED-VPM】4.串口调试信息

    —————————————————————————————————————————————————————————————————————— 串口返回正确的信息 Booting PSP Boot Lo ...

  8. Mac下的串口通信-ORSSerialPort

    ================================2015/11/05======================================= 最近在工作中遇到有关Mac下串口通信 ...

  9. 将JZ2440的调试串口换成com2

    众所周知JZ2440 V3很小巧,精致.今天单就JZ2440的串口来讨论一些问题.我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口.先来看一 ...

随机推荐

  1. “ASP.default_aspx”并不包括“DropDownList1_SelectedIndexChanged”的定义,其解决方法。

    "ASP.default_aspx"并不包括"DropDownList1_SelectedIndexChanged"的定义,其解决方法. 在使用DropDown ...

  2. UVA 10313(完全背包变形)

    Problem B Pay the Price Input: standard input Output: standard output Time Limit: 2 seconds Memory L ...

  3. codeforces.com/contest/325/problem/B

    http://codeforces.com/contest/325/problem/B B. Stadium and Games time limit per test 1 second memory ...

  4. codeforces 598B Queries on a String

    题目链接:http://codeforces.com/problemset/problem/598/B 题目分类:字符串 题意:给定一个串,然后n次旋转,每次给l,r,k,表示区间l到r的字符进行k次 ...

  5. Delphi的没落有三个原因(比较贴切)

    Delphi的没落有三个原因:1,Object pascal并没有像C/C++那样成为业内标准. 如果你使用C或C++写程序,可以在任何地方进行编译,例如Windows.Linux.手机,甚至是单片机 ...

  6. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

  7. NYOJ 914 Yougth的最大化

    Yougth的最大化 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 Yougth如今有n个物品的重量和价值各自是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价 ...

  8. 它们的定义iOS双击Home截图按键开关

    <pre name="code" class="objc"><p>双击假设Home,我会去iOS App的switcher页面,这里列出 ...

  9. Java提高篇(三二)-----List总结

    前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点能够对List接口有了比較深的了解了.仅仅有通过归纳总结的知 ...

  10. pygtk手记(1)

    GTK+使用C语言开发,但是其设计者使用面向对象技术. 也提供了C++(gtkmm).Perl.Ruby.Java和Python(PyGTK)绑定,其他的绑定有Ada.D.Haskell.PHP和所有 ...