当前位置:首页 > 单片机 > 单片机
[导读] ;动态数码时钟显示实验参考程序;使用资源:;1,TMRO定时器。确定显示的位,及显示延时。;2,TMR1定时器。秒信号产生。;3,PORTA端口。六共阳极位数码管的位选信号,低电平有效;4,PORTC端口。数码管的七

;动态数码时钟显示实验参考程序


;使用资源:

;1,TMRO定时器。确定显示的位,及显示延时。

;2,TMR1定时器。秒信号产生。

;3,PORTA端口。六共阳极位数码管的位选信号,低电平有效

;4,PORTC端口。数码管的七段,RC7不用。


;功能说明:

;1.六位数码管动态扫描显示时间(格式为:HHMMSS,24小时制)。

;2.时钟信号由单片机内部定时器硬件单元编程产生。


;本实战的目的是让大家进一步熟悉定时器的编程,多位数码管动态扫描显示的编程。


;硬件接法:

;1.实验板上拨码开关S4、S5的所有位必须置ON,其他都可以关闭。

;2.最好把93C46跟24CXX存储器从板上取下。


;本实例原提供者:pic16论坛会员 leef728 ,在此鸣谢leef728同志共享本实例.

;由深圳市乾龙盛电子科技有限公司技术部钟闺田(工程师)(论坛网名:zhongruntian)验正并加于整理、注释.

;网站:PIC单片机学习网 http://www.pic16.com 讨论论坛:http://pic16.com/bbs/

;版权所有,转载请注明出处,并不能去掉或改变文件中的说明文字。

;程序文件名“TIME.ASM"

;程序清单如下:

;************************************

LIST P=16F877A

INCLUDE"P16F877A.INC"

ERRORLEVEL -302

;***********************************

__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC;

;***************文件寄存器定义**************

CBLOCK 0X20

WAW

YIW

BAW

QIW

GEW

SHW

TEMP

COUNTER

S3

DAA

STATUS_TMP

W_TMP

ENDC

;********************程序开始****************

ORG 0000H

NOP ;复位地址

GOTO MAIN

ORG 0004H


;********************中断处理程序***********

MOVWF W_TMP

SWAPF STATUS,W

CLRF STATUS

MOVWF STATUS_TMP ;以上4条指令为中断现场保护

BCF INTCON,2 ;清除TMRO中断标志位

MOVF TEMP,W ;时间存放单元的地址

MOVWF FSR

MOVF INDF,W ;取得某一位的时间值

CALL BMA ;查表得时间的显示代码

MOVWF PORTC ;送数码管显示

COMF DAA,W ;位码取反

MOVWF PORTA ;点亮相应的数码管

RLF DAA,F ;准备点亮下一位

INCF TEMP,F ;下一时间存放单元地址

BTFSS DAA,6 ;是否显示完六位

GOTO RT

MOVLW 01H ;是,重新开始新一轮显示

MOVWF DAA

MOVLW 20H ;重新获取时间单元的地址

MOVWF TEMP

RT

SWAPF STATUS_TMP,W ;中断现场恢复

MOVWF STATUS

SWAPF W_TMP,F

SWAPF W_TMP,W

MOVLW 0XE0 ;赋定时器初值

MOVWF TMR0

RETFIE

;*******************主程序开始****************

MAIN

BANKSEL TRISA ;选择体1

MOVLW 00H

MOVWF TRISA ;PORTA设置为输出

MOVWF TRISC ;PORTC设置为输出

MOVLW 06H

MOVWF ADCON1 ;设置A口为普通数字口

BANKSEL INTCON

MOVLW 00H

MOVWF YIW

MOVWF WAW

MOVWF QIW

MOVWF BAW

MOVWF SHW

MOVWF GEW ;以上7条指令清零时间

MOVWF DAA

MOVLW 20H

MOVWF TEMP ;时间存放单元地址


BSF STATUS,RP0

MOVLW 0X05

MOVWF OPTION_REG ;分频器给TMR0做定时用,且分频比1:4

BCF STATUS,RP0

BSF INTCON,7 ;开启中断总允许位GIE

BSF INTCON,5 ;开启TMRO中断允许位

BCF INTCON,2 ;清除TMRO中断标志位

MOVLW 0XE0 ;TMRO赋初值

MOVWF TMR0


CLRF DAA

INCF DAA,F ;显示位设置

;**************************************************************

KS

CALL DELAY ;调用200ms定时程序

CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY ;调用5次,刚好1s

INCF GEW,F

MOVF GEW,W ;判断秒的个位是否够10

XORLW .10

BTFSS STATUS,Z

GOTO KS ;是,秒的个位清0,秒的十位加1

INCF SHW,F

CLRF GEW

CLRF STATUS

MOVF SHW,W

XORLW .6 ;判断秒的十位是否为6(1分钟60秒)

BTFSS STATUS,Z

GOTO KS

INCF BAW,F ;是,秒的十位清0,分的个位加1

CLRF SHW

CLRF STATUS

MOVF BAW,W

XORLW .10 ;判断分的各位是否够10

BTFSS STATUS,Z

GOTO KS

INCF QIW,F ;是,分的个位清0,分的十位加1

CLRF BAW

CLRF STATUS

MOVF QIW,W

XORLW .6

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年7月21日 /美通社/ -- 本文围绕跨域时间同步技术展开,作为智能汽车 "感知-决策-执行 -交互" 全链路的时间基准,文章介绍了 PTP、gPTP、CAN 等主流同步技术及特点,并以...

关键字: 时钟 时间同步 同步技术 智能汽车

北京 2025年7月3日 /美通社/ -- 6月28日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵"...

关键字: 显示技术 电子电气 数码 显示屏

香港 2025年5月30日 /美通社/ -- 建造业议会“未来建造中心”昨日正式开幕,标志着香港建造业写下数码化发展的重要里程碑。开幕典礼假香港建造学院-九龙湾院校举行,由发展局项目策略及管控处处长罗国权工程师、建造业...

关键字: 工程师 人工智能 数码 模拟

香港 2025年5月30日 /美通社/ -- 建造业议会“未来建造中心”昨日正式开幕,标志着香港建造业写下数码化发展的重要里程碑。开幕典礼今早假香港建造学院-九龙湾院校举行,由发展局项目策略及管控处处长罗国权工程师、建...

关键字: 工程师 人工智能 数码 模拟

颠覆传统,安全出行 深圳2025年4月15日 /美通社/ -- 近日,深圳电魔术科技有限公司旗下数码品牌马拉松(以下简称“马拉松数码”)正式宣布,全球首款量产固态电池充电宝于4月25日全面登陆京东、天猫、抖音等国内主流...

关键字: 充电宝 固态电池 数码 能量密度

带领香港步入中医科学大健康新时代 香港2025年3月28日 /美通社/ -- 香港中医药业先驱位元堂(0897.HK)宣布,即日起于铜锣湾波斯富街、旺角弥敦道、尖沙咀金马伦道、沙田新城市广场及九龙湾德福广场,共5间核心...

关键字: 数码 AI BSP 大数据

只要FPGA设计中的所有资源不全属于一个时钟域,那么就可能存在跨时钟域问题,因为异步逻辑其实也可以看做一种特殊的跨时钟域问题。

关键字: FPGA 时钟

香港2024年10月30日 /美通社/ -- 由建造业议会及发展局合办的“2024建造业议会国际建造数码化论坛暨展览”(GCDFE)假香港会议展览中心于10月29日及30日举行,并由发展局局长甯汉豪女士、建造业议会主席何...

关键字: 数码 CD 工程师 智慧工地

上海2024年8月12日 /美通社/ -- 在政府和企事业单位的办公用品采购领域,打印机是重要且较特殊的品类。一方面随着国产操作系统的普及,对于其的适配性成为打印产品重要指标...

关键字: 打印机 数码 CD 操作系统

上海2024年7月31日 /美通社/ -- 7月24日,由富士胶片(中国)投资有限公司、云集数科集团、雅艺云印联合主办、至一科技协办的"印无限,赢未来"Jet Press 750S 成都数码中心启动仪...

关键字: PRESS 数码 富士 印刷机
关闭