📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h>/* derivative information */
#include "crg.h" /* configure the pll */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
/* 发送数据子程序 */
void send_data(unsigned char data)
{
SPI1DR=data; //发送数据
while(!(SPI1SR&0x20));//查询等待
}
/* 延时子程序 */
void delay(long m)
{
while(m--);
}
/* 数码管位选子程序 */
void select_bit(unsigned char cs)
{
PTT&=0xf0; //关显示
PTT|=cs; //选中某一位
}
/* SPI初始化子程序 */
void SPI_int()
{
SPI1CR1=0x5C; //使能SPI,主机模式,其他取默认值,上升沿发送数据,先发高位
SPI1BR=0x00; //bus clk/2
}
void main(void)
{
/* put your own code here */
SET_PLL(); //调用设置PLL程序
EnableInterrupts;
DDRT=0xff; //T口定义为输出
SPI_int();
PTT|=0x20; //选中74HC164
while(1)
{
send_data(0xc0); //发送0的段码
select_bit(1); //选中第一位
delay(1000); //延时一段时间
send_data(0xf9); //发送1的段码
select_bit(2); //选中第二位
delay(1000); //延时一段时间
send_data(0xa4); //发送2的段码
select_bit(4); //选中第三位
delay(1000); //延时一段时间
send_data(0xb0); //发送3的段码
select_bit(8); //选中第四位
delay(1000); //延时一段时间
PTT&=0xf0; //关显示
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -