历史上的今天
今天是: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
史海拾趣
|
file:///C:/Documents%20and%20Settings/Administrator.4797A7AA28774FE/桌面/未命名.bmp请问这个电路中电感RFC和电容Cbypass值应如何计算,假如放大器的输出频率为5000MHz… 查看全部问答> |
|
如谁有这方面的材料的 请发给我一下可以么?不一定符合下面的要就的,关于多点温度检测系统的都可以发给me,设计一个多点温度检测系统,系统结构框图如下 : 温度测点1→ → 检测器单元1   ...… 查看全部问答> |
|
VXWORKS启动时超级终端会打印以下信息: Copyright 1984-1998 Wind River Systems, Inc. CPU: Motorola ADS - PowerPC 860 VxWorks: 5.4 ...… 查看全部问答> |
|
在嵌入式系统上做Qt串口显示程序 ,make后出现的问题,查了一些资料,有的说是pro里面的HEADERS忘记加就会出现这个问题(具体加什么没说);有的说是出现“undefined reference”表示你缺少*.h 困扰很 ...… 查看全部问答> |
|
我现在写不了某些寄存器(就I2C寄存器写不进去,其他都可以) 有遇见这种问题的么? 我是关了MMU的啊~ 情况如下: 我在shell中输入 查看内存0x55000000位置的寄存器。 d 0x55000000 55000000: 0100 0000 0000 0000 0000 0000 00 ...… 查看全部问答> |
|
求购 S3C4510B 的开发板 最近找了份4510b的资料,看着不错可惜没有板子练。真是郁闷啊!不知道哪为高手还有收藏! 有的话留个言! 电话:13141280460 qq:406672875… 查看全部问答> |
|
在自测试模式下,想实现从邮箱1发数据给邮箱3,但是运行程序发现TRS寄存器不能置位,信息发不出去,不知道怎么回事。 有没有人遇到过类似情况呢? 程序如下 void InitECan(void) { struct ECAN_REGS ECanaShadow; EALLOW; / ...… 查看全部问答> |
|
学习C5416已经很久了,但是进度非常的慢,一个人盲打莽撞。 最近又碰上了个卡了很久的问题: 想用一个串口实现同时输入输出,因为C5416是全双工的。我用5416与TLV2541和TLV5636相接实现信号的输入与输出。 5416一个 ...… 查看全部问答> |
|
The embedded system of the analog design 好书适合数字工程师了解的模拟知识 本书为那些希望掌握基本模拟知识的数字工程师而写,内容包括A/D转换器、D/A转换器、运放、滤波器以及模拟和数字系统集成设计。 本书特别适合那些从事信息家电、工业控制和机电控制系统等模拟/数字 ...… 查看全部问答> |




