6.模拟风扇(满分50分)版本1:满分15分模拟实现电风扇,可以调3档速度(慢速、中速、快速);
开关按钮;
定时吹风;
描述风扇的扇叶大小、颜色等。
设计Fan类,属性包括:3个常量SLOW(1)、MEDIUM(2)、FAST(3)代表风扇的速度;
1个int属性speed指定速度,默认值为SLOW;
1个boolean属性on指定开关机,默认值false;
1个double属性radius指定风扇扇叶大小;
1个String属性color指定扇叶颜色,默认值为blue。
方法包括这些属性的访问器、构造函数、重写Object类的toString()和equals()方法等。
运行测试代码:publicstaticvoidmain(String[]args){Fan1fan1=newFan1();fan1.setSpeed(Fan1.FAST);fan1.setRadius(10);fan1.setColor("yellow");fan1.setOn(true);System.out.println(fan1.toString());}版本2:满分15分修改版本1中Fan类,让其继承JPanel类,并且把color属性设置为Color类型,默认属性为red。
随机产生radius,取值范围为1-5;
随机产生颜色,取值范围为red、blue、yellow、green、orange;
根据color、radius属性值绘制风扇。
运行如下图:版本3:满分20分让版本2中的风扇转起来。
创建一个FanControl类包含以下内容:Start、Stop、Reverse按钮,用于开启、关闭、反转控制;
一个滚动条控制速度。
运行示例如下:
2025/11/12 18:12:44 17KB java程序 模拟风扇 课程设计 CQUT
1
废话不说了,下面进入正题,学习FPGA经历了这么几个阶段:①、Verilog语言的学习,熟悉Verilog语言的各种语法。
②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。
③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosIIIDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosIIC语言程序,调试板子各模块功能。
先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。
像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。
鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。
其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。
这里推荐几本评价比较好的学习Verilog的书籍:①、《verilog数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。
但本书对于资源优化方面的编程没有多少涉及到。
②、《设计与验证VerilogHDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。
学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。
Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。
刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。
我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。
利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。
这个时候我主要看的数据有这几本感觉比较好:①、《AlteraFPGA/CPLD设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,TimingClosureFloorplan,chipEditor等),对于入门非常好。
②、《AlteraFPGA/CPLD设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
2025/11/11 0:01:05 131.03MB FPGA 学习 文档 合集
1
题目:电子密码锁内容:设计一个4位串行数字锁1.开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。
否则进入“错误”状态,发出报警信号。
2.锁内的密码可调,且预置方便,保密性好。
3.串行数字锁的报警,直到按下复位开关,才停下。
此时,数字锁又自动等待下一个开锁状态。
2025/11/10 21:46:23 324KB FPGA密码锁
1
关于基于电压模式反馈开关电源设计的分析,通过一个实际的设计实例,并结合仿真,阐述了BUCKDCDC设计的原理和要点。
2025/11/9 9:24:07 3.66MB BUCK 反馈环路 电压模式
1
Multisim奇偶校验器电路图,0,1得控制采用下拉电阻开关,分数据发送端和接收端
2025/11/8 1:21:15 264KB Multisim
1
介绍KG(KeyGame)是一款精心设计的键盘练习游戏,适合新手、初级、中级到高级所有需要熟悉键盘的人使用。
具有以下特点:·一次只出现一个字母,便于集中注意力练习。
·由简单到复杂,循序渐进。
·对新级别熟悉到一定程度会自动穿插复习老级别。
·连续正确三次加一分,而错一次或到时间就扣一分。
对按键正确率要求较严。
功能键[CtrlS]音效开关[Space]暂停[Tab]升级[Esc]
2025/11/7 3:34:04 77KB 工具 程序员 键盘练习
1
5-16串锂电池BMS用前端芯片硬件保护功能-过充电保护功能-过放电保护功能-充电高温保护功能-充电低温保护功能-放电高温保护功能-放电低温保护功能-充放电过流保护功能-短路保护功能-二次过充电保护功能-断线保护功能内置平衡开关禁止低压电芯充电功能小电流检测功能支持乱序上下电内置看门狗模块模式设计
2025/11/6 8:33:49 2.26MB 309 SH3673
1
LW35灭弧室GWZP接头开关原理的动态演示
1
开关磁阻电机系统理论与控制技术,介绍了基本理论,电机设计,Matlab仿真
2025/11/3 6:56:16 17.57MB 开关磁阻电机 控制技术
1
微机接口技术实验报告微机接口技术实验报告是计算机科学和技术专业的实验报告,旨在掌握微机接口技术的基本原理和开发方法。
本实验报告涵盖了简单I/O口扩展实验和8255并行口实验两个部分。
一、简单I/O口扩展实验实验目的:1.熟悉74LS273和74LS244的应用接口方法。
2.掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
3.通过本实验,掌握嵌入式系统的基础开发方法,掌握本实验平台的基本开发步骤,熟悉开发软、硬件平台的使用,学会程序的单步调试运行。
实验设备:*CPU挂箱*8086CPU模块实验内容:1.逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
实验原理介绍:本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
实验步骤:1.实验接线:CS0?CS244;
CS1?CS273;
平推开关的输出K1~K8?IN0~IN7(对应连接);
00~07?LED1~LED8。
2.编辑程序,单步运行,调试程序3.调试通过后,全速运行程序,观看实验结果。
4.编写实验报告。
实验提示:74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
实验结果:程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
改进实验:提示:地址分配表如下:CS0片选信号,地址04A0~04AF偶地址有效CS1片选信号,地址04B0~04BF偶地址有效CS2片选信号,地址04C0~04CF偶地址有效CS3片选信号,地址04D0~04DF偶地址有效CS4片选信号,地址04E0~04EF偶地址有效CS5片选信号,地址04F0~04FF偶地址有效CS6片选信号,地址0000~01FF偶地址有效CS7片选信号,地址0200~03FF偶地址有效改变片选信号线的连接方式,如:CS3?CS244;
CS4?CS273;
请修改相应的程序实现上述方案中的功能。
二、8255并行口实验实验目的:掌握8255A的编程原理实验设备:*CPU挂箱*8086CPU模块实验内容:8255A的A口作为输入口,与逻辑电平开关相连。
8255A的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
实验原理介绍:本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
实验步骤:1.实验接线CS0?CS8255,PA0~PA7,平推开关的输出K1~K8,PB0~PB7?发光二极管的输入LDE1~LDE8。
2.编程并全速或单步运行3.全速运行时拨动开关,观察发光二极管的变化,当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。
实验提示:8255A是一种比较常用的并行接口芯片,其特点在许多教科书中均有介绍,8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。
实验中8255A工作基本输入输出方式(方式0)
2025/11/2 18:34:27 50KB
1
共 735 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡