利用汇编语言实现一个可以在显示器上显示时、分、秒的电子时钟,并能提供整点报时功能。
基本要求:(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
这是一个51单片机的双机通信汇编程序,已调试通过,有proteus仿真,有需要学习的可以分享一下!
2023/12/22 14:27:28 99KB 双机通信程序,仿真
1
花样灯由8个发光二极管构成。
正常情况下,花样灯正反向循环流水点亮,控制按键SW按下时,花样灯中的发光发光二极管交替点亮;
当SW断开后,花样灯恢复至正常状态。
2023/12/18 2:36:11 1KB 51单片机花样流水灯汇编
1
基于AT89C51的十字路口交通灯设计(proteus原理图、keil汇编程序)
2023/11/10 10:43:01 12.1MB 交通灯
1
开发xilinx的picoblaze的指导用书,对于开发picoblaze汇编程序有很好的指导意义。
2023/9/30 7:29:32 596KB pBlazeIDE
1
1、 ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。
其中用户模式属于非特权模式2、 ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T位反映了处理器运行不同指令的当前状态3、 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC,R13通常用来存储SP4、 ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构1. 下列不是嵌入式系统特点的是:A.系统内核小 B.专用性强 C.系统精简D.实时性要求不高2. 关于ARM汇编和C语言混合编程下列错误的是:A.C语言中可以直接嵌入某些汇编指令 B.C语言中可以调用汇编的子程序 C. 汇编程序中可以调用C语言的函数 D.C语言嵌入的汇编指令时,不可以使用C的变量3. 关于ATPCS规则,说法错误的是:A.只能使用R0-R3来传递参数 B.R13为堆栈指针SP,需要保护C.R14为连接寄存器,用于存放程序返回地址D.单字的返回值存放在R04. 关于交叉编译描述正确的是:A.编译器运行在目标机,生成的可执行文件在宿主机上运行B.编译器运行在宿主机,生成的可执行文件在宿主机上运行C.编译器运行在目标机,生成的可执行文件在目标机上运行D.编译器运行在宿主机,生成的可执行文件在目标机上运行5. 建立嵌入式Linux开发环境中,使用Bootp协议的直接目的是:A.分配宿主机的IP地址 B.分配目标机的IP地址C.用于宿主机和目标机之间通讯 D.用于监控目标机的运行。
2023/9/20 14:49:43 438KB 嵌入式 试卷 答案 复习
1
我编写的万年历汇编程序,带有闹钟和整点报时功能,以及闰年自动判断功能。
2023/9/19 9:57:01 12KB 万年历
1
PIC单片机仿真实例大全和PIC汇编程序库
2023/9/8 13:05:28 1.92MB PIC 汇编 子程序 仿真实例
1
微机原理与接口技术电子时钟课程设计汇编程序包括简单的电子计时功能,音频播放功能,歌曲播放功能,含报告(含程序和实物连接图)西安的一些大学可直接使用
2023/8/27 4:04:45 1.82MB 接口
1
目录诸论第1章TMS320C54x的结构原理1.1TMS320系列DSP芯片概述101.1.1TMS320系列DSP的分类及应用101.1.2TMS320C5000DSP平台111.2TMS320C54xDSP131.2.1TMS320C54x的主要特性131.2.2TMS320C54x的组成框图161.3总线结构181.4存储器191.4.1存储器空间分配201.4.2程序存储器231.4.3数据存储器241.5中央处理单元271.5.1算术逻辑运算单元281.5.2累加器A和B291.5.3桶形移位器311.5.4乘法器/加法器单元321.5.5比较、选择和存储单元331.5.6指数编码器341.5.7CPU状态和控制寄存器341.6数据寻址方式391.6.1立即寻址411.6.2绝对寻址411.6.3累加器寻址411.6.4直接寻址421.6.5间接寻址431.6.6存储器映像寄存器寻址461.6.7堆栈寻址471.7程序存储器地址生成方式481.7.1程序计数器491.7.2分支转移491.7.3调用与返回501.7.4条件操作511.7.5重复操作531.7.6复位操作541.7.7中断551.7.8省电方式591.8流水线601.8.1流水线操作601.8.2延迟分支转移621.8.3条件执行641.8.4双寻址存储器与流水线651.8.5单寻址存储器与流水线671.8.6流水线冲突和插入等待周期671.9在片外围电路711.9.1并行I/O口及通用I/O引脚711.9.2定时器721.9.3时钟发生器741.9.4主机接口781.10串行口831.10.1串行口概述831.10.2标准串行口841.11DMA控制器971.11.1DMA控制器的基本特性971.11.2子地址寻址方式971.11.3DMA通道优先级和使能控制寄存器1001.11.4DMA通道现场寄存器1021.11.5DMA编程举例1081.12外部总线1131.12.1外部总线接口1131.12.2外部总线操作的优先级别1141.12.3等待状态发生器1151.12.4分区切换逻辑1171.12.5外部总线接口定时图1181.12.6复位和IDLE3省电工作方式1201.13TMS320C54x引脚信号说明122第2章指令系统2.1指令的表示方法1302.1.1指令系统中的符号和略语1302.1.2指令系统中的记号和运算符1332.2指令系统1352.2.1指令系统概述1352.2.2指令系统分类135第3章汇编语言程序开发工具3.1TMS320C54x软件开发过程1373.2汇编语言程序的编写方法1393.3汇编语言程序的编辑、汇编和链接过程1413.4COFF的一般概念1433.4.1COFF文件中的段1433.4.2汇编器对段的处理1443.4.3链接器对段的处理1463.4.4COFF文件中的符号1483.5汇编1493.5.1运行汇编程序1493.5.2列表文件1513.5.3汇编命令1543.5.4宏定义和宏调用1543.6链接1563.6.1运行链接程序1563.6.2链接器选项1573.6.3链接器命令文件1583.6.4多个文件的链接164第4章Simulator和CCS集成开发工具的使用方法4.1Simulator的使用方法1694.1.1软件仿真器概述1694.1.2仿真命令1714.1.3仿真器初始化命令文件1744.1.4仿真外部中断1764.2什么是CCS1774.3如何安装和设置CCS1784.3.1CCS对计算机系统的配置要求1784.3.2CCS的安装与设置1784.4CCS窗口介绍1804.4.1CCS窗口示例1804.4.2CCS的菜单栏和快捷菜单1804.4.3CCS的常用工具栏1814.5如何建立工程文件1824.5.1工程文件的建立、打开和关闭1834.5.2在工程文件中添加或删除文件1834.5.3编辑源文件1834.5.4工程的构建1844.6如何调试程序1854.6.1加载可执行文件1854.6.2程序的运行和复位1864.6.3断点设置1874.6.4内存、寄存器和变量操作1884.7如何与外部文件交换数据1914.7
2023/8/25 15:41:47 3.6MB DSP结构 原理 TMS320C54X
1
共 83 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡