【Python】关键字

1、yield

在yied出进行返回, 下次调用yield时会继续当前位置进行

def foo():
    print("test yield...")
    while True:
        res = yield 4
        print("res:{}".format(res))

g = foo()
print(next(g))
print("-*-"*20)
print(g.send(9))
print(next(g))

输出:

test yield...
4
-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-
res:9
4
res:None
4

2.next()

next(iterobject,default)迭代器

it = iter([1,2,3,4,5])
def foo_next():
    while True:
        try:
            x = next(it)
            print("x:{}".format(x))
        except StopIteration:
            break

foo_next()

输出:

x:1
x:2
x:3
x:4
x:5

 

摘要 近些年以单片机为核心的技术发展很快,现在它被广泛的应用于与我们生活相关的各 个领域中,如电子、通信、科技、工业等,其中电子产品的更新速度更为迅猛。计算器 是日常生活中比较常见的电子产品之一,怎样才能使计算器技术更加的成熟、简单,充 分利用已有的硬件和软件条件,设计出更简易的计算器。 本设计是以AT89C51单片机为核心的简易计算器设计,输入采用4*4矩阵键盘,可以进 行加、减、乘、除带符号数字运算(八位整数),并在液晶显示屏LCD1602上静态显示操 作的过程及结果。软件用C语言编程、Keil uVision2和pretues仿真。 关键词:单片机;计算器;液晶显示屏;矩阵键盘 Abstract In recent years, the microcontroller as the core technology is developing very fast, now it is widely used in various fields related with our life, such as electronics, communications, science and technology, industry and so on, and the update speed of electronic product is more rapid. The calculator is the one of common electronic products in our daily life, how to make the computer technology more mature and simple and to make full use of the existing hardware and software conditions to design a simple calculator. The design is based on the AT89C51single-chip microcomputer as the core of a simple calculator design, using 4*4matrix keyboard input, you can add, subtract, multiplication, except the symbol digit operation ( eight integers ), and static display operation process and result in the LCD1602 screen LCD. The Software programming use C language, Keil uVision2 and pretues simulation. Key words: single chip microcomputer; calculator; LCD screen; keyboard matrix 目录 引言 1 第一章 设计原理及要求 2 1.1 设计方案的确定 2 1.2 系统的设计方案 2 1.3 系统的设计要求 2 第二章 硬件模块设计 4 2.1 单片机AT89C51 4 2.1.1 AT89C51芯片的特点 5 2.1.2 管脚说明 5 2.1.3 振荡器特性 7 2.1.4 芯片擦除 7 2.2 键盘控制模块 7 2.2.1 矩阵键盘的工作原理 8 2.2.2 键盘电路主要器件介绍 8 2.3 LCD显示模块 10 2.3.1 显示电路 11 2.3.2 LCD1602主要技术参数 11 2.3.3 引脚功能说明 11 2.4 运算模块(单片机控制) 12 第三章 软件设计 14 3.1 功能介绍 14 3.2系统流程图 14 3.3 程序 16 第四章 系统调试 17 4.1软件介绍 17 4.1.1 Keil uVision2仿真软件简介 17 4.1.2 protues简介 17 4.2 软件调试 18 4.2.1 软件分析及常见故障 19 4.2.2 仿真结果演示 20 4.3 硬件调试 21 结束语 23 参考文献 24 附录 25 致谢 36 引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹 。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布 袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一 项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔 算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、 【基于单片机的简易计算器设计】 随着科技的飞速发展,单片机技术在电子、通信、科技和工业等领域中的应用越来越广泛。计算器作为日常生活中的常见电子设备,其技术也在不断演进,追求更简单、更高效的设计。本文将详细介绍一款基于AT89C51单片机的简易计算器设计,包括硬件模块和软件设计,以及系统的调试过程。 **一、设计原理及要求** 1.1 设计方案的确定:本设计以AT89C51单片机为核心,构建一个能够进行基本算术运算(加、减、乘、除)的计算器。输入设备采用4*4矩阵键盘,输出设备为液晶显示屏LCD1602,用于实时显示操作过程和结果。 1.2 系统设计方案:计算器的运算逻辑由单片机处理,通过键盘接收用户输入,然后在LCD屏幕上动态显示运算过程。系统需要实现带符号的八位整数运算。 1.3 系统设计要求:系统应具备稳定性和可靠性,操作界面友好,运算速度快,且易于维护和扩展。 **二、硬件模块设计** 2.1 单片机AT89C51 - AT89C51特点:这款单片机拥有8K字节的可编程ROM,128字节的RAM,32个I/O端口,四个并行端口,以及一个高速的CPU。 - 管脚说明:AT89C51的管脚包括电源、地线、时钟输入、复位、输入/输出端口等,它们共同构成了单片机的基本接口。 - 振荡器特性:单片机的时钟频率决定了其运行速度,通过外接晶体振荡器或陶瓷谐振器来设定。 - 芯片擦除:通常使用紫外线照射或专用编程器进行芯片内容的擦除和重新编程。 2.2 键盘控制模块 - 矩阵键盘工作原理:通过行列扫描方式检测按键状态,减少硬件资源消耗。 - 键盘电路主要器件:包括电阻、电容和按键开关,用于形成矩阵结构并进行信号处理。 2.3 LCD显示模块 - 显示电路:连接单片机和LCD1602模块,实现数据显示。 - LCD1602主要技术参数:16字符×2行显示,每个字符5x7点阵,支持ASCII码。 - 引脚功能:包括数据线、控制线、背光电源等,用于与单片机进行数据交互和控制显示。 2.4 运算模块(单片机控制):单片机根据接收到的键盘输入执行相应的运算指令,并将结果显示在LCD上。 **三、软件设计** 3.1 功能介绍:软件部分主要负责解析键盘输入,执行运算,以及驱动LCD显示。程序采用C语言编写,利用Keil uVision2进行编译和调试,Pretues软件进行仿真验证。 3.2 系统流程图:流程图描绘了从键盘输入到运算再到屏幕显示的整体步骤,包括按键识别、运算处理和数据显示。 3.3 程序:程序主要包括初始化、主循环、按键处理函数、运算函数和显示函数等。 **四、系统调试** 4.1 软件介绍 - Keil uVision2仿真软件:提供C语言编程环境,支持单片机代码的编译、调试和仿真。 - Protues:电路虚拟仿真工具,可模拟硬件环境,辅助软件调试。 4.2 软件调试:通过Keil uVision2进行代码的语法检查、编译和链接,确保无误后,通过Pretues进行硬件模拟,检查程序逻辑是否正确。 4.3 硬件调试:实际硬件组装完成后,进行功能测试,确保键盘输入、运算处理和显示功能均能正常工作。 **结束语** 基于单片机的简易计算器设计展示了如何利用现有硬件和软件资源实现一个实用的计算工具。通过深入理解单片机的工作原理,以及熟练掌握C语言编程,可以设计出更多功能丰富的嵌入式系统。 参考文献 [省略] 附录 [省略] 致谢 [省略]。内容来源于网络分享,如有侵权请联系我删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值