久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
用iar編譯的mspg2553程序,74hc164驅(qū)動四段共陰管顯示
[打印本頁]
作者:
51黑ss
時間:
2016-3-30 19:52
標(biāo)題:
用iar編譯的mspg2553程序,74hc164驅(qū)動四段共陰管顯示
74HC164數(shù)碼管顯示 msp430g2553IAR:
74HC164數(shù)碼管顯示.zip
(164.57 KB, 下載次數(shù): 10)
2016-3-30 19:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
#include"io430.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define CLK0 P1OUT&=~BIT6
#define CLK1 P1OUT|=BIT6
#define hc_sr040 P1OUT&=~BIT4
#define hc_sr041 P1OUT|=BIT4
#define CPU_F ((double)1000000) //外部高頻晶振16MHZ
//#define CPU_F ((double)32768) //外部低頻晶振32.768KHZ
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
unsigned char const code_hex[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x39,0x79,0x0e,0x3e};//0,1,2,3,4,5,6,7,8,9,c,e,j,u
uchar t;
uchar hc_sr04_cishu,hc_sr04_flag;
uchar xianshi_flag;
float hc_sr04_time;
uint xishu;
uchar dis_play[4]={10,11,12,13};
void extern_16m()
{
WDTCTL = WDTPW + WDTHOLD;
if (CALBC1_1MHZ == 0xFF || CALDCO_1MHZ == 0xFF)
{
while(1); // If calibration constants erased, trap CPU!!
}
DCOCTL |= DCO0 + DCO1+DCO2; //SMCLK選擇LFXT1CLK
// BCSCTL2 |= SELM_0;//MCLK采用1M的內(nèi)部DCO
// BCSCTL2 |= DIVS_0;//SMCLK采用內(nèi)部的時鐘
}
void hc164_init()
{
P1DIR |=BIT6+BIT7+BIT0+BIT1+BIT2+BIT3; // P1.0 output
}
void hc_sr04()
{
P1DIR |=BIT4;
P1DIR &=~BIT5;
P1IE |=0x20; //上升沿觸發(fā)
P1IES |=0x00;
hc_sr04_flag=3;//默認準(zhǔn)備發(fā)射狀態(tài)
}
void sendbyte(uchar byte)
{
uchar c,num;
num=byte;
for(c=0;c<8;c++)
{
P1OUT&=~0x80;
CLK0;
P1OUT|=num&0x80; //(0x80即十進制的128, 二進制的10000000 按位發(fā)送
CLK1;
num<<=1;
}
}
void send_char(uchar weizhi,uchar byte)
{
P1OUT |= 0x0f;
uchar c,send_byte;
send_byte=code_hex[byte];
if((weizhi==0)&&(xianshi_flag==0))
send_byte|=0x80;
if((weizhi==1)&&(xianshi_flag==1))
send_byte|=0x80;
sendbyte(send_byte);
c=weizhi&0x03;
P1OUT&=~(1<<c);
}
void init_TA()
{
TACCR0 = 5000; //4ms中斷一次
TACTL = TASSEL_2 + MC_1; // SMCLK, upmode,8分頻,
TACCTL0 = CCIE; // TACCR0 interrupt enabled
}
void shumaguan()
{
++t;
if(t>=4)
t=0;
send_char(t,dis_play[t]);
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMERA0_ISR() // the interrupt source is CC0
{
shumaguan();
hc_sr04_cishu++;
if(( hc_sr04_flag==3)&&(hc_sr04_cishu==100))//500ms測距一次
{
hc_sr041;
P1IE |=0x20;
delay_us(10);
hc_sr040;
}
if(hc_sr04_flag==2)
{
float juli;
uint juli1;
juli=(float)(hc_sr04_time/5.8139);
juli1=(uint)(juli);
if(juli1<10000)
{
xianshi_flag=0;
dis_play[0]=(juli1/1000);
dis_play[1]=(juli1%1000/100);
dis_play[2]=(juli1%1000%100/10);
dis_play[3]=(juli1%10);
}
else
{
xianshi_flag=1;
dis_play[0]=(juli1/10000);
dis_play[1]=(juli1%10000/1000);
dis_play[2]=(juli1%10000%1000/100);
dis_play[3]=(juli1%10000%1000%100/10);
}
hc_sr04_flag=3;
hc_sr04_cishu=0;
}
}
#pragma vector =PORT1_VECTOR
__interrupt void Port_1(void)
{
switch(P1IES&0x20)
{
case 0:TAR=0;P1IES=0x20;hc_sr04_flag=1;hc_sr04_cishu=0;break;
case 0x20:hc_sr04_time=5000*hc_sr04_cishu+TAR;P1IES=0;hc_sr04_flag=2;P1IE &=~0x20;break;
}
P1IFG=0;
}
復(fù)制代碼
作者:
51hei電控2112311
時間:
2016-6-4 02:06
這個和上個重復(fù)了,都是超聲波測速的。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
伊人9999
|
伊人网在线播放
|
久久99精品久久久久久国产越南
|
国产成人免费视频
|
日韩av手机在线观看
|
欧美性猛交99久久久久99按摩
|
放几个免费的毛片出来看
|
欧美69式性猛交
|
啪啪综合网
|
日韩视频免费在线观看
|
99热视
|
亚洲日本国产
|
久久久综合
|
国产精品一区二区在线播放
|
午夜在线观看视频网站
|
黄色一级片视频
|
极品美女一区二区三区
|
麻豆成人免费视频
|
美日韩一区二区三区
|
毛片网站大全
|
亚洲精品一区二区三区精华液
|
久久精品综合
|
中文在线观看视频
|
黄色片网站免费
|
亚洲欧美精品
|
金银在线
|
日韩不卡一区二区
|
久久精品久久久久
|
久久久中文字幕
|
欧美久久久久久久久
|
午夜视频在线播放
|
国产免费一区二区三区免费视频
|
亚洲亚洲人成综合网络
|
天天操夜夜爽
|
日韩视频免费在线观看
|
99在线视频免费观看
|
国产理论在线
|
蜜桃视频成人
|
日韩精品三级
|
久久久久久99精品久久久
|
www一区
|