历史上的今天
返回首页

历史上的今天

今天是:2025年03月07日(星期五)

正在发生

2018年03月07日 | NEC单片机 UPD78F9234 16位定时器使用例程

2018-03-07 来源:eefocus

NEC单片机 UPD78F9234 16位定时器使用例程(汇编)
;*************************************************
; Lable def
;*************************************************
LED8_MODE    EQU       PM2.1
LED7_MODE    EQU       PM2.0
LED6_MODE    EQU       PM12.0
LED5_MODE    EQU       PM0.3
LED4_MODE    EQU       PM0.2
LED3_MODE    EQU       PM0.1
LED2_MODE    EQU       PM0.0
LED1_MODE    EQU       PM12.3
LED8    EQU       P2.1
LED7    EQU       P2.0
LED6    EQU       P12.0
LED5    EQU     P0.3
LED4    EQU       P0.2
LED3    EQU       P0.1
LED2    EQU       P0.0
LED1    EQU       P12.3


;=========================(debug  resource)======================================={
;*************************************************
; VAR DEF
;*************************************************

DATA_SEGMENT1  DSEG  SADDR     ;  (AT 0FE20H)

VAR_1:   DS  1

ORG 018H
DB 0FFH,0FFH;
ORG 07EH
DB 0FFH,0FFH;

ORG 81H
DB 0FFH;


ORG    01ED0H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
;=================================================================================



;*************************************************
;INTERRUPT VECT
;*************************************************

ORG 0000H
DW   START_PROGRAM

ORG 000EH
DW   INTTM000_VECT

;*************************************************
;CODE
;*************************************************
     CSEG   ;(AT  XXXXH)
    
START_PROGRAM:

DI
MOVW AX,#0FE20H;
MOVW SP,AX;

MOV PCC,#00H;
MOV PPCC,#00H;

CALL  !DELAY_1MS;
CALL  !DELAY_1MS;
CALL  !DELAY_1MS;
CALL  !DELAY_1MS;
CALL  !DELAY_1MS;



MOV PMC2,#00H
MOV PM2,#0FFH


; SET TM00
MOV TMC00,#00H

MOV PRM00,#02H    ;31.25KHz    32us

MOVW AX,#31250;9800    ;313.6ms    15625
MOVW CR000,AX

CLR1 TMIF000    ;clear sign
CLR1 TMMK000    ;allow interrupt

MOV TMC00,#0CH    ;clear the CR000 when TM00=CR000

EI

CLR1  LED1_MODE
CLR1  LED2_MODE
CLR1  LED3_MODE
CLR1  LED4_MODE
CLR1  LED5_MODE
CLR1  LED6_MODE
CLR1  LED7_MODE
CLR1  LED8_MODE

SET1    LED1
SET1    LED2
SET1    LED3
SET1    LED4
SET1    LED5
SET1    LED6
SET1    LED7
SET1    LED8

CLR1  LED1

MAIN:

MOV WDTE,#0ACH;

BR   !MAIN

;*************************************************
; SUB PROGRAM
;*************************************************
CSEG
DELAY_1MS:

     MOV  B,#0FFH
BBBB:
     DBNZ B,$BBBB;
RET

;*************************************************
;INTERRUPT FUNCTION
;*************************************************
CSEG
INTTM000_VECT:

BT   LED1,$LED22    ;jump if LED1=1
SET1    LED1
CLR1    LED2
BR       !backtrack

LED22:
BT    LED2,$LED33
SET1    LED2
CLR1    LED3
BR       !backtrack

LED33:
BT    LED3,$LED44
SET1    LED3
CLR1    LED4
BR       !backtrack

LED44:
BT    LED4,$LED55
SET1    LED4
CLR1    LED5
BR       !backtrack

LED55:
BT    LED5,$LED66
SET1    LED5
CLR1    LED6
BR       !backtrack

LED66:
BT    LED6,$LED77
SET1    LED6
CLR1    LED7
BR       !backtrack

LED77:
BT    LED7,$LED88
SET1    LED7
CLR1    LED8
BR       !backtrack

LED88:
BT    LED8,$INTTM000_VECT
SET1    LED8
CLR1    LED1
BR       !backtrack

backtrack:

RETI

END
UPD78F9234产品参数:
MCU 8BIT 8KB FLASH 30PIN
核心处理器:78K0S
芯体尺寸:8-位
速度:10MHz
连通性:LIN,UART/USART
外围设备:LVD, POR, PWM, WDT
输入/输出数:24
程序存储器容量:8KB (8K x 8)
程序存储器类型:FLASH
EEPROM 大小:-
RAM 容量:256 x 8
电压 - 电源 (Vcc/Vdd):2 V ~ 5.5 V
数据转换器:A/D 4x10b
振荡器型:内部
工作温度:-40°C ~ 85°C

推荐阅读

史海拾趣

Elpress AB公司的发展小趣事

在稳固了国内市场后,Elpress AB开始积极拓展国际市场。公司设立了多个海外子公司和物流中心,如丹麦的锡尔克堡、德国的Viersen以及中国的北京等地。这些海外机构的建立为Elpress AB的产品提供了更广阔的销售渠道和更便捷的服务支持。同时,Elpress AB还与国际知名电子企业开展合作,共同研发新产品、开拓新市场,进一步提升了公司的国际影响力。

场效应半导体(Cmos)公司的发展小趣事

台湾积体电路制造股份有限公司(TSMC)在CMOS技术的发展中也有着不可忽视的贡献。作为一家专业的半导体制造企业,TSMC凭借其在生产工艺和质量控制方面的优势,成功地为全球众多知名半导体企业提供了优质的CMOS芯片制造服务。通过不断的技术创新和生产优化,TSMC的CMOS芯片品质得到了业界的广泛认可,使其在全球半导体制造市场上占据了重要地位。

Equinox公司的发展小趣事

随着时间的推移,Equinox的成功吸引了越来越多的投资者。公司开始寻求全球扩张的机会,并在不同国家和地区开设新的健身俱乐部。同时,Equinox还推出了多个子品牌,如E By Equinox、SoulCycle等,以满足不同消费者的需求。这些品牌涵盖了从高端豪华到平价实惠的全方位市场,进一步巩固了Equinox在健身行业的领先地位。

Davicom公司的发展小趣事

面对不断变化的市场环境和客户需求,Davicom始终保持创新精神,不断寻求新的发展机遇。公司紧跟行业趋势,积极投入研发资源,推出了一系列具有创新性的产品。这些新产品不仅提升了公司的市场竞争力,也为公司的持续发展注入了新的动力。

全智景(Allvision)公司的发展小趣事

在追求经济效益的同时,全智景公司也积极履行社会责任,致力于可持续发展。公司注重环保和节能技术的研发和应用,推出了多款绿色环保的产品。同时,全智景公司还积极参与社会公益事业,捐款捐物支持灾区重建和贫困地区的教育事业。这些举措不仅彰显了公司的社会责任感,也为公司的可持续发展奠定了坚实的基础。

通过以上五个故事,我们可以看到全智景公司在电子行业里的发展历程。从技术突破引领市场,到跨界合作拓展应用;从持续创新引领潮流,到全球化战略助力发展;再到履行社会责任与可持续发展。全智景公司以其坚定的信念和不懈的努力,在电子行业中取得了显著的成就。

Anatech Electronics Inc公司的发展小趣事

为了进一步提升公司的竞争力,全智景公司开始实施全球化战略。公司积极拓展海外市场,与多个国家和地区的企业建立了合作关系。通过引进国外先进的技术和管理经验,全智景公司不断提升自身的综合实力。同时,公司还积极参与国际展览和交流活动,提升了品牌知名度和影响力。这一全球化战略为全智景公司带来了更广阔的发展空间和市场机遇。

问答坊 | AI 解惑

问一下关于放大器的偏置电路

file:///C:/Documents%20and%20Settings/Administrator.4797A7AA28774FE/桌面/未命名.bmp请问这个电路中电感RFC和电容Cbypass值应如何计算,假如放大器的输出频率为5000MHz…

查看全部问答>

[求助]多点温度检测系统

如谁有这方面的材料的   请发给我一下可以么?不一定符合下面的要就的,关于多点温度检测系统的都可以发给me,设计一个多点温度检测系统,系统结构框图如下  : 温度测点1→   →  检测器单元1    ...…

查看全部问答>

如何修改VXWORKS的启动标题

VXWORKS启动时超级终端会打印以下信息: Copyright 1984-1998  Wind River Systems, Inc.             CPU: Motorola ADS - PowerPC 860         VxWorks: 5.4 ...…

查看全部问答>

make问题,如何解决? 困扰很久了,感谢指点

    在嵌入式系统上做Qt串口显示程序 ,make后出现的问题,查了一些资料,有的说是pro里面的HEADERS忘记加就会出现这个问题(具体加什么没说);有的说是出现“undefined reference”表示你缺少*.h        困扰很 ...…

查看全部问答>

vxWorks寄存器读写问题

我现在写不了某些寄存器(就I2C寄存器写不进去,其他都可以) 有遇见这种问题的么? 我是关了MMU的啊~ 情况如下: 我在shell中输入 查看内存0x55000000位置的寄存器。 d 0x55000000 55000000:  0100 0000 0000 0000 0000 0000 00 ...…

查看全部问答>

求购 S3C4510B 的开发板 (二手也可以)

求购 S3C4510B 的开发板 最近找了份4510b的资料,看着不错可惜没有板子练。真是郁闷啊!不知道哪为高手还有收藏! 有的话留个言! 电话:13141280460 qq:406672875…

查看全部问答>

额定电流估算口诀

已知电机功率,如何估算电机的额定电流? 三相二百二电机,千瓦三点五安培。 三相三百八电机,一个千瓦两安培。 三相六百六电机,千瓦一点二安培。 三相三千伏电机,四个千瓦一安培。 三相六千伏电机,八个千瓦一安培。 3KW以下,1个KW,2.5个流…

查看全部问答>

2812的eCAN模块问题

在自测试模式下,想实现从邮箱1发数据给邮箱3,但是运行程序发现TRS寄存器不能置位,信息发不出去,不知道怎么回事。 有没有人遇到过类似情况呢? 程序如下 void InitECan(void) { struct ECAN_REGS ECanaShadow; EALLOW; / ...…

查看全部问答>

[求教]TMS320C5416串口疑问,被卡住很久了!

学习C5416已经很久了,但是进度非常的慢,一个人盲打莽撞。 最近又碰上了个卡了很久的问题:     想用一个串口实现同时输入输出,因为C5416是全双工的。我用5416与TLV2541和TLV5636相接实现信号的输入与输出。     5416一个 ...…

查看全部问答>

The embedded system of the analog design

好书适合数字工程师了解的模拟知识   本书为那些希望掌握基本模拟知识的数字工程师而写,内容包括A/D转换器、D/A转换器、运放、滤波器以及模拟和数字系统集成设计。  本书特别适合那些从事信息家电、工业控制和机电控制系统等模拟/数字 ...…

查看全部问答>