当前位置:首页 > 单片机 > 单片机
[导读]一、编程步骤:1、看门狗设置 2、系统初始化 3、端口初始化 4、对应功能初始化(如:串口,定时器,I2C,SPI,PCA,DAC/ADC,中断等等) 5、功能函数或中断函数(如需要)6、包含的头文件 7、项目说明二、对应功能初

一、编程步骤:
1、看门狗设置 2、系统初始化 3、端口初始化 4、对应功能初始化(如:串口,定时器,I2C,SPI,PCA,DAC/ADC,中断等等) 5、功能函数或中断函数(如需要)6、包含的头

文件 7、项目说明
二、对应功能初始化要点:
1、Uart:(1)串口工作模式由SCON设定(2)定时器工作方式设定TMOD (3)波特率TH载入值设定
(4)启动TR1 (5)时钟基准 CKCON (6)波特率加倍设定 PCON(7)开中断使能TI
2、Time:(1)工作方式设定TMOD (2)定时器时钟基准CKCON (3)启动/停止TCON设定TRn
3、Interrupt:(1)中断允许IE (2)触发方式设定(上下沿,电平)(3)对应控制位允许设定,如ES串口允许

C8051F020单片机初始化程序
; $INCLUDE (C8051F020.inc)http://wbymcs51.blog.bokee.net/

C8051F020单片机功能强大,初始化也比较繁杂,为了便于初始化各功能模块,我们编了此程序可看着“说明”初始化。

ORG SYS_INIT
;※▲◆●◎★☆△
;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
;■-- <1> --电源管理
; PCON ; POWER CONTROL

;■-- <2> --系统时钟和振荡器
; OSCXCN ; EXTERNAL OSCILLATOR CONTROL
; OSCICN ; INTERNAL OSCILLATOR CONTROL

;■-- <3> --复位及看门狗管理
; RSTSRC ; RESET SOURCE
; WDTCN ; WATCHDOG TIMER CONTROL

;■-- <4> --FLASH存储器编程和安全管理
; FLSCL ; FLASH MEMORY TIMING PRESCALER
; PSCTL ; PROGRAM STORE R/W CONTROL
; FLACL ; FLASH ACESS LIMIT

;■-- <5> --中断控制
; IE ; INTERRUPT ENABLE
; EIE1 ; EXTERNAL INTERRUPT ENABLE 1
; EIE2 ; EXTERNAL INTERRUPT ENABLE 2
; IP ; INTERRUPT PRIORITY
; EIP1 ; EXTERNAL INTERRUPT PRIORITY REGISTER 1
; EIP2 ; EXTERNAL INTERRUPT PRIORITY REGISTER 2

; P3IF ; PORT 3 EXTERNAL INTERRUPT FLAGS

;■-- <6> --端口IO初始化及交叉开关设置
; XBR0 ; DIGITAL CROSSBAR CONFIGURATION REGISTER 0
; XBR1 ; DIGITAL CROSSBAR CONFIGURATION REGISTER 1
; XBR2 ; DIGITAL CROSSBAR CONFIGURATION REGISTER 2
; P0MDOUT ; PORT 0 OUTPUT MODE CONFIGURATION
; P1MDOUT ; PORT 1 OUTPUT MODE CONFIGURATION
; P2MDOUT ; PORT 2 OUTPUT MODE CONFIGURATION
; P3MDOUT ; PORT 3 OUTPUT MODE CONFIGURATION
; P74OUT ; PORTS 4 - 7 OUTPUT MODE

;■-- <7> --外部RAM和片内XRAM
; EMI0CN ; EXTERNAL MEMORY INTERFACE CONTROL
; EMI0CF ; EXTERNAL MEMORY INTERFACE (EMIF) CONFIGURATION
; EMI0TC ; EXTERNAL MEMORY

;■-- <8> --定时器设置
; TMOD ; TIMER MODE
; TCON ; TIMER CONTROL
; T2CON ; TIMER 2 CONTROL
; T4CON ; TIMER 4 CONTROL
; TMR3CN ; TIMER 3 CONTROL
; TMR3RLL ; TIMER 3 RELOAD REGISTER - LOW BYTE
; TMR3RLH ; TIMER 3 RELOAD REGISTER - HIGH BYTE
; TMR3L ; TIMER 3 - LOW BYTE
; TMR3H ; TIMER 3 - HIGH BYTE


;■-- <9> --串行通讯
; SCON0 ; SERIAL PORT 0 CONTROL
; SCON1 ; SERIAL PORT 1 CONTROL
; SBUF1 ; SERAIL PORT 1 DATA
; SADDR1 ; SERAIL PORT 1
; PCON ; POWER CONTROL
; RCAP2L ; TIMER 2 CAPTURE REGISTER - LOW BYTE
; RCAP2H ; TIMER 2 CAPTURE REGISTER - HIGH BYTE
; RCAP4L ; TIMER 4 CAPTURE REGISTER - LOW BYTE
; RCAP4H ; TIMER 4 CAPTURE REGISTER - HIGH BYTE
; SADDR0 ; SERIAL PORT 0 SLAVE ADDRESS

;■-- <10> --可编程计数器阵列
; PCA0CN ; PCA 0 COUNTER CONTROL
; PCA0MD ; PCA 0 COUNTER MODE
; PCA0CPM0 ; CONTROL REGISTER FOR PCA 0 MODULE 0
; PCA0CPM1 ; CONTROL REGISTER FOR PCA 0 MODULE 1
; PCA0CPM2 ; CONTROL REGISTER FOR PCA 0 MODULE 2
; PCA0CPM3 ; CONTROL REGISTER FOR PCA 0 MODULE 3
; PCA0CPM4 ; CONTROL REGISTER FOR PCA 0 MODULE 4

;■-- <11> --SMBus通讯
; SMB0CN ; SMBUS 0 CONTROL
; SMB0CR ; SMBUS 0 CLOCK RATE
; SMB0STA ; SMBUS 0 STATUS
; SMB0DAT ; SMBUS 0 DATA
; SMB0ADR ; SMBUS 0 SLAVE ADDRESS

;■-- <12> --SPI总线通讯
; SPI0CKR ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RATE CONTROL
; SPI0DAT ; SERIAL PERIPHERAL INTERFACE 0 DATA
; SPI0CFG ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION
; SPI0CN ; SERIAL PERIPHERAL INTERFACE 0 CONTROL

;-- <13> --ADC转换
; AMX0CF ; ADC 0 MUX CONFIGURATION
; AMX0SL ; ADC 0 MUX CHANNEL SELECTION
; ADC0CF ; ADC 0 CONFIGURATION
; ADC0CN ; ADC 0 CONTROL
; ADC0L ; ADC 0 DATA - LOW BYTE
; ADC0H ; ADC 0 DATA - HIGH BYTE


; ADC1CF ; ADC 1 ANALOG MUX CONFIGURATION
; AMX1SL ; ADC 1 ANALOG MUX CHANNEL SELECT
; ADC1CN ; ADC 1 CONTROL

; ADC0GTL ; ADC 0 GREATER-THAN REGISTER - LOW BYTE
; ADC0GTH ; ADC 0 GREATER-THAN REGISTER - HIGH BYTE
; ADC0LTL ; ADC 0 LESS-THAN REGISTER - LOW BYTE
; ADC0LTH ; ADC 0 LESS-THAN REGISTER - HIGH BYTE
; REF0CN ; VOLTAGE REFERENCE 0 CONTROL

; ADC1 ; ADC 1 DATA

;■-- <14> --DAC转换

; PCA0L ; PCA 0 TIMER - LOW BYTE
; PCA0H ; PCA 0 TIMER - HIGH BYTE

; DAC0CN ; DAC 0 CONTROL
; DAC1L ; DAC 1 REGISTER - LOW BYTE
; DAC1H ; DAC 1 REGISTER - HIGH BYTE
; DAC1CN ; DAC 1 CONTROL

;■-- <15> --比较器设置
; CPT0CN ; COMPARATOR 0 CONTROL
; CPT1CN ; COMPARATOR 1 CONTROL
; EMI0TC ; EMIF TIMING CONTROL

;■-- <16> --时钟/电压基准设置
; CKCON ; CLOCK CONTROL


; SADEN1 ; SERIAL PORT 1 SLAVE ADDRESS MASK
; SADEN0 ; SERIAL PORT 0 SLAVE ADDRESS MASK
; P1MDIN ; PORT 1 INPUT MODE
; PSW ; PROGRAM STATUS WORD
; B ; B REGISTER
; WDTCN ; WATCHDOG TIMER CONTROL
;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


;
;====================================================================
; function: Init_CTS 定时器/计数器,中断和串行通讯初始化子程序
; input: -----------------
; output: -----------------
; usage: -----------------
;====================================================================
THS0 equ 0a8h
TLS0 equ 09ah
; THS1 equ 0fah;0feh;0fah;-4800;0f4h
; TLS1 equ 0fah;0feh;0fah;-4800;0f4h
;
; THS2 equ 0ffh;0feh;0fah;-4800;0f4h
; TLS2 equ 0b8h;0feh;0fah;-4800;0f4h

Init_TCS: ;定时器/计数器,中断和串行通讯初始化子程序

;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
; ◆◆◆8051内部控制寄存器◆◆◆
;************************************************************************************
;|名 称| 代号 | 地址|位寻| B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|电源控制| PCON | 87H | NO |SMOD | -- | -- | -- | GF1 | GF0 | PD | IDL |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|计时控制| TCON | 88H | YE |TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|计时模式| TMOD | 89H | NO |1GATE| 1C/T | 1M1 | 1M0 | 0GATE| 0C/T | 0M1 | 0M0 |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|串行控制| SCON | 98H | YE |SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|中断允许| IE | A8H | YE |EA | -- | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
;|--------|------|------|----|-----|------|------|------|------|------|------|------|
;|中断优先| IP | B8H | YE |-- | -- | PT2 | PS | PT1 | PX1 | PT0 | PX0 |
;************************************************************************************

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

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备
关闭
关闭