利用汇编语言实现一个可以在显示器上显示时、分、秒的电子时钟,并能提供整点报时功能。
基本要求:(1)设计一个基本的具有显示时、分、秒的电子时钟。
(2)到整点或预定的报警时间,能够以不同的音乐进行报时,可以自行设置闹钟报警时间;
(3)实物演示时要求讲出程序原理和设计思想;
(4)程序运行良好、界面清晰。
提高要求:设计一个具有钟面、分针、秒针的指针式钟表,在圆盘上有均匀分布的60根刻度,对应小时的刻度用不同颜色的长刻度区别,并且将12、3、6、9对应的拉丁文绘制于表盘外。
设计提示:(1)指针式钟表的绘制。
将屏幕设置成图形显示方式,通过画点、画线,画圆等基本程序完成钟表的绘制。
表盘圆周上刻度线段两端点坐标计算是钟表绘制的核心部分。
(2)秒针、分针、时针的转动。
是经过一定的延时时间,通过在下一位置重新画一个,在原来的位置用背景色覆盖的方法实现。
(3)音乐的演奏。
利用CPU支持的外围电路8254与8255,通过汇编程序改变8255的PB0,PB1口,接通扬声器,使得计算机能够发出一定频率的声音,同时通过8254的与8255连接的2号计数器控制指定频率,从而达到控制扬声器的音乐的效果。
通过建立适当的延时程序达到一定时间后则改变2号计数器产生的方波的频率,实现音乐程序的演奏。
二、需求和思路分析经分析本次程序设计的主要内容主要分为如下的几个模块:当前时间的获取并显示,码制转换,设定闹钟报鸣的时间,不同频率的闹铃声,钟表的绘制和并实现动态等模块。
其中钟表的绘制和动态走动部分比较难是本次课程设计的提高部分,且改模块可单独形成一个模块,所以放到最后进行考虑1时间的获取可以用INT21H的2CH功能,该功能调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在,保存的形式是以二进制的形式,故显示时要2码制转化利用ASCII码与二进制码的关系ASCII=二进制+30H3闹钟鸣叫主要利用8254的二号计数器和8255的PB0和PB1来设定4闹钟的表盘,指针的绘制,并实现时针,分针,秒针的走动。
主要通过过图形的画点进行操作,并通过在固定的区域内不断的刷屏来实现
2023/12/24 13:58:35 305KB 实验报告
1
intmain(void){u16t;u16len;u16times=0;delay_init();//延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(115200);//串口初始化为115200LED_Init();//LED端口初始化KEY_Init();//初始化与按键连接的硬件接口while(1){if(USART_RX_STA&0x8000;){len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度printf("\r\n您发送的消息为:\r\n\r\n");for(t=0;t<len;t++){USART_SendData(USART1,USART_RX_BUF[t]);//向串口1发送数据while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束}printf("\r\n\r\n");//插入换行USART_RX_STA=0;}else{times++;if(times0==0)printf("请输入数据,以回车键结束\n");if(times0==0)LED0=!LED0;//闪烁LED,提示系统正在运行.delay_ms(10);}}}
2023/12/16 20:02:36 1.99MB STM32 UART
1
可以实现延时关机和定时关机,界面友好,有源代码
2023/12/14 1:07:09 137KB 定时关机 shutdown mfc MFC
1
非常好用的秒表,可用于用于测试延时,0.001秒,实时显示
2023/12/11 20:17:02 176KB 秒表
1
本文为解决在城市轨道交通实际环境中无线传感器网络能耗不均、数据延迟和冗余等问题,通过设计并采用基于链式的分簇路由(LP)协议,并结合在NS2环境下对该无线传感器网络进行虚拟仿真,从网络能量的消耗、网络延迟以及汇聚节点接收到的数据量三个角度进行对比分析;
得到实验结论,相对于分簇路由协议和链状路由协议网络,LP协议的网络延时降低了70%,网络能耗降低了50%,汇聚节点接收到的数据量提高了10%。
LP协议有效地延长了网络的生命周期并且节省了网络的能耗,十分适合城市轨道交通这一特殊领域,达到了预期目的。
1
基本功能:1:支持16进制数据发送与接收。
2:支持windows下COM9以上的串口通信。
3:自动加载对应操作系统串口号。
4:实时显示收发数据字节大小以及串口状态。
高级功能:1:可自由管理需要发送的数据,每次只要从下拉框中选择数据即可,无需重新输入数据。
2:可模拟设备回复数据,需要在主界面开启模拟设备回复数据。
当接收到设置好的指令时,立即回复设置的回复指令。
例如指定收到0x160x000xFF0x01需要回复0x160x000xFE0x01,则只需要在SendData.txt中添加一条数据1600FF01:1600FE01即可。
3:可定时发送数据和保存数据到文本文件:,默认间隔5秒钟,可更改间隔时间。
4:在不断接收到大量数据时,可以暂停显示数据来查看具体数据,后台依然接收数据但不处理,无需关闭串口来查看已接收到的数据。
5:每次收到的数据都是完整的一条数据,而不是脱节的,做了延时处理。
2023/11/11 13:44:50 5.26MB 串口设备 调试工具
1
跑马灯:前面板:水平指针滑动杆——用于调节彩灯间的延时时间。
指示灯——用以显示程序运行结果。
开关——用于结束当前操作。
程序框图:本程序主要用到平铺式顺序结构和层叠式顺序结构顺序执行程序语句,用真假常量来控制灯亮与不亮。
本程序还用到了while循环和for循环,循环是用于达到闪烁和同步递进循环,整个程序几乎每一帧都用到了延时,单位是毫秒,延时的目地是使本程序更具有可观性,特别效果:单个流水闪烁·双路同步流水闪烁·四路同步流水闪烁·全体同步闪烁谢谢老师的观赏!
2023/11/8 11:35:52 408KB 跑马灯
1
更新说明:v3.0版本更新1、增加超级终端模式,可像超级终端一样显示和发送数据2、超级终端支持'\r'、'\b'特殊字符3、增加流控制和RTS、DTR信号控制,兼容部分不识别的串口转USB驱动4、普通模式可鼠标调整发送区和接收区大小5、增加接收区字体设置功能6、优化数据显示和发送显示v2.1版本更新1、串口端口下拉时重新搜索串口号,有插拔USB串口是不必重新关闭程序v2.0版本更新1、修复在大量数据时接收不全的BUGv1.0版本1、字符串与十六进制的相互转换和十六进制与十进制的相互转换以及十进制与字符串转换。
2、接收区可显示汉字。
3、可设置一次性发送数据包长度。
4、可以通过计数清零按钮对RX和TX计数同时清零,也可以通过鼠标双击分别清零。
5、文本框右键菜单有撤消、剪切、复制、粘贴、删除、全选以及进制转换功能。
6、接收显示相应速度快,几乎无延时。
7、气泡提示功能。
8、按十六进制发送、十六进制和十进制转换成其它进制数据间相隔的多个空格可智能识别。
9、保存文件功能强大,可保存为不同格式的文件。
10、打开文件如果是文本文件则直接显示到发送区,如果是其它文件则以十六进制显示到发送区。
2023/11/6 4:31:48 27KB 串口 超级终端 串口助手 串口调试
1
MmTimer是一个多媒体定时器的C#简单封装。
使用这个定时器,你可以得到1ms精度的单次延时或周期定时。
最初是想用来做播放midi文件的时钟,当然你也可以用它来做任何它能做到的事情。
2023/11/3 13:36:58 3KB 多媒体定时器 C#
1
VC++默认的定时器,好像精度不大,秒内的不错,但是如果精确到毫秒(ms),不行,如果使用媒体定时器,multimediatimer,则效果显著,基本上精确到毫秒吧,一般的10ms之类的延时,应该可以保证了。
如何使用呢?网上有例子,但没有完整的,大部分只是介绍,因此我根据网上的代码实现了一下,使用MFC实现,可以在下面的链接下载下来学习与研究。
2023/10/29 4:33:44 90KB VC++ 媒体定时器 MFC
1
共 202 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡