找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3560|回复: 1
打印 上一主题 下一主题
收起左侧

怎么好像数码管不听指挥

[复制链接]
跳转到指定楼层
楼主
ID:34618 发表于 2012-4-23 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

/#include //52单片机头文件,一般不要改动,里面包含特殊功能寄存器的定义

#define unchar unsigned char unsigned int i , j ; //波特率为9600。此时单片机上面晶振选用11.0592MHZ //试验方法:将程序烧进单片机。打开串口调试工具,选相应串口号。 //例如在软件里面以16进制发送fe,第一个灯亮。发送a红灯都亮。

void delay(void) { unchar i,j; for(i=0;i<255;i++) for(j=0;j<255;j++) ; }

 //unchar code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92a,所有,0x82,0xf8,0x80,0x90};

 void main()

 { EA=1; //开总中断。

ES=1; //串行口允许中断

SM0=0; //设置串行口工作方式为方式1。

SM0=0,SM1=0为工作方式0.依次类推 SM1=1; REN=1;

//串行口接收允许。

REN=0时,禁止接收。

TMOD=0x20; //定时器1工作方式2.

TH1=0xfd; //相应波特率设初值计算方法。

 初值X=(256-11059200/(12*32*9600))

TL1=0xfd; //9600为你要设置的波特率。11059200为晶振频率。X的值最后要换算成16进制

TR1=1; P2=0x7f; //定时器T1开始工作,TR1=0,T1停止工作

while(1) { //用查询法来实现 while(!RI); //RI=1时表示一帧数据接收完毕,并已经装入接收SBUF中,要求CPU取走数据。

 P0=SBUF; delay();

RI=0; //CPU取走数据后。RI必须用软件来清零才能接收下一帧数据。 } }

[此贴子已经被作者于2012-4-23 15:20:04编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:34618 发表于 2012-4-23 16:44 | 只看该作者
为什么只能一个一个变化??????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表