微机原理与接口技术实验报告,可编程定时器/计数器(8253)
2025/11/4 13:44:03 47KB 8253 定时器 计数器
1
方案是输入信号时,运用继电器开关来控制电阻电路的通断,当74ls160计数器接收到上升沿电平出发的时候,74ls160计数器转换成两个4位BCD码来控制NPN放大电路,使继电器有足够的电流工作,进而使8路电阻通断状态,实现电压的放大效果。
在NPN放大电路为了使得集电极反偏,电路并联一个LED灯显示继电器的通断状态计数器输出的状态同时使得NPN工作在放大区。
当74ls160计数器电路,输出的BCD码为01010010时,控制NPNQ2、Q4、Q7工作在放大区,实现继电器R2、R4、R7导通,电路并联的电阻为2.5k、10k、50k根据计算公式算的放大倍数是52,与BCD码的转换一致。
377KB 模电设计
1
30秒倒计时计数器multisim仿真!
2025/10/21 17:13:49 277KB 30秒 倒计时
1
微机原理与接口技术课程的课程设计,题目是模拟计数器运算,内含实验报告,源程序代码,保证能用。
2025/10/13 18:51:37 104KB 微机原理
1
基于视频的车辆计数系统,使用Python/OpenCV构建
2025/10/4 11:57:23 1.05MB Python开发-机器学习
1
一本书的页码从自然数1开始顺序编码直到自然数n。
书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。
例如,第6页用数字6表示,而不是06或006等。
数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,…,9。
1
配送一个自己写的串口驱动程序用DMA接收数据接收完会产生一个空闲中断由此可判断接收完一个包的数据再配送一个我自己写的动态内存管理跟ESP8266的驱动在项目中测试460800的波特率30kb一秒的数据接收一包1024个字节每包需要应答15字节的情况下AT指令处理是使用多个缓冲级来处理模块发送过来的数据分别有模块应答缓冲级跟等待应答的缓冲级、被忽略的AT指令集的缓冲级(例如注册一个SENDOK\r\n则模块应答此条指令立刻清除缓冲级释放内存无需等待超时直接忽略)还有需要回调的缓冲级(则出现此指令调用回调函数)都是通过注册的方式来实现如果出现一包跟指令被分到一个包内AT处理函数一样可以搜索到AT指令使用strstr函数来实现函数的缓冲级都是指针不占用内存使用动态内存管理的方式有数据则创建内存放入数据作为一个缓冲级如果模块应答的数据在规定的时间内没有响应则删除此缓冲级函数前都有注释介绍下面介绍一些常用的函数:at_init初始化一些变量已经串口at_time_task使用定时器回调1毫秒回调一次用来计数超时的指令缓冲&等待超时的计数at_clear_all在模块开机的时候可能会有很多乱数据可以在初始化完毕后使用此函数清除所有缓冲级释放所有内存at_processing处理AT的应答超时的指令(做删除释放内存的动作),还有处理等待的AT指令此函数一定要不断循环处理可以加入到定时器目前我实验是在UCOS上的所以直接创建个任务来执行此函数当程序在等待某个AT指令的时候此函数会寻找接收的缓冲级是否有等待的AT指令at_cmd_cb_hand回调处理函数如果接收缓冲级出现某个已经注册的指令则回调注册时所填写的函数地址at_send_cmd发送一个AT指令可以用跟printf一样使用%d等等at_send_data发送数据的时候所使用需要填写长度at_cmd_ignore_register注册一个被忽略的AT指令带入参数*s(例如填写一个"SENDOK"则模块应答的此条指令直接被忽略释放内存被忽略之前会检查此缓冲级会不会带有别的AT指令需要回调的)at_cmd_ignore_cancel取消被忽略的指令则取消已经注册的被忽略的AT指令at_cmd_cb_registerAT指令的回调注册例如参数填写"+IPD",函数名a则出现+IPD的时候回调a函数a函数有类型在at.h文件里面有at_cmd_cb_cancel注销回调你懂得at_wait_cmd等待一个AT指令集或者超时则立刻返回等待途中会不断调用OS的延迟程序让系统能有时间去执行其他任务使用方法例如{at_send_cmd("AT+UART=%u,%u,%u,%u,%u\r\n",baudrate,databit,stopbit,parity,flow_control);return(esp_error)at_wait_cmd("\r\nOK\r\n",2000,NULL);}at_errorat_wait2_cmd(char*s,char*s2,u16timeout,u8*index)此函数是等待两个AT指令集如果出现一个则立刻返回返回值h文件有介绍AT_DONE则出现此条指令index参数则提取应答的缓冲首地址使用at_buf_get函数获取首地址使用完后要调用at_free_buf来清除并释放这个缓冲级at_buf_len_get查询此应答的缓冲级长度如果在index填写NULL则不需要缓冲级首地址直接清除释放缓冲级
1
算法分析基础——Fibonacci序列问题分治法在数值问题中的应用——最近点对问题减治法在组合问题中的应用——8枚硬币问题变治法在排序问题中的应用——堆排序问题动态规划法在图问题中的应用——全源最短路径问题3.实验要求(1)实现Floyd算法;
(2)算法的输入可以手动输入,也可以自动生成;
(3)算法不仅要输出从每个顶点到其他所有顶点之间的最短路径,还有输出最短路径的长度;
(4)设计一个权重为负的图或有向图的例子,对于它,Floyd算法不能输出正确的结果3.实验要求1)设计与实现堆排序算法;
2)待排序的数据可以手工输入(通常规模比较小,10个数据左右),用以检测程序的正确性;
也可以计算机随机生成(通常规模比较大,1500-3000个数据左右),用以检验(用计数法)堆排序算法的时间效率3.实验要求1)设计减治算法实现8枚硬币问题;
2)设计实验程序,考察用减治技术设计的算法是否高效;
3)扩展算法,使之能处理n枚硬币中有一枚假币的问题。
3.实验要求1)使用教材2.5节中介绍的迭代算法Fib(n),找出最大的n,使得第n个Fibonacci数不超过计算机所能表示的最大整数,并给出具体的执行时间;
2)对于要求1),使用教材2.5节中介绍的递归算法F(n)进行计算,同样给出具体的执行时间,并同1)的执行时间进行比较;
3)对于输入同样的非负整数n,比较上述两种算法基本操作的执行次数;
4)对1)中的迭代算法进行改进,使得改进后的迭代算法其空间复杂度为Θ(1);
5)设计可供用户选择算法的交互式菜单(放在相应的主菜单下)
1
EDA技术在电子系统设计领域越来越普及,本设计主要利用VHDL语言在EDA平台上设计一个电子数字钟,它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。
总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数和设置程序模块、比较器程序模块、三输入数据选择器程序模块、译码显示程序模块和拼接程序模块。
并且使用QuartusII软件进行电路波形仿真,下载到EDA实验箱进行验证。
该设计采用自顶向下、混合输入方式(原理图输入—顶层文件连接和VHDL语言输入—各模块程序设计)实现数字钟的设计、下载和调试。
2025/9/21 15:19:19 528KB FPGA,数字钟
1
一实验目的使用proteus来实现年,月,日,时,分,秒计时的计数器,且各位均可调节二实验设计思路主体上利用74LS160十进制计数器(特点:同步load异步清零)搭建,在年月日时分秒个个部分实现同步计数,各部分之间进行异步进位。
2025/9/19 17:03:33 198KB ee
1
共 528 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡