基于51单片机的出租车计价器(毕业论文内容摘要:
I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3口: P3 口管脚是 8个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口 写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3口也可作为 AT89S52 的一些特殊功能口, P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因 此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存 储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 5461AS 液晶简介 5461AS 共阴四位数码管主要技术参数如表 21所示: 显示容量: 16*2 个字符 芯片工作电压: — 工作电流: () 模块最佳工作电压: 字符尺寸: *( W*H) mm 表 21 5461AS 共阴四位数码管主要技术参数 接口信号说明如图 26 所示: 图 25 5461AS 共阴四位数码管接口信号说明 控制器接口说明( HD44780 及兼容芯片) 基本操作时序 a 读状态:输入: Rs=L, Rw=H, E=H 输出: D0— D7=状态字 b 写指令:输入: Rs=L, Rw=L, D0— D7=指令码 输出:无 E=高脉冲 C 读数据:输入: Rs=H, Rw=L, E=H 输出: D0— D7=数据 d 写数据:输入: Rs=H, Rw=L, D0— D7=数据 输出:无 E=高脉冲 状态字说明如表 22所示: STA7 D7 STA6 D6 STA5 D5 STA4 D4 STA3 D3 STA2 D2 STA1 D1 STA0 D0 表 22状态字说明( a) STA06 当前数据地址指针的数值 STA7 读写操作使能 1:禁止 0:允许 表 23 状态字说明( b) 注:对控制器进行读写操作之前,都必须进行读写检测,确保 STA7 为 0 RAM 地址映射图 控制器内部带有 80*8 位的 RAM缓冲区,对应关系如下图 25 所示: 表 24 RAM 地址映射图 LCD16 字 *2 行 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 … 27 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 … 67 显示模式设置如表 25 所示: 指 令码 功能 0 0 1 1 1 0 0 0 设置 16*2 显示, 5*7 点阵, 8位数据接口 表 25 显示模式设置 显示开关及光标设置如表 26所示: 指令码 功能 0 0 0 0 1 D C B D=1 开显示; D=0 关显示 C=1 显示光标; C=0 不显示光标 B=1 光标闪烁; B=0 光标不显示 0 0 0 0 0 1 N S N=1 当读或写一个字符后地址指针加一,且光标加一 N=0 当读或写一个字后地址指针减一,且光标减一 S=1 当写一个字符后,整屏显示左移(N=1)或右移( N=0) ,以得到光标不移动而屏幕移动的效果 S=0 当写一个字符,整屏显示不移动 表 24 显示开关及光标设置 数据控制 控制器内部没有一个数据地址指针,用户可通过它们来访问内部的全部 80 字节RAM。 第三章 出租车计价系统 的软件设计 系统主程序 在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化等工作。 然后将总金额、里程和单价送数码管显示出来。 程序流程如图所示。 系统初始化模块 里程计数 模块 当汽车运行起来时,就启动计价,根据里程寄存器中 的内容计算和判断行驶里程是否已超过起步价公里数。 若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果输出在显示屏上。 并且,按白天、晚上、单程 /往返区分不同的单价。 显示模块 负责全系统的显示工作,格式化输出。 按键处理模块 负责接收键盘按键并进行相应的处理 暂停控制模块 当遇上堵车或者人为按下暂停键要进行的处理 辅助处理模块 在其他多个模块中要使用到的辅助性函数 第四章 设计体会与小结 经过这些天有关于出租车计价器的课程设计,使我对单片机的应用有了更深的了解。 在课程设计的过程中,还是碰到了许多的问题。 比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于。基于51单片机的出租车计价器(毕业论文
相关推荐
跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间, ST 应保持低电平。 EOC 为转换结束信号。 当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。 OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。 OE= 1,输出转换得到的数据; OE= 0,输出数据线呈高阻状态。 D7- D0 为数字量输出线。 CLK 为时钟输入信号线
各相电路各自给一相绕组供电,也是相互独立工作,由此可知,当 SR 电机一相绕组或控制器一相电路发生故障时,只需停止该相 的 工作,在控制方面并不需要对其他相做任何变动。 因此本系统可以构成可靠性很高的系统。 ,只与通电顺序有关。 从而可使每相绕组只需一个主开关,降低 功率驱动器 成本。 器不会发生直通短路故障,可靠性高。 传统的 PWM 变频器功率电路中每桥臂两个功率开关直接跨在直流电源侧
MOV R3, 0 JB , $ ;等待开 始工作指令 SETB SETB TR1 ;启动 T1 ; 10ms 一次读取按键。 *********一楼上升按键选择程序 *********** UP1: MOV A, 20H ;目前在 1 楼 ORL A, 21H ;取得 1 楼请求情况 ORL A, 22H ANL A, 0EH JZ UP1 ;无请求,则等待 CLR ;上升指示灯亮 SEBT
液晶显示屏看到相关的开关信息,为使用者提供准确的信息。 国内外的研究现状及发展趋势 截止目前为止 , 基于 51 单片机电子密码锁 已经 开始投入使用,但是,由于使用 基于 51 单片机电子密码锁 的技术尚且不够成熟,相应的加工成本也较高,因此, 基于 51 单片机电子密码锁 还没有全面的普及到我国的所有区域。 西南科技 大学 高等教育 自学考试毕业 论文 2 第 2 章 设计 整体框架
或由于 ( VCC 加入并超过复位门限电压 ) 引起系统正常复位。 11 图 复位电路图 报警与控制电路设计 在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。 其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警
登录按钮事件处理 private void btnLogin_Click(object sender, EventArgs e) { bool error = false。 // 标志在执行数据库操作的过程中是否出错 // 如果输入验证成功,就验证身份,并转到相应的窗体 if (ValidateInput()) { int num = 0。 // 数据库操作结果 try { // 查询用的