久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
控制燈的亮滅,可以實現串口通信以及電腦控制單片機
[打印本頁]
作者:
huanghu
時間:
2018-4-29 08:41
標題:
控制燈的亮滅,可以實現串口通信以及電腦控制單片機
此程序思路是,前提知道這三位數為X.XX,而且不能連續發送,寫的不好還請大神指教
單片機源程序如下:
/*********************該程序可實現燈的亮滅**可以實現串口通信以及電腦控制單片機*********************************/
/*該程序寫的比較好*//*通過兩個不同的標志位實現,非常棒*/
//只能發送一次,不能連續發送
#include <STC15f2k60s2.h>
#define u16 unsigned int
#define u8 unsigned char
u16 pwm_value;
unsigned char UART_buff;//串口的接收和發送(只能是單個字符的使用)
unsigned char receive[50];//用于接收所發出來的字符串
unsigned char i;
int xianshi;
double shuju;
bit New_rec = 0, Send_ed = 1, Money = 0; //定義的一些標記位
unsigned char code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};//這是時鐘所用到的數
/*******用于一毫秒的延時****************/
void delayms(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
/*數碼管顯示程序2*/
void display1(int h)
{
P2=0xfe;
P0=DSY_CODE[h/100];
delayms(1);
P2=0xff;
P0=0xff;
P2=0xfd;
P0=DSY_CODE[h%100/10];
delayms(1);
P2=0xff;
P0=0xff;
P2=0xfb;
P0=DSY_CODE[h%100%10];
delayms(1);
P2=0xff;
P0=0xff;
}
//========================================================================
// 函數: UpdatePwm(u8 PCA_id, u16 pwm_value)
// 描述: 更新PWM值.
// 參數: PCA_id: PCA序號. 取值 PCA0,PCA1,PCA2,PCA_Counter
// pwm_value: pwm值, 這個值是輸出高電平的時間.
// 返回: none.
// 版本: V1.0, 2012-11-22
//========================================================================
void UpdatePwm(u16 uart_date)
{
pwm_value=uart_date/2;
if(pwm_value == 0)
{
CCAP0H =0xff;
}
else
{
CCAP0H = (u8)(256 - pwm_value);
}
}
//----------------------------------------------
void main (void)
{
AUXR |= 0x40; //設置1T
AUXR &= 0xfe; //設置定時器1為串口1波特率發生器
PCON &= 0x7f; //不加倍
TMOD = 0x20; //定時器1工作方式2
TH1 = 0xdc;
TL1 = 0xdc;
SM0 = 0;
SM1 = 1;
REN = 1;
TR1 = 1;
ES = 1;
EA = 1;
while(1)
{
while(i>=2) //串口發送數字的位數如2.00
{
shuju=(double)(receive[0])+(double)(receive[1])/10+(double)(receive[2])/100; //把輸入的每一個數轉化為輸入的數
xianshi=shuju*100; //乘100為數碼管顯示方便
display1(xianshi);
// PCA0初始化
AUXR1 &= ~0x30;
AUXR1 |= 0x10; //切換IO口, 0x00: P1.2 P1.1 P1.0 P3.7, 0x10: P3.4 P3.5 P3.6 P3.7, 0x20: P2.4 P2.5 P2.6 P2.7
CCAPM0 = 0x42; //工作模式 PWM
PCA_PWM0 = (PCA_PWM0 & ~0xc0) | 0x00; //PWM寬度, 0x00: 8bit, 0x40: 7bit, 0x80: 6bit
CMOD = (CMOD & ~0xe0) | 0x08; //選擇時鐘源, 0x00: 12T, 0x02: 2T, 0x04: Timer0溢出, 0x06: ECI, 0x08: 1T, 0x0A: 4T, 0x0C: 6T, 0x0E: 8T
CR = 1;
UpdatePwm(xianshi);
}
if ((New_rec == 1) && (Send_ed == 1))
{ //如果收到新數據及發送完畢
New_rec = 0;
Send_ed = 0;
}
}
}
//----------------------------------------------
void ser_int (void) interrupt 4
{
if(RI == 1)
{ //如果收到.
RI = 0; //清除標志.
New_rec = 1;//表明收到了信息了
if((SBUF >= '0') && (SBUF <= '9'))
{
receive[i]=SBUF-'0';//將字符串按字節放入到數組當中,起到一定的緩存作用
i++;
}
UART_buff = SBUF; //接收.只支持字符,不支持字符串
SBUF=UART_buff;//這個用于電腦串口的接收,也就是發送
TI = 0; //清除標志.
Send_ed = 1;
}
else { //如果送畢.
TI = 0; //清除標志.
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
15電腦串口控制單片機電壓精美版.zip
(32.79 KB, 下載次數: 24)
2018-4-29 08:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
s360221867
時間:
2018-8-28 14:51
資料不錯,先收起來了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美激情一区二区
|
亚洲区视频
|
中文字幕视频一区二区
|
国产精品九九九
|
国产高清一二三区
|
精品久久久久一区二区国产
|
成人一区二区三区在线观看
|
成人av免费看
|
亚洲欧美日韩激情
|
久久国产精品一区二区
|
国产原创视频
|
欧美日韩精品久久久免费观看
|
国产在线观看网站
|
在线视频日韩精品
|
黄色a视频
|
天天插日日操
|
日韩视频免费看
|
国产精品成人品
|
国产精品日韩高清伦字幕搜索
|
日韩一区二区三区在线
|
黄色av网站在线观看
|
亚洲在线一区
|
国产精品美女久久久久久免费
|
国产精品一区二区免费
|
福利av在线
|
午夜欧美
|
中文字幕亚洲欧美
|
免费一看一级毛片
|
黄色在线免费观看视频网站
|
波多野结衣精品在线
|
日韩久久网
|
精品国产黄色片
|
福利片在线观看
|
在线一区二区观看
|
中文字幕中文字幕
|
九九亚洲精品
|
欧美一级免费看
|
中文字幕在线一区二区三区
|
亚洲高清视频一区二区
|
91久久久久久久
|
国产农村妇女毛片精品久久麻豆
|