基于单片机公交车站自动报站器设计内容摘要:
(如执行 MOVX@RI 指令)时, P2 口输出 P2 锁存器 的内容。 Flash 编程 或校验时, P2 亦接收高位地址和一些 控制信号。 P3 口 : P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门 电路。 对 P3 口写入 “ 1” 时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的 P3 口将用上拉电阻输出电流。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能。 P3 口还接收一些用于 Flash 闪速存储器 编程 和程序校验的 控制信号。 RST: 复位输入。 当振荡器工作时, RST 引脚 出现两个 机器周期 以上高电平将使 单片机 复位。 ALE/PROG: 当访问外部 程序存储器 或数据存储器时, ALE( 地址锁存 允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟 振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问 外部数据 存储器 时将跳过一个 ALE 脉冲。 对 Flash 存储器 编程 期间,该 引脚 还用于输入编程脉冲( PROG)。 如有必要,可通过对 特殊功能寄存器 ( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该 引脚 会被微弱拉高, 单片机 执行外部程序时,应设置 ALE 禁止位无效。 PSEN: 程序储存允许( PSEN)输出是外部程序 存储器 的读选通信号,当AT89C52 由外部 程序存储器 取指令(或数据)时,每个 机器周期 两次 PSEN 有效,即输出两个脉冲。 在此期间,当访问 外部数据 存储器,将跳过两次 PSEN 信号。 EA/VPP: 外部访问允许。 欲使 CPU 仅访问外部 程序存储器 (地址为0000HFFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被 编程 ,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU则执行内部 程序存储器 中的指令。 Flash 存储器 编程 时,该 引脚 加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程 电压 Vpp。 XTAL1: 振荡器反相放大器及内部时钟发生器的 输入端。 XTAL2: 振荡器反相放大器的输出端。 在 AT89C52 片 内存储器 中, 80HFFH 共 128 个单元为特殊功能寄存器( SFR), SFR 的 地址空间 映象。 并非所有的地址都被定义,从 80HFFH 共 128个 字节 只有一部分被定义,还有相当一部分没有定义。 对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。 不应将数据写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是 “ 0”。 11 AT89C52 除了有 AT89C51 所有的定时 /计数器 0 和定时 /计数器 1 外,还增加了一个定时 /计数器 2。 定时 /计数器 2 的控制和状态位位于 T2CONT2MOD, 寄存器 对( RCAO2H、 RCAP2L)是 定时器 2 在 16 位捕获方式或 16 位自动重装载方式下的捕获 /自动重装载寄存器。 AT89C52 有 256 个字节的内部 RAM, 80HFFH 高 128 个字节与 特殊功能寄存器 ( SFR)地址是重叠的,也就是高 128 字节的 RAM 和 特殊功能寄存器 的地址是相同的,但物理上它们是分开的。 当一条指令访问 7FH 以上的内部地址单元时,指令中使用的 寻址方式 是不同的, 也即寻址方式决定是访问高 128 字节RAM 还是访问 特殊功能寄存器。 如果指令是 直接寻址方式 则为访问 特殊功能寄存器。 复位电路 51 单片机要复位只需要在第 9 引脚接个高电平持续 2US 就可以实现,那这个过程是如何实现的呢。 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。 所以可以通过按键的断开和闭合在运行的系统中控制其复位。 如图 33所示, 在单片机启动 后,电容 C 两端的电压持续充电为 5V,这是时候 10K 电阻两端的电压接近于0V, RST 处于低电平所以系统正常工作。 当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个 过程中,电容开始释放之前充的电量。 随着时间的推移,电容的电压在 内,从 5V释放到变为了 ,甚至更小。 根据串联电路电压为各处之和,这个时候 10K 电阻两端的电压为 ,甚至更大,所以 RST 引脚又接收到高电平。 单片机系统自动复位。 总之,复位电路的原理是单片机 RST 引脚接收到 2US 以上的电平信号,只要保证电容的充放电时间大于 2US,即可实现复位,所以电路中的电容值是可以改变的。 按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。 图 33复位电路原理图 时钟电路 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡 12 器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。 高级的精度更高。 有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器( VCO)。 晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。 单片机晶振的作用是为系统提供基本的时钟信号。 通常一个系统共用一个晶振,便于各部分保持同步。 有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。 如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振 相连的不同锁相环来提供。 其时钟电路如图 34 所示。 图 34 时钟电路原理图 遥控收发电路 红外线遥控是目前使用最广泛的一种通信和遥控手段。 由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、 音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。 工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 通用红外遥控系统由发射和接收两大部分组成,应用编 /解码专用集成电路芯片来进行控制操作,如图 35 所示。 发射部分包括键盘矩阵、编码调制、 LED红外发送器;接收部分包括光电转换放大器、解调、解码电路。 13 图 35 红外遥控系统框图 遥控发射器专用芯片很多, 根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本 NEC 的 uPD6121G 组成发射电路为例说明编码原理。 当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。 这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为 、间隔 、周期为 的组合表示二进制的 “ 0” ;以脉宽为 、间隔 、周期为 的组合表示二进制的 “ 1” ,其波形如图 36 所示。 上述 “ 0” 和 “ 1” 组成的 32 位二进制码经 38kHz 的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。 然后再通过红外发射二极管产生红外线向空间发射。 UPD6121G 产生的遥控编码是连续的 32 位二进制码组,其中前 16 位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。 该芯片的用户识别码固定为十六进制 01H;后 16位为 8位操作码(功能码)及其反码。 UPD6121G最多额 128 种不同组合的编码。 键盘 编码调制 LED 光 /电放大 解调 解码 遥控发射器 bit “ 0” bit “ 1” 36 遥控码的“ 0”和“ 1” 14 遥控器在按键按下后,周期性地发出同一种 32位二进制码,周期约为 108ms。 一组码本身的持续时 间随它包含的二进制 “ 0” 和 “ 1” 的个数不同而不同,大约在 45~63ms 之间。 当一个键按下超过 36ms,振荡器使芯片激活,将发射一组 108ms 的编码脉冲 , 这 108ms 发射代码由一个起始码( 9ms) , 一个结果码( ) , 低 8 位地址码( 9ms~18ms) , 高 8 位地址码( 9ms~18ms) , 8 位数据码( 9ms~18ms)和这8 位数据的反码( 9ms~18ms)组成。 如果键按下超过 108ms 仍未松开,接下来发射的代码(连发代码)将仅由起始码( 9ms)和结束码( )组成。 解码的关键是如何识别 “ 0” 和 “ 1” ,从位的定义我们可以发现 “ 0” 、 “ 1”均以 的低电平开始,不同的是高电平的宽度不同, “ 0” 为 , “ 1”为 , 所以必须根据高电平的宽度区别 “ 0” 和 “ 1”。 如果从 低电平过后,开始延时, 以后,若读到的电平为低,说明该位为 “ 0” ,反之则为 “ 1” , 为了可靠起见,延时必须比 长些,但又不能超过 , 否则如果该位为 “ 0” , 到的已是下一位的高电平,因此取( +) /2=最为可靠,一般取 左右均可。 接收电路如 图 37 所示。 PC3388 是红外接收头, 1 脚是信号端, 3 脚是地端,2 脚是电源端。 当电路正常工作时,发光二极管发亮。 测试时可以观察 D1 的状态来判断是否有接收到信号。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 2 2 J u n 2 0 1 3 S h e e t o f F i l e : C : \ U s e r s \ A d m i n i s t r a t o r . P C 2 0 1 30 1 1 2D J A F \ D e s k t o p \截图 \ 公交报站 . d d bD r a w n B y :O U T 1V C C 2G N D 3U5V 5 1 3 8R 1 710 +8P32红外接收部分 图 37 红外接收电路 LCD12864 显示电路 如图 38 所示,为 LCD12864 的芯片图。 带中文字库的 128X64 是一种具有4 位 /8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置 8192 个 16*16点汉字,和 128 个 16*8 点 ASCII 字符集。 利用 该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。 可以显示 84 行 1616 点阵的汉字也可完成图形显示 .低电压低功耗是其又一显著特点。 由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 其基本特性是: ( 1) 低电源电压( VDD: +~+) ; 15 ( 2) 显示分辨率 : 12864 点 ; ( 3) 内置汉字字库,提供 8192 个 1616 点阵汉字 (简繁体可选 ); ( 4) 内置 128 个 168 点 阵字符 ; ( 5) 2MHZ 时钟频率 ; ( 6) 显示方式: STN、半透、正显 ; ( 7) 驱动方式: 1/32DUTY, 1/5BIAS; ( 8) 视角方向: 6 点 ; ( 9) 背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/5~1/10; ( 10) 通讯方式:串行、并口可选 ; ( 11) 内置 DCDC 转换电路,无需外加负压 ; ( 12) 无需片选信号,简化软件设计 ; ( 13) 工作温度 : 0℃ ~+55℃ , 存储温度 : 20℃ ~ +60℃。 表 31 为 LCD12864 引脚说明 表 31 LCD12864引脚说明 管脚号 管脚名 电平 管教功能描述 1 VSS 0V 电源地 2 VCC +5V 电源正 3 V0 对比度(亮度)调整 4 RS(CS) H/L RS=“ H” ,表示 DB7—— DB0 为显示数据 RS=“ L” ,表示 DB7—— DB0 为显示指令数据 5 R/W(SID) H/L R/W=“ H” ,E=“ H” ,数据被读到 DB7—— DB0 R/W=“ L” ,E=“ H→ L” , DB7—— DB0 的数据被写到 IR 或 DR 6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态数据线 8 DB1 H/L 三态数据线 9。基于单片机公交车站自动报站器设计
相关推荐
820: MOV R2,8 RE1: CLR C SETB NOP NOP CLR NOP NOP NOP SETB NOP MOV C, NOP NOP NOP NOP MOV R3,23 DJNZ R3,$ RRC A DJNZ R2,RE1 RET。 写 DS18B20 的程序 WRITE_1820: MOV R2,8 CLR C WR1: CLR NOP NOP NOP NOP RRC
行驶里程为 5 里,起步价为 6 元,超出 3 公里后按每公里一元收费,则金额 =6+( 53) *1=8(元) 间接测速 单元设计 霍尔传感器 A44E在本 次设计 的 主要作用是 对 车轮转动时产生出的脉冲信号 采集。 车轮每转一周,磁铁经过 传感器 两 次。 霍尔传感器 A44E 的第 3 脚就输出一个脉冲信号作为单片机 AT89S52 的外中断信号,从 口输入。 口作为信号的输入端 ,
在 flash编程和校验时 P1 口接收低 8 位地址字节。 引脚号 第二功能 T2(定时器 /计数器 T2 的外部计数输入),时钟输出 ; T2EX(定时器 /计数器 T2 的捕捉 /重载触发信号 和方向控制) MOSI(在系统编程用) ; MISO(在系统编程用) ; SCK(在系统编程用) P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4
口输出) 运行状态 空 黄灯 绿灯 红灯 空 黄灯 绿灯 红灯 1 0 0 1 1 0 1 0 0x9a ① 1 0 0 1 1 1 1 0 0x9e ② 1 0 1 0 1 0 0 1 0xa9 ③ 1 1 1 0 1 0 0 1 0xe9 ④ 1 0 0 1 1 0 0 1 0x99 ⑤ 1 0 0 1 1 0 1 0 0x9a ⑥ 1 0 1 0 1 0 0 1 0xa9 ⑦ 单片机
DS18B20 中的每个器件上都有独一无二的序列号。 实际应用中不需要外部任何元器件即可实现测温。 测量温度范围在- 55。 C到+ 125。 C之间。 数字温度计的分辨率用户可以从 9位到 12 位选择。 内部有温度上、下限告警设置。 DS18B20 的数据输入 /输出端连接于 Atmega16L 的 PA7 引脚 ,电路原理如图 6所示。 AGND31X113X212R E
样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担,而对有些变化缓慢的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。 二、选择采样周期的原则――采样定理 最大采样周期 maxmax 21fT (20) 式中 maxf 为信号频率组分中最高频率分量。 三、选择采样周期应综合考虑的因素