单片机原理与接口技术课程设计-基于单片机的出租车计价器的设计内容摘要:
E=高脉冲 状态字说明如表 23所示: STA7 D7 STA6 D6 STA5 D5 STA4 D4 STA3 D3 STA2 D2 STA1 D1 STA0 D0 表 23状态字说明( a) STA06 当前数据地址指针的数值 STA7 读写操作使能 1:禁止 0:允许 表 24 状态字说明( b) 注:对控制器进行读写操作之前,都必须进行读写检测,确保 STA7为 0 RAM地址映射图 控制器内部带有 80*8 位的 RAM缓冲区,对应关系如下图 25所示: 表 25 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 显示模式设置如表 26所示: 指令码 功能 0 0 1 1 1 0 0 0 设置 16*2显示, 5*7 点阵, 8位数据接口 XXXXXXXXX 大学 课程设计说明书 9 表 26 显示模式设置 显示开关及光标设置如表 27所示: 指令码 功能 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 当写一个字符,整屏显示不移动 表 27 显示开关及光标设置 数据控制 控制器内部没有一个数据地址指针,用户可通过它们来访问内部的全部 80字节RAM。 第三章 出租车计价 系统 的软件设计 单片机资源使用 在本次设计中像电路键盘用到了 P1口,其中 口作为键盘的输 入,直流电机电路的控制线用了 P2口线, 、 、 分别为 led 信号控制脚。 显示电路用到了 P0 和 P2 口, P0 口为液晶的数据口。 XXXXXXXXX 大学 课程设计说明书 10 中断子函数 对于中断程序,只要定时器计数满就会产生中断 50ms 中断一次,共计 20次,秒钟加 1,秒钟计满再分钟加,当分钟加到 99 时全部清零。 以下是中断子函数的流程图如图 31所示: 图 31 中断子程序流程图 判键子函数 对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,在判键释放,最后执行键功能程序。 判键子函数的流程框图如图 32 所示: Count++开始Second++count=0是否产生中断。 Count=20。 Second=60。 Minite++second=0Minite=99。 Minite=0结束否否否否是是是是XXXXXXXXX 大学 课程设计说明书 11 图 32判键子程序流程图 显示子程序 1602 液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写 40个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据,在每写一次命令或数据都需要判 断液晶是否忙。 液晶显示程序流程图如图 33所示: L C D 初始化开始L C D 写命令L C D 判忙=0?写数据判忙=0?写完成了。 写完成了。 设置字符位置结束否否是是否否是是XXXXXXXXX 大学 课程设计说明书 12 图 33 显示子程序流程图 图 33 液晶显示程序流程图 总程序流程框图 定时器初始化开始液晶初始化判断按键函数1V=?Value1+10 Value2+5 Value3+5数据处理显示函数Jump_in=1?液晶清屏判断按键函数V1=?运行暂停停止数据处理显示函数Jump_out=1?液晶清屏清零函数结束否是V=1V=2V=3否是V1=1 V1=2 V1=3是否否是XXXXXXXXX 大学 课程设计说明书 13 图 34整体 程序流程图 XXXXXXXXX 大学 课程设计说明书 14 第 四 章 proteus 的简介 Proteus 介绍 Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,它组合了高级原理布图、混合模式 SPICE 仿真 ,PCB设计 以及自动布线来实现一个完整的电子设计系统。 此系统受益于 15年来的持续开发 ,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品 — “ The Route to PCB CAD”。 Proteus 产品系列也包含了我们革命性的 VSM技术 ,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。 用户甚至可以实时采用诸如 LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。 其功能模块 :— 个易用而又功能强大的 ISIS 原理布图工具; PROSPICE 混合模型 SPICE 仿真; ARES PCB设计。 PROSPICE 仿真器的一个扩展 PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。 此外,还可以结合微控制器软件使用动态的键盘,开关,按钮, LEDs甚至 LCD 显示 CPU模型。 支持许多通用的微控制器 ,如 PIC, AVR, HC11 以及 8051。 最新支持 ARM。 交互的装置模型包括: LED和 LCD显示, RS232 终端,通用键盘, I2C, SPI 器件。 强大的调试工具,包括寄存器和存储器,断点和单步模式。 IAR CSPY 和 Keil uVision2等开发工具的源层调试。 应用特殊模型的 DLL 界面 提供有关元件库的全部文件。 XXXXXXXXX 大学 课程设计说明书 15 第 五 章 设计体会与小结 出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能并能够通过 LCD 显示车费数目。 本款出租车计价器包括单价输出、单价调整、显示当前的系统时间等功能。 另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。 一个月 来,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工 作,取得了一些成 绩,同时也遇到了一些问题,存在一些不足。 经过这一 个月的学习,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。 这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。 通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。 经过单元设计和系统设计巩固了以前所学的专业知识,自己 真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。 通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。 这在以前的学习过程中是不曾学到的。 这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。 另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。 参考文献 1. 李广弟 ,朱月秀 ,冷祖祁 .单片机基础 [M].第 3版 .北京航空航天大学出版社,2020 2. 李华 .MCS51系列单片机实用接口技术 [M].北京航空航天大学出版社 ,1996 3. 李群芳,肖看 .单片机原理接口与应用 .北京:清华大学出版社, 2020 4. 朱承高 .电工及电子技术手册 [M].北京:高等教育出版社, 1990 5. 高峰 .单片微型应用系统设计及实用技术 .北京:机械工业出版社, 2020 6. 胡辉,单片机原理及应用设计 — 21 世纪高等院校规划教材 [M],水利水电出版社, 7. 刘守义,单片机应用技术 [M],西安:西安电子科技大学出版社, 1996 XXXXXXXXX 大学 课程设计说明书 16 附 录 一 . 源程序 include define uchar unsigned char define uint unsigned int sbit rw=P2^1。 //读或写 sbit rs=P2^0。 // sbit en=P2^2。 //读写时能控制端 sbit b=P0^7。 //液晶判断忙标志位 void lcd_init()。 // void wr_(uchar mand)。 //液晶写命令 void wr_data(uchar data0)。 //写数据 void lcd_clear()。 //液晶清屏 void lcd_set()。 //设置液晶的起始位置 void busy()。 //液晶判忙函数 void display()。 //显示 void printstring(uchar *s)。 //直接写字符 void display1()。 void key1()。 sbit K=P1^0。 sbit K1=P1^1。 sbit K2=P1^2。 sbit K3=P1^3。 sbit K4=P1^4。 sbit g=P2^7。 sbit aa=P2^3。 sbit bb=P2^4。 sbit cc=P2^5。 sbit led_run=P3^0。 sbit led_await=P3^1。 sbit led_stop=P3^2。 bit f_start。 //开始标志位 bit jump_in。 //跳入开始标志位 bit jump_out。 //跳出标志位 void key()。 uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x70}。 //字符 1, 2, 3,,, 0 uchar dispbuf[]={0,0,0,0,0。单片机原理与接口技术课程设计-基于单片机的出租车计价器的设计
相关推荐
00H,PFF。 非 0 分跳转。 MOV A,20H CJNE A,00H,PFF。 非 0 分 0 秒情况跳转。 调用判断有无按下子程序 有键按下吗 ? 调用确定键值子程序 执行所按键的相应功能子程序 返回 N Y 11 CLR TR0。 比赛结束停止计时。 MOV 20H,00H MOV 21H,00H MOV 32H,00H MOV 33H,00H LCALL MINGYIN MOV
kgmV 3)( 理论 c)实际所需空气量为: 理论实际 nn )( 式中: — 空气过量系数。 代入数据得: kgm o lnn 0 5 7 0 9)( 理论实际 第 5 页 即 : kgmV 3)( 实际空气 d)燃用 1kg该煤产生的烟气量中: ① 含有的水量为: m olnoh )( 2 ② 含有的 2CO 量为: moln CO 60)(2
用于公司开发的所有定制半定制软件。 . 职责 ( 1) 项目管理部是国际合作项目合同评审的责任部门。 ( 2) 开发部门将获得的用户需求信息和招标信息通知项目管理部,并对其进行分析,从中挑选适合的项目。 ( 3) 由项目管理部组织开发人员进行合同的准备工作,并进行估价。 ( 4) 估价书须经开发部门部长审查和负责开发的副总经理批准。 ( 1) 商务部是国内软件开发合同评审的责任部门。 ( 2)
DD 附: ( 2)数据元素词条描述 数据元素名: 类型:数字(离散值,连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构: DD 附: ( 3)数据文件词条描述 数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率: DD 附: 4)源点及汇 (终 )点词条描述 名称:外部实体名 简要描述:什么外部实