单片机实训报告——简易计算器姓名姓名学号实训设计

单片机课程设计报告简易计算器单片机实训报告———简易计算器姓名学号专业学校指导教师实训时间***************要.............................

为了理解和学习计算器,本次培训设计制作了一个简易计算器,可以进行五位数计算范围内的“+”、“-”、“*”、“/”等基本运算,可以执行负数。 显示精确的结果。 该计算器以AT89C51单片机芯片为核心。 显示采用LCD1602工业字符液晶。 完成的计算器经验证能够完全实现预设功能,各项细节完善,具有较高的使用价值。 关键词:单片机; 简单的计算器; AT89C51; LCD16021.1主要功能设计由矩阵键盘和LCD1602工业字符型液晶显示器组成,其内部由一个1.2任务目的详细了解单片机的应用知识。 2 总体设计方案 2.1 方案论证 该计算器电路包括三部分:显示电路、4*4按键扫描电路、单片机电路LCD1602。 作为一个成熟的产品,它使用方便,模式固定,很容易移植到各种类型的程序上。 但初学者往往需要注意结合LCD本身的时序图来完善初始化程序。 它还具有微功耗、体积小、显示内容丰富、超薄轻量等诸多优点。 (2)4*4键盘扫描电路向键盘上的某一行发送低电平,向其他行发送高电平,然后读取该列。 价值。 如果其中一列值为低,则表示低电平对应的行中的按键被按下; 否则,可以根据读取的值组合查找表1中的关键代码。 由于编程方式的原因,本次训练采用逐行扫描的方式读取键值,方便了程序的编写。

(3)单片机单片机电路:单片机电路以AT89C51为核心为控制核心。 主要注意晶振电路的连接方法和复位电路的连接方法。 2.2 系统框图时钟电路芯片单片机系统复位电路系统框图在实训中,采用C 语言对单片机进行编程。 采用自下而上的设计方法。 每个模块(子程序)都是先设计好,然后慢慢扩展。 、程序的最终组成 3.1 总程序时序图 3.2 LCD 软件设计 (1)显示过程从 LCD 初始化开始,调用显示字 LCD (2)1602 LCD 时序图,通过时序图,所有编程问题都可以解决已解决 (3)从时序图可以写出液晶的初始化函数、功能设置函数、清屏函数、写指令函数、写数据函数。 voiddelay//用软件实现延迟,5个机器周期{}voidint1(){lcd_w_cmd(0x3c);lcd_w_cmd(0x0c);lcd_w_cmd(0x01);lcd_w_cmd(0x06);lcd_w_cmd(0x80);}unsignedcharlcd_r_start(){unsignedchars ; RW=1;delay1();RS=0;delay1();E=1;delay1();delay1();E=0;delay1();RW=0;//读状态字delay1(); return(s);}voidlcd_w_cmd(unsignedcharcom){unsignedcharg;g=lcd_r_start();g=g&0x80;delay(2);}while(g!=0);RW=0;delay1();RS=0;delay1 ();E=1;delay1();P1=com;delay1();E=0;delay1();RW=1;delay(255);}voidlcd_w_dat(unsignedchardat){unsignedcharg;g=lcd_r_start(); g=g&0x80;延迟(2);}while(g!=0);RW=0;延迟1();RS=1;延迟1();E=1;延迟1();P1=dat;延迟1(); E=0;delay1();RW=1;delay(255);}3.3 键盘输入软件设计 (1) 键盘输入程序运行时序图 (2) 键盘扫描程序 //写入命令字//写入数据 unsignedcharscan_key( ) {unsignedchari,temp,m,n,k;bitfind=0;P0=0xff;k=0x01;for(i=0;i9)}if(a2[i]

单片机

单片微控制器的组成与结构的最佳选择!

2024-2-9 5:01:10

单片机

基于stm32单片机的建筑火灾报警系统设计的论文题目查重率高吗

2024-2-9 6:02:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索