微机原理A4纸资料(汇编及之后)
更新时间:2023-04-25 20:38:01 阅读量: 自然科学 文档下载
- 微机原理A41推荐度:
- 相关推荐
CPU 寄存器
累加器 (A)
索引寄存器(H:X)
堆栈指针(SP)
16位地址指针寄存器指向下一个有效的堆栈位置。堆栈可以放置在
包含RAM的 64 Kbyte地址空间的任意位置,其大小可以为任何RAM
中的有效值。堆栈用来自动保存子程序调用的返回地址、中断中CPU
寄存器和局部变量的返回地址。AIS(立即加堆栈指针,堆栈处理指令)
指令对SP加上一个8位有符号立即数。这经常用于对堆栈中的局部
变量分配和取消分配空间。
向上生长型(如51单片机)
特性:先加后压,先弹后减
向下生长型(飞思卡尔单片机)
特性:先压后减,先加后弹
程序计数器(PC)
条件代码寄存器(CCR)
寻址模式
寻址模式定义为CPU访问操作数和数据的方法。
对于BRCLR,BRSET, CBEQ和DBNZ,在指令设置表格中列出的寻址模
式是用于访问测试操作数的寻址模式,访问分支目的则需要使用相关
寻址模式。
S08的指令的寻址方式可以分为以下几类:
1.隐含寻址(Inherent)
2.立即寻址 (Immediate)
3.直接寻址 (Direct)
4.扩展寻址 (Extended)
5.变址寻址 (Indexed)
?无偏移量,8位,16位偏移量
6.相对寻址(Relative)
7.存储器到存储器寻址方式(Memory to Memory)
存储器到存储器的寻址方式
1.立即数到直接寻址
2.直接寻址到直接寻址
3.自动变址寻址到直接寻址
4.直接寻址自动变址寻址
__________________________________________________________
中断系统
微机的输入输出方式
一.无条件传送方式
二.查询传送方式(条件传送方式)
查询式传送的优点:通用性强,硬件结构简单。
缺点:查询时占用CPU,效率低。
三.中断传送方式
串行通信与并行通信
并行通信:数据的各位(bit)同时进行传送。
优点:传送速度快
缺点:需用传送线多,不适于远距离传送,
串行通信:数据的各位逐个按顺序传送。
优点:需用传送线少,适于远距离传送。
缺点:传送速度较低。
串行通信的传输制式
单工:数据只能单方向传送(发送或接收)。
半双工:数据可以双向传送,但只有一个通信回路,故不能同时发送
和接收。
全双工:数据可以同时双向传送,具有两个独立的通信回路。
异步通信与同步通信
异步通信:通信双方无统一的时钟脉冲控制。数据以“帧”(frame)
为单位传送。
帧格式:起始位、数据位、奇偶校验位、停止位。
同步通信:传送双方有统一时钟脉冲协调同步。数据以帧为单位传送。
帧格式:同步字符、(1-2个,1个一般用ASCII码SYNC-16H,
2个一般用国际通用码EB90H)数据字符、(个数不限,一般用ASCII
码)、校验字符(1-2个)
波特率:每秒钟传送的二进制代码的位数,单位为b/S,即
bps
串行通信协议(异步通信)
⑴.起始位:信号线上无数据传送时为1开始传送时发一个0信号,
即起始位。
⑵.数据位:紧接起始位之后,个数一般为7-8位。
⑶.奇偶校验位:紧接数据位之后。一般为1位。
奇校验:数据位与奇偶位中1的总个数为奇数。
偶校验:数据位与奇偶位中1的总个数为偶数。
⑷.停止位:一帧数据的结束标志,一般为“1”。
___________________________________________________________
串行外围接口SPI原理及应用
QG8的SPI特点
1、主从模式可选
2、全双工或单线模式可选
3、可编程波特率
4、收发双缓冲
5、时钟相位与极性可选
6、从机片选输出
7、高或低位在前传送模式可选。
____________________________________________________________
寄存器
键盘中断寄存器(KBI)
八位定时模块(MTIM)
该计数器为只读,写入任何数值对其没有影响,复位时为0x00。
⑷ MTIM模寄存器——MTIMMOD
该8位可读写的寄存器保存的数值是计数器计数的最大值,当计数器
计数到该最大值时会翻转到0,同时设置TOF标志。如果给该寄存器写
入数值0x00,会导致计数器成为一个没有约束的自由运行的计数器,
给MTIMMOD写入数值回导致计数器回0x00,而且溢出标志TOF也会清
零。MTIMMOD复位时为0x00。
十六位定时模块(TPM)
TPM计时寄存器高位TPMCNTH:
TPM计时寄存器低位TPMCNTL:
⑶定时器模寄存器——TPMMODH:TPMMODL
TPM模寄存器高位TPMMODH:
TPM模寄存器低位TPMMODL:
该可读/写寄存器定义了计数器的最大数值。
读取该寄存器将返回从接收数据缓冲器中读取的数据。写该寄存器将
会把数据写入发送数据缓冲器。
当 SPI 被配置为主模式时,写入数据到传输数据缓冲器发起一次 SPI
传输,即启动SPI。
一、I/O口输入输出实验
实验内容
⑴结合开发板电路图,用跳线
夹连接对应LED引脚。即LED1、
LED2分别与PTB6、PTB7相连接。
将PTB口定义为输出接口。对端
口写0即可点亮LED灯。单步运
行观察实验现象。
⑵结合开发板电路图,用跳线
夹再将开发板上的按键SW1、SW2
连到PTA2。将PTA口定义为输入
口,将PTB口定义为输出口。按
下SW1时点亮LED1、LED2。按下
SW2时熄灭LED1、LED2。
参考程序
⑴直接点亮LED灯,其参考程序
如下。
C语言程序:
#include
#include "derivative.h"
/* 头文件 */
void main(void) {
PTBDD=0xff; /*
定义PTB口为输出口 */
PTBD=0xff; /*
输出高电平,LED灯灭*/
PTBD=0x00; /*PTB口输
出低电平,即PTB6、PTB7输出低
电平 */
for(;;)
{ __RESET_WATCHDOG(); /* 清看
门狗 */
}
/* 死循环 */
}
⑵按键控制LED灯
参考C语言程序如下:
#include
#include "derivative.h"
/* 头文件*/
void main(void) {
PTADD=0x00;
/* 初始化PTA口,定义为输入口
*/
PTBDD_PTBDD6=1;
PTBDD_PTBDD7=1;
/* PTB6,PTB7定义为输出口*/
PTBD_PTBD6=1;
PTBD_PTBD7=1;
/* PTB6,PTB7均写为1,开始时
灯熄灭 */
for(;;) {
if(PTAD_PTAD2==0)
{
PTBD_PTBD6=0;
PTBD_PTBD7=0;
}
else
if(PTAD_PTAD3==0)
{
PTBD_PTBD6=1;
}
else
__RESET_WATCHDOG(); /* 清看门
狗 */
}
}
二、键盘中断实验
实验内容
使能KBIP2、KBIP3,进而对LED1、
LED2进行控制。实现当按下SW1
时,LED1亮、LED2灭,当按下SW2
时,LED1灭、LED2亮。在中断函
数入口处设置断点,单步运行观
察实验现象。
参考程序
#include
EnableInterrupts macro */
#include "derivative.h" /*
include peripheral
declarations */
void main(void) {
DisableInterrupts;
/*关中断总允许 */
PTADD_PTADD2=0;
PTADD_PTADD3=0;
/*PTA2、PTA3定义为输入口*/
PTBDD_PTBDD6=1;
PTBDD_PTBDD7=1;
/*PTB6、PTB7定义为输出口*/
PTBD_PTBD6=1;
PTBD_PTBD7=1;
/*LED灯均熄灭*/
KBISC_KBIE=0;
KBIES=0x00;
/*下降沿/低电平触发*/
KBIPE=0x0C;
/*键盘中断开启即KBIP2、KBIP3
键盘中断开启*/
KBISC_KBACK=1;
/*清除任何错误中断*/
KBISC_KBIE=1;
/*键盘中断允许*/
EnableInterrupts;
/* 开中断总允许*/
for(;;) {
__RESET_WATCHDOG();
}
}
void interrupt 18 Keyboard( )
{
KBISC_KBACK=1;
KBISC_KBIE=0;
/*禁止键盘中断*/
if(PTAD_PTAD2==0){
PTBD_PTBD7=1;
}
else if(PTAD_PTAD3==0) {
PTBD_PTBD6=1;
PTBD_PTBD7=0;
}
else __RESET_WATCHDOG();
KBISC_KBIE=1;
/*开启键盘中断*/
}
三、定时器实验
实验内容
⑴按照查询法,利用8位定时模
块——MTIM进行定时,使得LED
灯实现亮3秒、灭3秒、亮3秒、
灭3秒……无限循环的现象。
⑵采用中断法,利用16位TPM模
块编程,实现LED灯出现亮2秒、
灭2秒、亮2秒、灭2秒……无
限循环的现象。
⑶利用TPM的PWM模块,在通道0
处产生边沿排列方式的方波,周
期为1ms,占空比为25%。用示波
器观察并记录波形。
⑷利用TPM的PWM模块,在通道1
处产生中心排列方式的方波,周
期为1ms,占空比为25%。用示波
器观察并记录波形。
参考程序
⑴查询法8位定时模块(MTIM)
定时的参考程序。本程序采用内
部总线时钟(4MHZ),并64分频,
定时器溢出值为0xFA,外部采用
最大值为750的一个递减循环。
750*64*250/4M=3秒。
#include
#include "derivative.h"
int a;
/*定义循环参数*/
void main(void)
{
DisableInterrupts;
/*禁止中断*/
PTBDD=0xff;
PTBD=0xff;
/*初始化B口*/
a=750;
MTIMCLK=0x06;
/*采用内部总线时钟,且64分频
*/
MTIMMOD=0x0FA;
MTIMSC=0x20;
/*启动定时器 */
while(1)
{
__RESET_WATCHDOG();
{
MTIMSC_TOF=0;
a-=1;
if(a==0)
{
a=750;
PTBD=~PTBD;
}
}
}
}
⑵中断法16位定时模块(TPM)
的参考程序。本程序采用内部总
线时钟,并128分频,定时器溢
出值为0xF424(十进制为
62500),62500*128/4M=2秒。
#include
#include "derivative.h"
void main(void) {
EnableInterrupts;
PTBDD=0xff;
PTBD=0xff;
TPMMODL=0x24;
TPMMODH=0x0f4; /*
定时2秒*/
TPMSC=0x4f; /*
开中断,采用内部总线时钟,并
128分频 */
for(;;) {
__RESET_WATCHDOG();
}
}
void interrupt 7 TPM(){
PTBD=~PTBD;
/*B口送低电平,点亮LED1和
LED2*/
TPMSC_TOF=0;
/*清中断标志 */
}
⑶利用TPM模块边沿排列方式产
生1ms方波,占空比为25%。采用
内部总线时钟,分频数为1,模寄
存器值为0x0FA0(十进制为4000),
通道0 的通道值寄存器值为
0x03E8(十进制为1000)。
#include
#include "derivative.h"
int a;
void main(void) {
EnableInterrupts;
TPMSC=0x08; /*
工作在边沿对齐PWM模式,选择
总线时钟工作,预分频因子为1*/
TPMMODH=0x0F;
TPMMODL=0x0A0; /*
向模寄存器写初值*/
TPMC0SC=0x28; /*
高为真脉冲*/
TPMC0VH=0x03; /*
向通道1定时寄存器写初值*/
TPMC0VL=0x0E8;
TPMC0SC_CH0IE=1; /*
允许通道1中断*/
for(;;)
{ __RESET_WATCHDOG(); }
}
void interrupt 5 TPM0() {
a=TPMC0SC;
TPMC0SC_CH0F=0; /*
清除中断标志位*/
TPMC0VH=0x03; /*
向通道寄存器重新装初值*/
TPMC0VL=0x0E8;
}
⑷利用TPM模块中心排列方式产
生1ms方波,占空比为25%。采用
内部总线时钟,分频数为1,模寄
存器值为0x07D0(十进制为2000),
通道0 的通道值寄存器值为
0x01F4(十进制为500)。
#include
#include "derivative.h"
int a;
void main(void) {
EnableInterrupts;
TPMSC=0x28; /*
工作在以中心排列PWM模式,选
择总线时钟工作,预分频因子为
1*/
TPMMODH=0x07;
TPMMODL=0x0D0; /*
向模寄存器写初值*/
TPMC1VH=0x01;
TPMC1VL=0x0F4; /*
向通道1定时寄存器写初值*/
TPMC1SC=0x48; /*
高为真脉冲,允许通道1中断*/
for(;;) {
__RESET_WATCHDOG();
}
}
void interrupt 6 TPMC1() {
a=TPMC1SC_CH1F;
TPMC1SC_CH1F=0; /*清
除中断标志位*/
TPMC1VH=0x01;
TPMC1VL=0x0F4; /*重
装通道寄存器初值*/
}
四、模数转换(ADC)实验
实验内容
⑴利用ADC转换,采用通道0,在
仿真输入条件下对模数转换进行
观察。即:选择下载方式为Full
Chip Simulation,然后在运行菜
单里选择HCS08FCS/ADC
Module/Queue ADC Input
Data(ADDI)。输入一个介于$0—
—$FF中的数值,运行程序,在
memory窗口的$0100-0101处观察
a中所得到的数值是否与输入值
一致。
⑵利用中断,选择VREFH通道,
进行模数转换,设置转换结果为
10位,连续转换5次,观察结果
是否为$03FF。在中断服务函数处
设置断点,观察进入中断的状况。
⑶利用硬件中断脉冲来触发AD转
换,选择VREFL通道,转换5次,
结果取8位精度,转换结束后点
亮LED1和LED2。
⑷①选择VREFH通道,启动内部
比较器,转换结果取8位精度,
选择大于或等于触发比较模式,
比较值低位寄存器取为$90,记录
实验结果。
②在①的基础上修改程序,将
ADCSC1=0x1d换为ADCSC1=0x1e,
选择VREFL通道,记录实验结果。
③在②的基础上修改程序,将比
较器的触发方式选为小于触发,
记录实验结果。
④在③的基础上修改程序,选择
VREFH通道,记录实验结果。
参考程序
⑴仿真输入ADC模数转换参考程
序:
#include
#include "derivative.h"
int a;
void main(void) {
DisableInterrupts;
APCTL1=0x01; /* AD0管脚,
屏蔽I/O控制,只作为A/D输入
通道使用*/
ADCCFG=0x90; /* 配置为
低功耗、1分频、长采样、8位模
式、总线时钟 */
ADCSC1=0x00; /*启动一
次AD转换*/
while(ADCSC1_COCO!=1)
{__RESET_WATCHDOG();} /*查
询转换是否结束*/
a=ADCRL; /*读取转
换结果并转移*/
for(;;){__RESET_WATCHDOG();
}
} ⑵中断法转换5次内部高电平: #include
for(;;) {
__RESET_WATCHDOG(); } }
void interrupt 15 SCI0 () { /*接收中断函数 */ SCIC2_RIE=0; /*先禁止接收中断 */
b=SCIS1;
a=SCID; /*清除接收标志位 */
if(a==0x38){
PTBD_PTBD7=0;/*若接收成功点亮LED2*/ }
else SCIC2_RIE=1; /*若未接收到正确结果,继续允许接收中断 */
}
void interrupt 16 SCI1 () { /*发送中断函数 */
PTBD_PTBD6=0; /*点亮LED1,表示发送成功*/
SCIC2_TIE=0; /*禁止发送中断*/
SCIC2=0x24; /*允许接收中断*/ }
II 单片机2参考程序(先接收后发送):
#include
#include "derivative.h" //中断接收一次 再中断发送 int c,d;
void main(void) {
EnableInterrupts; PTBDD=0xFF; PTBD=0xFF; SCIBDH=0x00; SCIBDL=0x1A; SCIC1=0x00; SCIC2=0x24; for(;;) {
__RESET_WATCHDOG(); } }
void interrupt 15 sci0(){/*接收中断服务函数*/
SCIC2_RIE=0; /* 禁止接收中断 */ d=SCIS1;
c=SCID; /*清除中断标志位RDRF*/
if(c==0x37){
PTBD_PTBD7=0; /* 点亮LED2表示接收成功 */ SCID=0x38;
SCIC2=0x88; /* 发送一个新的数据*/ }
else { SCIC2_RIE=1; } } void interrupt 16 sci1(){ /* 发送中断函数 */
SCIC2_TIE=0; /* 禁止发送中断 */
PTBD_PTBD6=0; /*点亮LED1表示发送成功*/ }
六、同步串行通信SPI 实验内容
⑴ 分别用导线将通信的四个管脚对应的连接起来,采用查询方式,主机发送一个数据,从机接收,发送成功则点亮主机的LED2,从机接收成功则点亮LED1。观察实验现象,记录实验结果。 ⑵ 利用中断方式,主机先发送一个数据再接收一个从机发送的数据,从机接收主机发送的一个数据,再发送一个数据至主机。主机发送成功则点亮LED2,接收成功则点亮LED1;从机接收成功则点亮LED1,发送成功则点亮LED2。分析实验参考程序,观察实验现象,记录实验结果。 参考程序
⑴ ①查询程序 I 主机发送程序: #include
#include "derivative.h"
int a=0; void main(void) {
DisableInterrupts; /*禁止所有中断*/ SPIC1=0x56; /*使能SPI 功能,并设本机为主机*/ SPIC2=0x10; SPIBR=0x77; /*设预置分频因子为8,设分频因子为256*/ PTBDD_PTBDD5=1; PTBD_PTBD5=0; /*使SS 为低电平,选通从机*/ /*初始化完毕*/ while(a==0) { if(SPIS_SPTEF){ /*判断是否可以发送*/ SPID=0x57; /*将待发送数据送入发送缓冲器*/ PTBDD_PTBDD7=1; PTBD_PTBD7=0; /*点亮LED2,以显示发送成功*/ a=1; } } PTBD_PTBD5=1; /*使SS 为高电平,通信结束*/ for(;;) { __RESET_WATCHDOG(); } } II 从机接收程序: #include
实验内容 1> PC 通过串口总线发送’o’(open 的意思)字符到单片机,单片机接收到’o’后,点亮LED2灯,并返回’D’(Done 的意思)字符; 2> PC 通过串口总线发送’c’(close 的意思)字符到单片机,单片机接收到’c’后,熄灭LED2灯,并返回’D’字符; 3> PC 通过串口总线发送’f’(flash 的意思)字符到单片机,单片机接收到’f’后, LED2灯以512ms 的周期进行闪烁,并返回’D’字符; 波特率设置为19200 参考程序 #include
void SCISendc(unsigned char c) { while(!SCIS1_TDRE); SCID=c;
}
interrupt 15 void Rel(){
unsigned char i;
i=SCID;
switch (i) {
case 0x67 :
PTBD_PTBD7=0;Cnt=0;S CISendc(‘D’);break;
case 0x63 :
PTBD_PTBD7=1;Cnt=0;S CISendc(‘D’;)break;
case 0x66 : Cnt = 1; SCISendc(‘D’;)break;
}
}
interrupt 23 void RTI_ISR() {
if(Cnt=1) {
PTBD ^=0xff;}
else{
}
SRTISC = 0x56; //清除标志
}
实验内容
基于MC9S08QG8单片机编写SPI 通信方式的主机程序(C语言),并画流程图。总线频率4MHz,时钟极性设置为平时低电平,时钟相位为前沿输出,后沿采样,8位数据传送时高位在前。波特率12500bps(25000bps),采用查询方式,传送数组SPI_BUFF[6]里的6个数据,不考虑SPI模块的SS 管脚的使用。
分析:分频比=总线时钟/bps=4000000/12500=320
据此,预分频因子5(100),波特率分频因子:64(101)/(32)(100)SPIBR:01000100(0x44)
参考程序
#include
#include "derivative.h"
//包含头文件
char SPI_BUFF[6],j; /*定义两个全局变量*/
void main(void) {
DisableInterrupts;
/*禁止所有中断*/
SPIC1=0X54;
/*使能SPI功能,并设本机为主机*/
SPIBR=0X45(0X44);
/*设预置分频因子为5,设分频因子为64(32)*/
PTBDD_PTBDD5=1;
PTBD_PTBD5=0;
/*使SS为低电平,选通从机*/ for(j=0;j<6;j++) {
while(SPIS_SPTEF==0);
/*判断是否可以发送*/
SPID=SPI_BUFF[j];
/*将待发送数据送入发送缓冲器*/
}
}
实验内容
MC9S08QG8的8个AD模拟输入端分别连接温度采集电路,对八个位置进行温度监控,用C语言编写程序,在数组AD_DATA[8] 中保存8个位置的温度转换数值。(AD 配置为低功耗,1分频、长采样、8位模式、总线时钟,采用RTI 硬件触发,每秒钟转换一次。)
参考程序
提示:先采用硬件触发的方式对0通道进行转换,在0通道的转换完成中断里切换通道,分别对其它通道进行软件触发方式的转换,将所有通道转换结果保存在某个数组中,全部完成后,求出数组的最大值,并存放在某个采用固定地址定义的变量中。
#include
unsigned char AD_DATA[8] ; void main(void){ DisableInterrupts;
SOPT1 = 0x03; //1
SRTISC = 0x47; //1 ADCCFG = 0x90; //1
ADCSC2 = 0x40; //1
ADCSC1 = 0x40; //1
APCTL1 = 0Xff; //1 EnableInterrupts;
while(1);
}
interrupt 19 void AD_ISR() //1
{
unsigned char i;
AD_DATA[0] = ADCRL; //1 ADCSC2 = 0x00; //1 for(i = 1;i<8;i++)
//1
{
ADCSC1 = i;
//1
while(ADCSC1_COCO!=1
) ; //1
AD_DATA[i] = ADCRL;
//1
}
ADCSC2 = 0x40;
//1
ADCSC1 = 0x40;
//1
}
实验内容
请用C语言编程实现如下功能:
飞思卡尔QG8单片机,采用 16
位的TPM模块在通道0产生边沿
对齐的PWM方波,方波频率1KHz,
占空比可由KEY1控制(接PTA2);
KEY1事件采用中断处理方式,初
始运行时PWM方波的占空比为
25%,以后每次按动KEY1键,方
波的占空比增加25%,达到100%
后再按键则恢复到25%占空比。
参考程序
#include
#include “derivative.h”
unsigned char int PWM_HIGH;
void main(void){
DisableInterrupts;
SOPT1=0X03; //看
门狗设置及MAIN函数1分
PTBDD=0XFF; //I/O
端口设置3分
PTADD=0;
PTBD=0XFF;
TPMMOD=4000;
TPMSC=0X08;
TPMC0V=1000;
PWM_HIGH=TPMC0V;
TPMC0SC=0X68;
KBISC=0X04; //键
盘设置3分
KBIES=0;
KBIPE=0X04;
KBISC=0X06;
EnableInterrupt; //使
能中断1分
for(;;){ //死
循环1分
}
}
void interrupt 18 KBI_ISR() {
//键盘中断程
序6分
unsigned int delay;
for(delay=0;delay<1000;delay
++)
{}
if(PWM_HIGH<4000)
{PWM_HIGH+=1000;}
else{PWM_HIGH=1000;}
KBISC=0x06;
}
____________________________
小题
1、单片机组成:1> CPU 2> 存
储器 3>I/O ;
2、存储器包括2大类: ROM , RAM
3、标准ASCII码使用(1)个字
节表示字符;
4、BCD码是用(二)进制表示的
(十)的数据;
5、HCS08QG8的最小系统包括(电
源和时钟,复位电路,程序下载
口);
6、QG8管脚数量(16)、只能输
入的是(PTA5)、只能输出的是
(PTA4)、程序下载的是(PTA4)、
接外部时钟的是(PTB6和PTB7);
7、QG8的管脚可以作为数字输入
输出、也可以作为模拟输入,可
以作为模拟输入的有(A3~A0);
8、QG8管脚复用优先级最低的功
能是(数字I/O);
9、QG8存储器配置中,不同资源
的分界线(P39);
10、CPU寄存器有(A, HX, PC, CCR,
SP);
11、可以执行位操作的地址范围
(0X0000~0X005F);
12、有地址的寄存器分成了(3)
块(0页,高页,非易失);
13、如何在C语言中定义常数(数
据类型变量名;),如何指定变量
的地址(数据类型变量名 @ 地
址;);
14、堆栈的管理者是寄存器(SP);
15、SP的复位缺省值是(0X00FF),
一般应该通过程序将其调整到
(0x025F);
16、堆栈对数据的操作特点是(向
上生长型:先压后减、先弹后加;
先进后出,后进先出);
17、堆栈一般在RAM的高地址区
域还是低地址区域?高地址区
18、内部时钟源包括哪4大部分:
外部时钟,低成本晶体振荡器,可
编程内部时钟参考,锁频环
19、外部时钟分哪2大类;振荡
器,整形外部时钟
20、内部时钟中FLL固定倍频(512
倍频);
21、ICS的7种工作模式(FEI, FEE,
FBI, FBILP, FBE, FBELP, stop);
22、ICS的内部参考时钟是可以
校准、微调的,调整的寄存器名
(ICSTRM,(在0页));该寄存器
的数值越大,输出时钟频率越
(低);
23、FLASH是按页管理的,页大
小(512)字节,每页分(8)行;
24、高页寄存器可以采用扩展和
间接寻址方式进行读写,高页寄
存器位于FLASH的最后一页的(倒
数第二行)位置;
25、 FLASH的最后一页最后一行
是(中断向量);
26、 FLASH块保护寄存器(FPROT);
块加密寄存器(FOPT);对应的非
易失寄存器分别是(NVOPT,
NVPROT);
27、 FLASH操作的一般过程是:
往某个地址写一个数——清除错
误标志——往命令寄存器写命令
——发布命令——看命令是否完
成
28、 FLASH操作的有效命令有(空
检查,字节编程,突发模式编程,
页擦除,全部ROM擦除);
29、记录程序运行状态的CPU寄
存器是(CCR);
30、指令系统包括6大类指令,
分别是(算术运算指令、数据传
送指令、数据和位操作、逻辑运
算、程序控制、堆栈处理);
31、寻址方式是指(CPU访问操
作数和数据的方法);
32、寻址方式包括7大类16种,
分别是:
INH IMM DTR EXT
IX,IX1,IX2,SP1,SP2,IX+,IX1+
REL IMD, DD,IX+D,DIX+
33、8指令模板和6指令模板分别
是();
8指令:立即数,DIR,EXT,IX,
IX1,IX2,SP1,SP2
6指令:DIV,IX,IX1,SP1,A,
X
34、QG8是高电平复位还是低电平
复位?低电平
35、QG8数据存储器RAM的大小
为(512)字节;
36、上电复位期间将管脚(A4)
设置为(低)电平可以进入调试
模式
37、QG8的存储器结构为冯·诺
伊曼还是哈佛结构?冯诺依曼
38、中断过程中自动入栈的字节
有(PCL,PCH,A,CCR,X);
39、在C语言中如何定义变量为
“易变型”;用volatile
40、使用外部整形后的时钟从管
脚(PTB7)输入;
41、CPU时钟是总线时钟的(2)
倍;
42、如何调整内部时钟到想要的
频率?;
43、最高优先级中断是(复位中
断);
44、想要保护最后的4页FLASH,
则寄存器FPROT应赋值(11110110,
0xF6);
45、ADC转换器设置成硬件触发
时,是采用实时中断RTI计数器
的溢出信号(ADHWT)进行启动转
换的。
46、QG8单片机在中断处理过程中
不会自动入堆栈的CPU寄存器是
H 。
47、除法指令是将H:A除以X,
商放在 A ,余数放在
H 。
48、异步串行数据通信的帧格式
设置为1个起始位、8个数据位、
1个停止位组成。如一分钟传
送了28800个ASCII字符,则SCI
的波特率应设置为
28800*10/60= 4800 bps 。
49、SCI通信过程中,发送完成
的标志位是_TDRE_,表征接收数
据完成的标志位是__RDRF__。
50、TPM除了普通定时器的功能外,
两个独立通道还可以配置为输入
捕捉、输出比较、以及 PWM功
能。
51、通过设置时钟极性和时钟
相位来选择SPI的四种工作模
式。
52、QG8的管脚复用严重,其中
PTA0管脚最高优先级功能是
( ACMP+ )。
53、下面可作为RTI时钟源的是
(B C )。
A、总线时钟
B、内
部参考时钟 (RTI必须用1kHz的
内部时钟)
C、外部时钟
D、CPU
时钟
54、下列汇编指令中,错误的是
( D)
A、MOV $00,$70
B、LDA ,X
C、CBEQ
$0B,X+,LOOP D、
STHX ,X
55、不能导致SPI模块产生中断
事件的有( B )。
A、发送缓冲区空
B、发送完成
C、接收缓冲区满
D、总线冲突
56、QG8单片机的最高级中断入
口地址是 0xFFFE,Flash的起始
地址是 0xE000 。
57、定时器TPM通道0工作于计
数方式时,计数脉冲从TCLK 引脚
输入
58、当 SCI发送完成、RTI、ADC
和KBI四个中断同时申请时,CPU
最先响应的是( A)
A、SCI发送完成
B、KBI
C、RTI
D、ADC
59、系统内部时钟的主输出是
ICSOUT ,缺省的总线时钟是4M
Hz。
60、可以采用X+寻址的指令有
( B )。(CBEQ和MOV)
A、LDA
B、
CBEQ C、ADD D、
CPHX
61、内部寄存器( AB )可作为
间接寻址寄存器。(七种间接寻址
方式)
A、X
B、
PC C、SP
D、A
62、汇编语法格式是标号、操作
码、操作数以及注释。
63、汇编程序设计中,标号本质
是程序地址。
64、分别说明伪指令ORG、EQU、
DS、DC的意义。
P69
65、汇编程序程序设计的一般结
构包括:顺序结构、子程序结构、
分支结构、循环结构。
66、简述中断处理过程。
P78
67、中断过程中自动入栈的寄存
器顺序是:PCL, PCH, X, A, CCR
68、子程序返回指令与中断返回
指令分别是RTS(子),RTI(中),
返回处理的不同?P220
主要是返回处理不同,子程返回
不保存x、CCR等,仅返回PCH
69、MTIM启动控制位是(TSTP)
(设为1则停止计数,保留当前
数值;清除该位时从当前值开始
计数);
70、MTIM的时钟分频因子最大为
(256),而TPM的最大分频为
(128);
71、为了能产生任意占空比的波
形,要求模寄存器数值实际为
0x0001到 0x7FFE
72、SPI缺省模式下,发送字节
时是高位在前还是低位高位。
74、IIC通讯中,有效应答信号
为高电平还是低电平低电平。
75、在IIC通讯中,在时钟(低)
电平是允许数据变动。
76、简述IIC中S信号与P信号
的产生方法。
77、ADC中,信号输入范围从0
到3300毫伏,则10位ad对应的
电压分辨率为(3.23)毫伏。3300
/ 1023
78、简述实现50Hz采样的方法。
(每1/50 s取一次值)
补码%10110110的真值为
-74 。
高页寄存器可以采用扩展、变址、
相对寻址方式进行读写。
QG8寄存器被分成了三组:零页
寄存器、高页寄存器、非易失寄
存器。
乘法指令是将X与A中的数相乘,
结果的高位放在 X ,低位放在 A,
标志位C为 0。
单片机复位后,寄存器SP的缺省
数值为 0xFF ,一般应该通过程
序将其调整到 0x25F 。
QG8单片机的最高级中断入口地
址是 0xfffe 。
设字长为8位,那么十进制数37
用二进制数表示为_%100101,BCD
码表示为 _$37。
异步串行数据通信的帧格式由起
始位、数据位、奇偶校验位
和停止位组成。
系统内部时钟的主输出是
ICSOUT ,缺省的总线时钟是 4
MHz。
定时器TPM通道0工作于计数方
式时,计数脉冲从 PTA0 引
脚输入。
通过设置相位和极性来
选择SPI的四种工作模式。
a/d转换器设置成硬件触发时,是
采用 RTI 溢出信号进行启动转
换的。
正在阅读:
微机原理A4纸资料(汇编及之后)04-25
菩萨蛮&183;小山重叠金明灭05-28
20XX年7月入党积极分子思想汇报范文:为实现目标而奋03-06
古代文学期末复习题大二上11-22
寒假安全公约02-16
2015年春四年级语文期末测试卷03-09
- 【重点推荐】最新高中地理 第四章 地表形态的塑造 4.3 河流地貌
- 第6章事件的概率检测题附答案解析
- 外研版英语八年级下册Module 8 Time off 模块达标检测卷
- 最新初中八年级上音乐教案知识分享
- 三年级上册品德一课一练-第四课 欢迎来我家 浙教版(含答案)
- 初级电工证考试试题及答案
- 2018年北京物资学院计算机应用技术911计算机学科专业基础综合之
- 广东省揭阳市2021届高三上学期期末学业水平调研数学(文)试题Word
- 材料成形原理(B)答案
- 确定地基承载力方法若干问题的讨论
- 2020年人教版英语九年级unit2 第五课时 Self Check 导学案设计(
- 互联网金融与金融互联网的监管研究
- 【人教版】小学数学四年级下册知识点总结
- 第十单元酸和碱(笔记)
- 车牌识别系统的研究背景意义及国内外研究现状
- 未来的什么小学生作文200字范文
- 微观经济学第三章习题及答案
- 华师大版本中考数学总复习全套学案
- 高三历史一轮复习(岳麓版)知能演练强化闯关:第十五单元第30讲
- 【英语教案】八年级英语上册《8AUnit1Friends》Period5Grammar(2