51单片机位变量定义里有ESR位吗

51单片机的位地址和字节地址
> 51单片机的位地址和字节地址
51单片机的位地址和字节地址
51单片机的20H-2FH为位地址区,共16个字节,每字节有8位共128位,每位有个编号称为位地址,位地址的范围为00H-7FH。该区既可位寻址又可字节寻址。例如:MOV C,20H 这里C是进位标志位,该指令将位地址为20H的单元内容送至C;而MOV A,20H 将字节地址为20H的内容送至累加器A。本文引用地址:可见20H是位地址还是字节地址要看另一个操作数的类型。/*-*/;program name:
r8051xC2 -->Port0 Test Input or
Oprogram versions: v1;program date: ;use :compiler: eng-12/*--*/$NOMOD51
//取消使用51内部默认SFR#include "REG8F301.INC"Key1
P0.0F_1SSet
20h.0F_KeyOne
20h.1F_KeyOpen
//通用RAM字节段从30H开始TimerCnt:
1TimerCnt1:
1KeyValue:
1IO_ModeCnt:
//0-ffh地址的RAM段
80h-ffh段RAM只能用间接寻址进行操作cseg
0030h;start:
ckcon,#01hmov
r0,#0x7fClrRam:
//清内部256Byte RAMmov
@r0,#0djnz
dptr,#0x00
//清外部768Byte RAM//
dph,#0x03//
dpl,#0x00ClrOutRam:mov
//给外部RAM全部写0x00movx
@dptr,ainc
a,#0,ClrOutRaminc
a,#3,ClrOutRammov
P0_OE,#0ffh
//设置P0位输出模式mov
//P0输出0;-main:mov
//IO口状态快速翻转,翻转正常,在时钟25Mhz下CPL
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于AT89C51单片机的公交车自动报站系统.doc 44页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
题目:公交车自动报站系统
指导老师:**
根据AT89C51单片机的特点和公交车报站器的特点,本文提出了一种用单片机控制语音芯片进行公交车语音自动报站的方法。同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序编写两个方面,解释了单片机在应用过程中的方法和可能出现的问题。本文主要介绍硬件电路设计部分。利用AT89C51作为控制器,通过ISD4004语音芯片建立语音信息库,形成变化多样的语音信息,利用其功放播放语音信息以及提示语音,同时运用LED数码管进行站数显示。当公交车到达某站点,用键盘控制本系统工作,通过语音电路输出语音信息和提示,同时站数信息在LED数码管上显示。整个系统硬件设计包括键盘电路、复位电路、显示驱动电路、显示电路、内存扩展电路模块。
本系统很大程度上提高公交车报站的准确性,可靠性。提高了公交系统的服务质量。促进城市经济发展和交通变化的和谐发展。
关键词:AT89S51单片机,ISD4004语音芯片,LED数码管,自动报站
1.1 课题研究的背景及意义 1
1.2 报站器的动态发展趋势 1
1.3设计的主要目标任务 1
1.4公交车报站系统的方案设计 1
2.1 主控电路的设计 2
2.1.1 关于AT89C51单片机 2
2.1.2振荡器电路的设计 6
2.1.3复位电路的设计 8
2.2 脉冲检测电路的设计 11
2.2.1霍尔器件简介 11
2.2.2脉冲检测电路的设计 12
2.3.2 录音、放音电路的设计 17
2.4.2 6116芯片简介 22
2.4.3 LED点阵汉字显示电路的设计 23
3. 软件设计 25
3.1 主控程序的设计 25
3.1.1 整体流程图 25
3.2 语音报站程序的设计 26
3.2.1 流程图 27
3.3 LED汉字显示程序的设计 31
参考文献 36
附录:程序清单 44
1.交车自动报站系统的设计
随着科学技术的日益发展和进步, 无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。
,结合公交车辆的使用特点及实际营运环境公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况。[3]。系统由脉冲检测、、控制信号、语音芯片、输出显示等组成。冲检测该系统关键是对转轴所转过的圈数进行计数,考虑到车辆将在复杂的 环境中运行,故采用可靠的霍尔元件DN6848作为信号的采集装置,再经光电耦合器4N25输入给单片机。
脉冲计数光电耦合器的信号进入C51后,采用中断方式对脉冲计数。外部晶振12MHz。
程序中将计数值于预置值进行比较,到时就输出信号控制语言芯片进行报站。
控制按键用于手动控制、手动调整、预置值的输入等
语言芯片由专用语音芯片ISD4004组成,可擦写,便于在不同公交线上使用。预置存储采用两种方式存储,一种是在烧写器上将数据写入,另一种是在车上,单片机处于输入状态,车辆行驶一遍,将站与站之间的脉冲数写入片内。MCS-51 兼容
2. 4K字节可编程闪烁存储器 寿命:1000写/擦循环3. 全静态工作:0Hz-24Hz4. 三级程序存储器锁定5. 128*8位内部RAM6. 32可编程I/O线7. 两个16位定时器/计数器8. 5个中断源 9. 可编程串行通道10. 片内振荡器和时钟电路
AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一个硬件复位为止。
VCC:供电电压。
VSS:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的八位。在FIASH编程
正在加载中,请稍后...后使用快捷导航没有帐号?
查看: 7176|回复: 36
关于51单片机位定义的问题
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
下面是我在自己买的51开发板上编写的一个程序,程序实现的功能比较简单,就是在数码管上显示矩阵键盘(4X4键盘,依次编码为1~16)上按下的键值的平方值。其中P2^4~P2^7为8段数码管的位选,P0口为8段数码管的段选,P1^0~P1^3为键盘的列线,P1^4~P1^7为键盘的行线。用定时器0来刷新4位8段数码管的显示。
#include&reg52.h&#include&intrins.h&
#define uchar unsigned char#define uint unsigned int
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x84,0x8e};uchar j=0,k=0x7f,m=0,b=0xef,a[4]={0};uint i=0;sbit line1=P1^0;sbit line2=P1^1;sbit line3=P1^2;sbit line4=P1^3;
void delay(uchar z){&uchar x,y;&for(x=z;x&0;x--)&&for(y=250;y&0;y--);}
void time0_initial(){&TMOD=0x01;&TH0=()/256;&TL0=()%256;&EA=1;&ET0=1;&TR0=1;}
void main(){&time0_initial();&AC=1;&i=0;&while(1)&{&&for(m=0;m&4;m++)&&{&&&P1=_crol_(b,m);&&&if(line1==0)&&&{&&&&delay(2);&&&&if(line1==0)&&&&{&&&&&i=m*4+1;&&&&&i=i*i;&&&&&while(!line1);&&&&&delay(2);&&&&}&&&}&&&if(line2==0)&&&{&&&&delay(2);&&&&if(line2==0)&&&&{&&&&&i=m*4+2;&&&&&i=i*i;&&&&&while(!line2);&&&&&delay(2);&&&&}&&&}&&&&if(line3==0)&&&{&&&&delay(2);&&&&if(line3==0)&&&&{&&&&&i=m*4+3;&&&&&i=i*i;&&&&&while(!line3);&&&&&delay(2);&&&&}&&&}&&&if(line4==0)&&&{&&&&delay(2);&&&&if(line4==0)&&&&{&&&&&i=m*4+4;&&&&&i=i*i;&&&&&while(!line4);&&&&&delay(2);&&&&}&&&}&&}&}}
void time0() interrupt 1{&TH0=()/256;&TL0=()%256;&a[0]=i/1000;&a[1]=i/100%10;&a[2]=i/10%10;&a[3]=i%10;&j++;&if(j==4)&&j=0;&P2=_cror_(k,j);&P0=table[a[j]];&&}
此时的程序是正确的。
编程过程中遇到的问题就是没有进行以下所示的位定义
sbit line1=P1^0;sbit line2=P1^1;sbit line3=P1^2;sbit line4=P1^3;
而是直接在程序中使用P1^0~P1^3,结果程序就运行不正常,苦思良久,未果,望请各位前辈高手们指点指点。
[ 本帖最后由 若如 于
20:03 编辑 ]
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
把位定义提到宏定义下面试试。程序中不能P1^0这样用吧?
历经挫折才能站的更稳。来学习了
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 沙发 谢谢分享 的帖子
我发上来的程序是正确的,我编写的过程中直接用P1^0这种形式的时程序的运行就不正常了,我不知道是什么原因。为什么不能直接用P1^0而非得在主程序前进行类似sbit line1=P1^0;的位定义,再在程序中使用line1才能使程序工作正常?
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
回复 板凳 若如 的帖子
哦,你说为什么不能直接在程序中使用P1^0这样啊 。很简单,语法定义。。。。。
历经挫折才能站的更稳。来学习了
在线时间50 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 223, 距离下一级还需 277 积分
一粒金砂(高级), 积分 223, 距离下一级还需 277 积分
试试加个括号(P1^1)==0,优先级问题
在线时间18 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 120, 距离下一级还需 80 积分
一粒金砂(中级), 积分 120, 距离下一级还需 80 积分
倒三角可以用吗?标识符不是只能由下划线和字符组成吗?我们都是用regx52.h这个头文件,里面已经用sbit 定义了io口,使用时用下划线替代倒三角,寻址的时候倒是使用倒三角,,即使不使用这个头文件,通常也会先定义的,,我觉得问题出在倒三角上,,因为没有人会直接使用,所以,它肯定是有问题。。太片面了,就当我再这扯着玩好了。
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 5楼 lalahu 的帖子
刚才试了一下,就算加上括号也不行,非得在前面进行位定义之后再使用才正常。
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
回复 5楼 lalahu 的帖子
试试。 没这样用过也不知道。学习了。
历经挫折才能站的更稳。来学习了
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
回复 7楼 若如 的帖子
编译能通过不 ?
历经挫折才能站的更稳。来学习了
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 6楼 j1a2s3o4n 的帖子
我也不知道倒三角符号能不能用,不过我打开的reg52.h文件里定义了P1^0的,我就直接用了,不过程序工作不正常,还是得进行一次位定义后才能使用。不过你说为什么关于定时器的位如TR0,关于中断的位如EA,ET0,EX0这些就可以直接使用呢?
[ 本帖最后由 若如 于
21:46 编辑 ]
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
我把你程序复制进去我的keil里 没问题啊。&&没有警告哦。
历经挫折才能站的更稳。来学习了
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
回复 10楼 若如 的帖子
因为那些可以位寻址。、
历经挫折才能站的更稳。来学习了
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 9楼 谢谢分享 的帖子
编译当然可以通过啊,连个warning都没有。
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 11楼 谢谢分享 的帖子
我传上来的这个程序是经过我改正后的,是正确的程序,可是如果把关于P1^0~P1^3的位定义去掉,直接在程序中使用P1^0这种形式程序就不能正常工作了(编译的时候还是不会提示错误)。
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 12楼 谢谢分享 的帖子
你的这个解释应该是最合理的,谢了!
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
我都不好意思了。 现在才明白你问的是什么。第一次回答问题。&&没挨骂&&哈哈。&&
历经挫折才能站的更稳。来学习了
在线时间18 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 120, 距离下一级还需 80 积分
一粒金砂(中级), 积分 120, 距离下一级还需 80 积分
不能是语法错误,语法错误编译时会出错的
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 16楼 谢谢分享 的帖子
那你还那么多的芯币,羡慕啊。
在线时间10 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
一粒金砂(中级), 积分 90, 距离下一级还需 110 积分
回复 17楼 j1a2s3o4n 的帖子
的确不是语法错误。
在线时间384 小时
芯币4652枚
TA的帖子TA的资源
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
纯净的硅(初级), 积分 569, 距离下一级还需 231 积分
回复 17楼 j1a2s3o4n 的帖子
不是。你那样用的意思好像就不是那个意思了。^是或的逻辑。这样用和你根本的用意不符合&&P1已经定义可以应用。 你试试观察下过完那条程序P1的值。
历经挫折才能站的更稳。来学习了
EEWORLD 官方微信
Powered by您是不是在找:
买家还在看:
当前位置:
关注行业资讯
51单片机智能循迹避障小车 51智能小车套件DIY 红外智能
&35.5 - &39
detail3e达人选购¥68000.00¥38888.00¥21000.00¥9999.00¥1000.00
detail3e周边优质供应商河北省邢台市江苏省南京市安徽省合肥市山东省德州市
同参数产品
慧聪网厂家重庆市万州区优芯电子有限公司为您提供51单片机智能循迹避障小车 51智能小车套件DIY 红外智能的详细产品价格、产品图片等产品介绍信息,您可以直接联系厂家获取51单片机智能循迹避障小车 51智能小车套件DIY 红外智能的具体资料,联系时请说明是在慧聪网看到的。
detail3e相关商品推荐¥68000.00¥38888.00¥21000.00¥9999.00¥1000.00¥¥26000.00¥10000.00热门商品推荐 ¥68000.00 ¥38888.00 ¥21000.00 ¥9999.00 ¥1000.00 ¥ ¥26000.00 ¥10000.00
detail3e店内热门商品¥75.00¥75.00¥9.30¥3.50
detail3e健身车相关资源健身车热门产品搜索健身车相关热门专题更多&热门商机最新商机
提示:您在慧聪网上采购商品属于商业贸易行为。以上所展示的信息由卖家自行提供,内容的真实性、准确性和合法性由发布卖家负责,请意识到互联网交易中的风险是客观存在的。推荐使用,保障您的交易安全!
联系人:周猷川 & 先生
023 ******
133 ******
请供应商联系我
手机号不能为空
姓名不能为空
请供应商联系我
您对该公司的咨询信息已成功提交请注意接听供应商电话。
detail3e关于智能小车
detail3e同类其他品牌
detail3e您是不是在找
您采购的产品:
请输入采购产品
您的手机号码:
请输入手机号码
*采购产品:
请输入采购产品
*采购数量/单位:
请输入采购数量
请选择单位
*采购截止日期:
请输入正确的手机号码
请输入验证码
*短信验证码:
<input id="valid_Code1" maxlength="6" placeholder="请输入验证码" name="VALIDCODE" class="codeInput" onkeyup="this.value=this.value.replace(/\D/g,'')" onkeypress="if(event.keyCode
57) event.returnValue =" type="text">
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
发送成功!
慧聪已收到您的需求,我们会尽快通知卖家联系您,同时会派出采购专员1对1为您提供服务,请您耐心等待!
133 ******
联系人:周猷川&送试题
公司名称:重庆市万州区优芯电子有限公司
备注:点击关注按钮后才可自动收到卖家电话
请输入正确的手机号码
请输入验证码
*短信验证码:
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
按字母分类 :

我要回帖

更多关于 51单片机位寻址 的文章

 

随机推荐