BS2系统编程与应用实例
发布时间:2007/9/8 0:00:00 访问次数:1226
摘要:针对BS2微功耗单片机应用系统硬件结构与指令系统的特点,以系统监控程序为例,着重分析系统程序设计方法与技巧;结合谷物流量在线测量系统,阐述BS2在实际工程中的应用。
关键词:外围芯片 编程 数据采集 冲量传感器
在阅读了本刊2001年第10期《一种新颖的器件型嵌入式单片机系统》后,读者对BS2系统的硬件资源配置、指令系统与开发方式已经有了基本的认识,本文将从系统编程与应用的角度进一步给予详述。
一、BS2系统的变量类型与定义
BS2系统的PBASIC支持的变量类型有很特色,除了通常的字节(Byte)、字(Word)外,还有二进制位(bit)、半字节(nib),这显然既灵活又节省内存这间。比如,在使用BCD码时,用nib变量比Byte变量能节省一半内存。nib变量可以说明为数据,例如:number var nib(10)占用5个字节,可存放10个BCD码数据。PBASIC支持将端口地址定义为常量(con),再用指令对数量操作来实现端口激活、复位与数据输入/输出。与直接的I/O地址读/写相比,这种方式使程序的可读性大大改善。
通常在应用程序中首先定义系统变量。BS2系统中常用的系统端口变量定义如下:
CKL con 15 '所有SPI串行外围设备共
'享的时钟线
DATA_ con 14 '所有SPI串行外围设备共
'享的数据线
EE_CS1 con 13 'EEPROM1(U3)片选线
EE_CS0 con 12 'EEPROM0(U2)片选线
NJU_CE con 11 '时钟日历(NJU6355)允许
NJU_IO con 10 '时钟日历(NJU6355)读/写
PwrOn con $31 '外围可控电源启动
Shtdwn con 9 '外围可控电源关闭
b96 con $54 '传输速率9600bps。
二、BS2系统程序设计实例解析
1.系统初始化
程序启动运行时,通常需要执行以下初始化命令:
OUTH=PwrOn '打开外围设备电源
DIRH=$FF '设置端口高8位为输出
DIRL=$FF '设置端口低8位为输出
2.时钟/日历芯片NJU6355的访问与数据读取
NJU6355ED时钟/日历芯片包含13个BCD码存储器,分别用于存储当前的年、月、日、周、时、分、秒等信息,时间采取24小时制。时钟子程序将这13个变量转换为1个nib数组,定义为日期-时间数组DTG(13)。每个单元存放1个BCD码,其取值范围为0~9。BS2系统支持给数组下标命名,访问数组变量时可以通过下标名访问。例如:“Y10s”定义为常量1,通过DTG(Y10s)可以获得存放在DTG数组第一单元数据。日期-时间数组及下标变量定义如下:
Yls con 0 '存放“年份”个位
Y10s con 1 '存放“年份”十位
Mols con 2 '存放“月份”个位
Mo10s con 3 '存放“月份”十位
D1s con 4 '存放“日”个位
D10s con 5 '数组下标,存放“日”的
'十位数信息
Day con 6 '数组下标,存放“星期几”
摘要:针对BS2微功耗单片机应用系统硬件结构与指令系统的特点,以系统监控程序为例,着重分析系统程序设计方法与技巧;结合谷物流量在线测量系统,阐述BS2在实际工程中的应用。
关键词:外围芯片 编程 数据采集 冲量传感器
在阅读了本刊2001年第10期《一种新颖的器件型嵌入式单片机系统》后,读者对BS2系统的硬件资源配置、指令系统与开发方式已经有了基本的认识,本文将从系统编程与应用的角度进一步给予详述。
一、BS2系统的变量类型与定义
BS2系统的PBASIC支持的变量类型有很特色,除了通常的字节(Byte)、字(Word)外,还有二进制位(bit)、半字节(nib),这显然既灵活又节省内存这间。比如,在使用BCD码时,用nib变量比Byte变量能节省一半内存。nib变量可以说明为数据,例如:number var nib(10)占用5个字节,可存放10个BCD码数据。PBASIC支持将端口地址定义为常量(con),再用指令对数量操作来实现端口激活、复位与数据输入/输出。与直接的I/O地址读/写相比,这种方式使程序的可读性大大改善。
通常在应用程序中首先定义系统变量。BS2系统中常用的系统端口变量定义如下:
CKL con 15 '所有SPI串行外围设备共
'享的时钟线
DATA_ con 14 '所有SPI串行外围设备共
'享的数据线
EE_CS1 con 13 'EEPROM1(U3)片选线
EE_CS0 con 12 'EEPROM0(U2)片选线
NJU_CE con 11 '时钟日历(NJU6355)允许
NJU_IO con 10 '时钟日历(NJU6355)读/写
PwrOn con $31 '外围可控电源启动
Shtdwn con 9 '外围可控电源关闭
b96 con $54 '传输速率9600bps。
二、BS2系统程序设计实例解析
1.系统初始化
程序启动运行时,通常需要执行以下初始化命令:
OUTH=PwrOn '打开外围设备电源
DIRH=$FF '设置端口高8位为输出
DIRL=$FF '设置端口低8位为输出
2.时钟/日历芯片NJU6355的访问与数据读取
NJU6355ED时钟/日历芯片包含13个BCD码存储器,分别用于存储当前的年、月、日、周、时、分、秒等信息,时间采取24小时制。时钟子程序将这13个变量转换为1个nib数组,定义为日期-时间数组DTG(13)。每个单元存放1个BCD码,其取值范围为0~9。BS2系统支持给数组下标命名,访问数组变量时可以通过下标名访问。例如:“Y10s”定义为常量1,通过DTG(Y10s)可以获得存放在DTG数组第一单元数据。日期-时间数组及下标变量定义如下:
Yls con 0 '存放“年份”个位
Y10s con 1 '存放“年份”十位
Mols con 2 '存放“月份”个位
Mo10s con 3 '存放“月份”十位
D1s con 4 '存放“日”个位
D10s con 5 '数组下标,存放“日”的
'十位数信息
Day con 6 '数组下标,存放“星期几”
热门点击
- AVR单片机在蓄电池剩余电量测试仪中的应用
- 基于单片机系统采用DMA块传输方式实现高速数
- BS2系统编程与应用实例
- 便携式动态心电信号数据采集器的设计
- 单片机查表程序的自动生成技术
- PTP2000及其在不停车收费系统中的应用
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]