硬件设计:采用Proteus进行电路原理图设计与仿真1)单片机选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASHROM,设计时无需外接程序存储器。
2)显示部分:南北向和东西向各采用2个LED数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。
3)键盘部分:设置键、增加键、减少键。
本系统的工作流程:1)系统启动后,系统按程序给定的时间工作,即东西向通行60秒,南北向通行40秒,黄灯亮4秒,工作模式如表1所示。
首先东西向通行,然后南北向通行,如此循环。
2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用设置键、增加键、减少键”进行设置。
第一次按“设置键”时,东西向的绿灯亮,东西向的LED数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和南北向的LED数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间,每按一次键,数码管的显示时间增加1秒或减少1秒,长按键(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。
第二次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和南北向的数码管熄灭,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。
第三次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向绿灯的通行时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向绿灯的通行时间。
第四次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。
第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且东西向先通行,南北向后通行软件设计:采用KeilC开发环境与语言1)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块:主程序:初始化及键盘监控。
计时程序模块:为定时器的中断服务子程序。
显示程序模块:完成12个发光二极管和4个LED数码管的显示驱动。
键盘扫描程序模块:判断是否有键按下,并求取键号。
键处理程序模块:分别是“设置键”、“增加键”、“减少键”的处理子程序。
1
免费的doc操作jar(内部jar包)
2025/4/27 18:08:57 27.65MB java word
1
1、哪种CPU调度算法的平均等待时间最短(B)(A)非抢占型(non-preemptive)SJF(B)抢占型(preemptive)SJF(C)FCFS(D)RR2、外部碎片说法正确的是(C)(A)相对于内部碎片,外部碎片在操作系统内核之外。
(B)内部碎片可以合并而外部碎片不行。
(C)相对于内部碎片,外部碎片在进程之外。
(D)是由不连续分配方案导致的空间浪费问题。
3、关于管程(monitor),下列哪一个说法不正确?(B)(A)管程需要编程语言的支持才能实现。
(B)管程不能用信号量来实现。
(C)Java编程语言部分支持管程。
(D)任何时刻只能有一个进程在管程中运行。
2025/4/26 22:15:07 158KB 操作系统
1
第一部分Python语言第1章Python简介1.1运行Python1.2变量和算术表达式1.3条件语句1.4文件输入和输出1.5字符串1.6列表1.7元组1.8集合1.9字典1.10迭代与循环1.11函数1.12生成器1.13协程1.14对象与类1.15异常1.16模块1.17获得帮助第2章词汇和语法约定2.1行结构和缩进2.2标识符和保留字2.3数字字面量2.4.字符串字面量2.5容器2.6运算符、分隔符及特殊符号2.7文档字符串2.8装饰器2.9源代码编码第3章类型与对象3.1术语3.2对象的身份与类型3.3引用计数与垃圾收集3.4引用与复制3.5第一类对象3.6表示数据的内置类型3.6.1None类型3.6.2数字类型3.6.3序列类型3.6.4映射类型3.6.5集合类型3.7表示程序结构的内置类型3.7.1可调用类型3.7.2类、类型与实例3.7.3模块3.8解释器内部使用的内置类型3.8.1代码对象3.8.2帧对象3.8.3跟踪对象3.8.4生成器对象3.8.5切片对象3.8.6Ellipsis对象3.9对象行为与特殊方法3.9.1对象的创建与销毁3.9.2对象字符串表示3.9.3对象比较与排序3.9.4类型检查3.9.5属性访问3.9.6属性包装与描述符3.9.7序列与映射方法3.9.8迭代3.9.9数学操作3.9.10可调用接口3.9.11上下文管理协议3.9.12对象检查与dir()第4章运算符与表达式4.1数字操作4.2序列操作4.3字符串格式化4.4高级字符串格式化4.5字典操作4.6集合操作4.7增量赋值4.8属性(.)运算符4.9函数调用()运算符4.10转换函数4.11布尔表达式与真值4.12对象的比较与身份4.13运算优先级4.14条件表达式第5章程序结构与控制流5.1程序结构与执行5.2执行条件语句5.3循环与迭代5.4异常5.4.1内置异常5.4.2定义新异常5.5上下文管理器与with语句5.6断言与__debug__第6章函数与函数编程6.1函数6.2参数传递与返回值6.3作用域规则6.4函数对象与闭包6.5装饰器6.6生成器与yield6.7协程与yield表达式6.8使用生成器与协程6.9列表包含6.10生成器表达式6.11声明式编程6.12lambda运算符6.13递归6.14文档字符串6.15函数属性6.16eval()、exec()和compile()函数第7章类与面向对象编程7.1class语句7.2类实例7.3范围规则7.4继承7.5多态动态绑定和鸭子类型7.6静态方法和类方法7.7特性7.8描述符7.9数据封装和私有属性7.10对象内存管理7.11对象表示和属性绑定7.12__slots__7.13运算符重载7.14类型和类成员测试7.15抽象基类7.16元类7.17类装饰器第8章模块、包与分发8.1模块与import语句8.2从模块导入选定符号8.3以主程序的形式执行8.4模块搜索路径8.5模块加载和编译8.6模块重新加载和卸载8.7包8.8分发Python程序和库8.9安装第三方库第9章输入与输出9.1读取命令行选项9.2环境变量9.3文件和文件对象9.4标准输入、输出和错误9.5print语句9.6print()函数9.7文本输出中的变量插入9.8生成输出9.9Unicode字符串处理9.10UnicodeI/O9.10.1Unicode数据编码9.10.2Unicode字符特性9.11对象持久性与pickle模块第10章执行环境10.1解释器选项与环境10.2交互式会话10.3启动python应用程序10.4站点配置文件10.5用户站点包10.6启用新功能10.7程序终止第11章测试、调试、探查与调优11.1文档字符串和doctest模块11.2单元测试和unittest模块11.3Python调试器和pdb模块11.3.1调试器命令11.3.2从命令行进行调试11.3.3配置调试器11.4程序探查11.5
2025/4/25 17:28:21 26.74MB python django web 参考
1
最近搜索了些在内存中转换图片格式的东西,比如截屏后的bmp图片在内存中转为jpg数据流,你可以通过socket发送这段jpg内存数据流,同时,你也可以通过内存数据流逆转换。
通过DibFile.h里面的两个函数完成(用的是Gdi+库):Bitmap*CreateBitmapFromMemory(constvoid*buf,size_tsize);void*SaveBitmapToMemory(Bitmap*image,void**outbuf,size_t*size,size_tCodecIndex=0,ULONGquality=50);说明:CodecIndex取值0-4,分别对应转换为jpg、bmp、gif、png、tiff格式,当为0时,参数quality有用,表示转换jpg的质量,取值0-100,数值越小,压缩比越大。
注意:outbuf为指针的指针,会在内部malloc内存,以保存转换后的图片数据流。
虽然此软件中没用到这两个函数,但是测试通过。
你可以进行如下测试:把jpg图片以二进制数据读到内存中,然后通过CreateBitmapFromMemory函数构建Bitmap,然后再SaveBitmapToMemory转换为另一段内存中,把这段内存以二进制数据存入文件,并用其他看图软件打开保存后的图片。
其他说明:此软件在先前版本的基础上修正两处Bug:1.保存图片时,若文件名含有点,会保存失败;
2.若在浏览图片时,另存图片后,滚动滚轮显示未知格式图片。
加入一个功能:保存为jpg图片时,可以选择图片质量。
有问题联系:hastings1986@163.com
1
TPS54160,正负电压板,内部包含了原理图,PCB,经测试,可以使用
2025/4/24 13:36:40 861KB 正负电压 TPS54160 原理图,PCB
1
网络安全-内部资料
2025/4/23 4:57:22 5.06MB 网络安全-内部资料
1
该工程主要实现STM32控制器内部DAC(PA4引脚)输出工程演示,在开发板上已运行通过,
2025/4/22 3:10:05 3.98MB STM32 DAC
1
DevOps流程介绍DevOps企业文化
2025/4/22 2:48:11 36.71MB DevOps scrum 开发 产品
1
零信任架构(ZTA)是一种基于零信任原则的企业网络安全架构,旨在防止数据泄露和限制内部横向移动。
本文不仅提供了ZTA的定义、逻辑组件、可能的部署场景和威胁,还为希望迁移到网络基础架构的零信任网络架构设计方法的组织提供了一个总体路线图,并讨论了可能影响零信任架构的相关联邦政策。
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡