全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:8133
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

LCD如何顯示亂數

答題得分者是:scott123
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-06-03 23:06:38 IP:111.255.xxx.xxx 訂閱
最近要做專題 剛接觸C語言 很多東西都不太懂 使用8051
請問如果想把ranX的值顯示在LCD上 有大大可以提供方法嗎??
int ranX

ranX=rand()P 1; // 1~50-------------------------------------------------------------
我在網路上有看到用 printf(s,"%d",ranX); 顯示出來是亂碼

我的部份程式碼:

char MSG1[]=s;
char MSG2[]="WELCOME";
WriteString(7,MSG2);
while(1)
{
KeyScan();
if(KeyData!=0xff)
{
WriteIns(0x01); /* clear DD RAM */
if(KeyData==0)
WriteString(2,MSG1);

編輯記錄
qwerty1789 重新編輯於 2012-06-04 03:22:58, 註解 無‧
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-06-04 11:51:28 IP:203.73.xxx.xxx 訂閱
你的問題應該是如何產生亂數,然後顯示在LCD上

亂數有在電腦上執行產生的,也有在單晶片產生的
既然你都發問在單晶片版上,你要問說的應該是單晶片如何產生亂數
如果是單晶片上,因為是單晶片程式都可預知,很難有真亂數,不過可以用中斷的特性來產生亂數
先開啟中斷,然後把中斷計時的COUNT拿來處理後,當成亂數來用

再來就是如何在LCD上顯示出值,LCD在市面很多種
不過既然是專題,應該是選市面上最常使用的16X2 LCD
這一個控制不難
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-06-04 17:25:36 IP:111.255.xxx.xxx 訂閱
我是用8051打的  16X2的LCM
請問一定要用中斷的方式嗎?? ranX在8051上不能用嗎?
LCM顯示很簡單嗎?? 可以提供方法嗎? 現在只會顯示字串
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-06-04 17:40:58 IP:203.73.xxx.xxx 訂閱
不是一定要用中斷
只是開啟中斷之後,TL0和TH0會一直累加
當你按下KEY之後,可以把這兩個運算後當亂數
當然,產生亂數方法很多種
個人覺得這一個方法得到的亂數較真

16X2 LCM顯示方法很簡單
如果只是要應付專題,google,很多程式可以直接copy
如果想要學點東西,可以寫出目前卡在什麼地方,我們再幫忙提示

===================引 用 qwerty1789 文 章===================
我是用8051打的 16X2的LCM
請問一定要用中斷的方式嗎?? ranX在8051上不能用嗎?
LCM顯示很簡單嗎?? 可以提供方法嗎? 現在只會顯示字串
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-06-04 18:59:07 IP:111.255.xxx.xxx 訂閱
請問像這樣用 就會顯示在LCD上了嗎   另外我是想做可以用4X4鍵盤控制亂數的範圍 用這個可以做到嗎??
void main()
{
initLCM();
TMOD = 0x02;
TH0 = 256 -100;
TR0 =1;
intT0();
while(1)
{
if( Key_pressed )
{
Random = 256 - TL0;
LCMDisplayNumber( Random );
}
}
}
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-06-05 10:30:11 IP:203.73.xxx.xxx 訂閱
這樣寫方向沒錯

亂數可以用取餘數的方式取得(%)
譬如可以取0~7,可以除8取餘數
這是基本取亂數的寫法
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-06-05 18:55:12 IP:111.255.xxx.xxx 訂閱
所以用那個方法可以用4X4測定範圍嗎 
假如初始值是1~50 那可以用按鍵改範圍 例:3~48
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2012-06-06 09:35:49 IP:203.73.xxx.xxx 訂閱
可以
===================引 用 qwerty1789 文 章===================
所以用那個方法可以用4X4測定範圍嗎
假如初始值是1~50 那可以用按鍵改範圍 例:3~48
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2012-06-06 16:24:20 IP:111.255.xxx.xxx 訂閱
可以提供一下方法嗎??  還有LCD顯示變數  還是找不到
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#10 引用回覆 回覆 發表時間:2012-06-06 17:54:24 IP:203.73.xxx.xxx 訂閱
看樣子你應該卡在LCD顯示和鍵盤掃描

看過書了嗎,8051的書都有範例
不想買的話,可以到學校圖書館借

===================引 用 qwerty1789 文 章===================
可以提供一下方法嗎?? 還有LCD顯示變數 還是找不到

//******************************************************************************
// MSP430G2452 MSP430G2452
// ----------------- -----------------
// /|\| XIN|- /|\| XIN|-
// | | | | | |
// --|RST XOUT|- --|RST XOUT|-
// | | | |
// >---| P3.0|-->DB0 >---| |
// >---| P3.1|-->DB1 >---| |
// >---| P3.2|-->DB2 >---| |
// >---| P3.3|-->DB3 >---| |
// >---| P3.4|-->DB4 >---| P3.0|-->DB4
// >---| P3.5|-->DB5 >---| P3.1|-->DB5
// >---| P3.6|-->DB6 >---| P3.2|-->DB6
// >---| P3.7|-->DB7 >---| P3.3|-->DB7
// >---| P2.0|-->RS >---| P2.0|-->RS
// >---| P2.1|-->RW >---| P2.1|-->RW
// >---| P2.2|-->EN >---| P2.2|-->EN
// 8bit 4bit
//
//******************************************************************************
/*******************************************************
Input:
output:void
description:
*******************************************************/
void lcd_init(void)
{
_NOP();
_NOP();
delay(10000);
_NOP();
write_command(0x38); //8位元 雙列 5x10點矩陣
write_command(0x38); //8位元 雙列 5x10點矩陣
delay(100);
write_command(0x0C); //字幕顯示 游標不顯示 不閃爍
delay(100);
write_command(0x01); //清除螢幕
delay(100);
write_command(0x02); //游標歸零
delay(100);
write_command(0x06); //游標右移 字幕不動
delay(100);
}
/*******************************************************
Input:
output:void
description:
*******************************************************/
void write_data(unsigned char value)
{
LCD_EN_0;
LCD_RS_1;
delay(10);
LCD_RW_0;
delay(10);
LCD_DB_P=value;
delay(10);
LCD_EN_1;
delay(10);
LCD_EN_0;
delay(10);

}
/*******************************************************
Input:
output:void
description:
*******************************************************/
void write_command(unsigned char value)
{

LCD_EN_0;
LCD_RS_0;
delay(10);
LCD_RW_0;
delay(10);
LCD_DB_P=value;
delay(10);
LCD_EN_1;
delay(10);
LCD_EN_0;
delay(10);

}
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2012-06-06 20:13:34 IP:111.255.xxx.xxx 訂閱
我看的書  可是他都像我上面打的 用char MSG[] 來顯示 
請問你的程式顯示變數是哪一段呢?? 好像沒看到 (還是我看不懂)
我的程式碼 不過我用printf 顯示出來是亂碼 那要怎嚜改LCD才會正常顯示呢
#include "reg51.h"
#include "stdlib.h"
#include "stdio.h"
#define RS P2_0
#define RW P2_1
#define Enable P2_2
sbit P2_0=0xa0;
sbit P2_1=0xa1;
sbit P2_2=0xa2;
void delay(void);
void InitialLCD(void);
void WriteIns(char);
void WriteData(char);
void WriteString(char,char *);
void CheckBusy(void);
void KeyScan(void);
char one=0;
char zero=0;
int KeyData=0xff;
int KeyTemp=0xff;
int ranX;
char s[5];

main()
{
char MSG0[]="WELCOME";
char MSG1[]="1";
char MSG2[]=s;
ranX=(rand()P) 1;
printf(s,"%d",ranX);
InitialLCD();
WriteString(7,MSG0);
while(1)
{
KeyScan();
if(KeyData!=0xff)
{
WriteIns(0x01); /* clear DD RAM */
if(KeyData==0)
WriteString(7,MSG0);
else if(KeyData==1)
WriteString(1,MSG1);
else if(KeyData==2)
WriteString(1,MSG2);
KeyData=0xff;
}
}
} /* main */

void InitialLCD(void)
{
WriteIns(0x38);
WriteIns(0x38);
WriteIns(0x38);
WriteIns(0x38);
WriteIns(0x08); /* off display */
WriteIns(0x01); /* clear buffer */
WriteIns(0x0e); /* on display */
WriteIns(0x06); /* set input mode */
} /* InitialLCD */

void WriteIns(char instruction)
{
RS=0;
RW=0;
Enable=1;
P0=instruction;
Enable=0;
CheckBusy();
} /* WriteIns */

void WriteData(char i)
{
RS=1;
RW=0;
Enable=1;
P0=i;
Enable=0;
CheckBusy();
} /* WriteData */

void WriteString(count,MSG)
char count;
char MSG[];
{
char i;
for(i=0;i WriteData(MSG[i]);
} /* WriteString */

void CheckBusy(void)
{
char i=0x80;
while(i&0x80)
{
RS=0;
RW=1;
Enable=1;
i=P0;
Enable=0;
delay();
}
} /* CheckBusy */

void delay(void)
{
int i;
for(i=0;i<500;i )
;
} /* delay */

void KeyScan(void)
{
char col,row;
char ScanLine=0x08;
int key=0;
int KeyStatus;
for(col=0;col<5;col )
{
P1=~ScanLine;
KeyStatus=~P1;
KeyStatus&=0xf0;
for(row=0;row<4;row )
{
if(KeyStatus==0x80)
{
one=0;
if(KeyTemp!=key)
{
KeyTemp=key;
zero=1;
}
else
{
if(zero!=5)
{
zero =1;
if(zero==5)
KeyData=KeyTemp;
}
}
}
key =1;
KeyStatus<<=1;
} /* row */
ScanLine>>=1;
} /* col */
one =1;
if(one==5)
{
zero=0;
KeyTemp=0xff;
KeyData=0xff;
}
} /* KeyScan */








scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#12 引用回覆 回覆 發表時間:2012-06-07 09:13:53 IP:203.73.xxx.xxx 訂閱
基本上,書上電路圖  程式都有了
硬體電路就先接起來,晶片程式燒進去試看看是不是書上寫的功能
到時後再來討論要改哪裡
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#13 引用回覆 回覆 發表時間:2012-06-07 17:30:06 IP:111.255.xxx.xxx 訂閱
我都接完了 就剩程式  就是那個亂數顯示出來是亂碼 
不是數字
kib72377
高階會員


發表:1
回覆:217
積分:238
註冊:2004-11-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2012-06-07 18:36:54 IP:125.233.xxx.xxx 未訂閱
會是這個問題嗎?
你的的亂數是 "二進制數值",
你要先轉成 "字串" (ASCII碼).


用 模擬器除錯,
執行到 printf(s,"%d",ranX); 之後,
看轉換後的 s 資料長什麼樣子.

編輯記錄
kib72377 重新編輯於 2012-06-07 06:31:22, 註解 無‧
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#15 引用回覆 回覆 發表時間:2012-06-07 18:59:01 IP:111.255.xxx.xxx 訂閱
如果是這樣要怎麼轉呢 
不太會用DEBUG
是這樣嗎 不過我看不太懂
char MSG2[]=s;
C:0x0D91 782C MOV R0,#0x2C
C:0x0D93 7C00 MOV R4,#0x00
C:0x0D95 7D00 MOV R5,#0x00
C:0x0D97 7BFF MOV R3,#0xFF
C:0x0D99 7A10 MOV R2,#s(0x10)
C:0x0D9B 7937 MOV R1,#0x37
C:0x0D9D 7E00 MOV R6,#0x00
C:0x0D9F 7F01 MOV R7,#0x01
C:0x0DA1 120C2C LCALL C?COPY(C:0C2C)

printf(s,"%d",ranX);
C:0x0DB7 7530FF MOV 0x30,#0xFF
C:0x0DBA 753110 MOV 0x31,#s(0x10)
C:0x0DBD 75322A MOV 0x32,#0x2A
C:0x0DC0 F533 MOV 0x33,A
C:0x0DC2 850934 MOV 0x34,0x09
C:0x0DC5 7B00 MOV R3,#0x00
C:0x0DC7 7A00 MOV R2,#0x00
C:0x0DC9 7910 MOV R1,#s(0x10)
C:0x0DCB 120862 LCALL PRINTF(C:0862)

編輯記錄
qwerty1789 重新編輯於 2012-06-07 08:27:44, 註解 無‧
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#16 引用回覆 回覆 發表時間:2012-06-08 09:23:53 IP:203.73.xxx.xxx 訂閱

查一下lcd datasheet的字體表,如果沒有的話,請用ascii表代替,重要的字元都會一樣
輸入0x30=0 輸入0x40=a 輸入0x60=A
你可能是沒有字型轉換
假設你的亂數是0x35,如果你直接輸入的話,顯示會是5
所以你應該把0x35轉成可以輸出3和5的值
假設你的亂數是64,就需要轉成0x36和0x34輸入, 就可以顯示64

看一下ascii表,假設你的亂數是64,但你沒有做轉換就直接輸入的話,它會輸出 @

/*******************************************************
Input:
output:void
description:把接收到的值轉成ascii,顯示到LCM
*******************************************************/
void showasc2hex(unsigned char value)
{
unsigned char temp;
temp = value;
temp = temp >> 4;

temp = temp 0x30;
if(temp > 0x39)
temp = temp 0x07;
write_data(temp);

temp = value;
temp = temp & 0x0F;
temp = temp 0x30;
if(temp > 0x39)
temp = temp 0x07;
write_data(temp);
}


===================引 用 qwerty1789 文 章===================
我都接完了 就剩程式 就是那個亂數顯示出來是亂碼
不是數字
編輯記錄
scott123 重新編輯於 2012-06-07 19:36:03, 註解 無‧
scott123 重新編輯於 2012-06-07 19:37:24, 註解 無‧
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#17 引用回覆 回覆 發表時間:2012-06-09 12:38:26 IP:111.255.xxx.xxx 訂閱
可以解釋怎麼使用嗎??
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#18 引用回覆 回覆 發表時間:2012-06-10 09:35:42 IP:118.170.xxx.xxx 訂閱
判斷你已經可以點亮LCD了

再來就是了解LCD的運作
寫入LCD有分兩種,一種是COMMAND,一種是DATA

首先你COMMAND先下0X80
再下DATA 0X30
你就會看在第一行的第一格顯示0

再來就是COMMAND先下0XC2
再下DATA 0X40
你就會看在第二行的第三格顯示A

以上兩個都可以顯示的話,你應該知道怎麼修改了

WriteIns(0x80);
WriteData(0x30);
WriteIns(0xC2);
WriteData(0x40);

===================引 用 qwerty1789 文 章===================
可以解釋怎麼使用嗎??
編輯記錄
scott123 重新編輯於 2012-06-09 19:39:21, 註解 無‧
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#19 引用回覆 回覆 發表時間:2012-06-10 19:32:49 IP:111.255.xxx.xxx 訂閱
我在網路上看到別人說rand 會重複  8051又沒有"time.h"
那該怎麼做 之前提到的計時器可以做嗎??
看不太懂怎麼用
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#20 引用回覆 回覆 發表時間:2012-06-11 09:31:49 IP:203.73.xxx.xxx 訂閱
控制LCD這一個問題先把它解決了吧
先可以在LCD任意點顯示我們要的值,這是目前要先解決的

中斷開啟的時後,TL0和TH0會快速累加,所以我們可以利用這個來產生亂數

===================引 用 qwerty1789 文 章===================
我在網路上看到別人說rand 會重複 8051又沒有"time.h"
那該怎麼做 之前提到的計時器可以做嗎??
看不太懂怎麼用
tick228
中階會員


發表:1
回覆:28
積分:55
註冊:2003-11-03

發送簡訊給我
#21 引用回覆 回覆 發表時間:2012-06-11 18:46:44 IP:101.13.xxx.xxx 未訂閱
您好, 提供幾點建議, 參考看看:

1. rand() 都是以一個種子(RandSeed)來當計算基值, 再由計算後的值當種子; 所以程式若未指定種子,
就會使用內定值; 程式每次重新執行, rand() 就會取得相同的值; 一般要使用 rand() 前, 都會在程式一開
始時, 就執行 srand(x) 來指定種子, x 就是種子值, 可取 TL0 及 TH0 來計算當種子.

2. 一般要將 printf() 的值傳給 char array, 不是用 sprintf() 嗎?
printf(s,"%d",ranX); ==> sprintf(s,"%d",ranX);

3. WriteString(char,char *) 的使用方式不太好, 必須要指定字元數, 若可改成下列方式, 用指標 char* 即可
/////////////////////////////////
void WriteString(char *pMsg)
{
while( *pMsg )
WriteData( *pMsg );
}
/////////////////////////////////

4. 因應 3, char [] 需改用 char* 改為下列方式:
/////////////////////////////////
char *MSG0="WELCOME";
char *MSG1="1";
char *MSG2=s;
/////////////////////////////////

呼叫 WriteString( ) 也改成下列方式:
/////////////////////////////////
WriteString(MSG0);
WriteString(MSG1);
WriteString(MSG2);
/////////////////////////////////

5. 若是不改
WriteString( ), 則改下列兩行試試
printf(s,"%d",ranX); ==> sprintf(s,"-",ranX);
WriteString(1, MSG2); ==> WriteString(2, s);

謝謝!!

===================引 用
qwerty1789 文 章===================
我都接完了 就剩程式 就是那個亂數顯示出來是亂碼
不是數字

編輯記錄
tick228 重新編輯於 2012-06-11 04:47:54, 註解 無‧
tick228 重新編輯於 2012-06-11 04:48:33, 註解 無‧
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#22 引用回覆 回覆 發表時間:2012-06-11 19:20:21 IP:111.255.xxx.xxx 訂閱
感謝大大分享  之前還在困擾如果用變數不知道打幾位元
請問TH0當種子那個 程式碼的使用方法可以教我嗎?? 因為那個看了書還是不懂
編輯記錄
qwerty1789 重新編輯於 2012-06-11 05:23:32, 註解 無‧
tick228
中階會員


發表:1
回覆:28
積分:55
註冊:2003-11-03

發送簡訊給我
#23 引用回覆 回覆 發表時間:2012-06-11 21:09:04 IP:101.13.xxx.xxx 未訂閱
亂數部份, 你可參考下列網址

http://www.pjrc.com/tech/8051/rand.html

及下面文件


http://cnc7.km.edu.tw/km47/UploadDocument/247_95¬ì®i_³洹¤ù¶üƻP¥Î.pdf

qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#24 引用回覆 回覆 發表時間:2012-06-11 22:49:12 IP:111.255.xxx.xxx 訂閱
請問可以教我嗎??
因為第一個是英文網站 用GOOGLE翻譯 還是看不太懂
好像沒有提到如何寫
第二個文件是組合語言 我對組合語言很陌生看不太懂

scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#25 引用回覆 回覆 發表時間:2012-06-11 22:53:54 IP:114.41.xxx.xxx 訂閱
乾脆你把你的硬體電路po上來,我寫個程式給你測

===================引 用 qwerty1789 文 章===================
請問可以教我嗎??
因為第一個是英文網站 用GOOGLE翻譯 還是看不太懂
好像沒有提到如何寫
第二個文件是組合語言 我對組合語言很陌生看不太懂

qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#26 引用回覆 回覆 發表時間:2012-06-11 23:42:52 IP:111.255.xxx.xxx 訂閱
16X2LCD
RS P2_0
RW P2_1
Enable P2_2
DB0~DB7-----P0_0~P0_7

4X4鍵盤
接到P1
scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#27 引用回覆 回覆 發表時間:2012-06-12 14:14:46 IP:203.73.xxx.xxx 訂閱
http://delphi.ktop.com.tw/download.php?download=upload/4fd6dc2c67260_test.rar

抱歉不知道怎麼直接連接下載,只好給載點了
先簡單說明一下
先把RS RW EN改成P2.5 P2.6 P2.7
我沒有4x4key,只有一個P1.0key,如果需要,可以自已增加

程式開始先做開始初使化設定後
首先在第一行第1格位置顯示123
然後在第二行第1格位置顯示ABC
然後如果偵測到KEY按下,則取TL0和TH0做相加,除10取餘數,然後經過轉換後,顯示在LCD上

void main(void)
{
lcm_init();
SerialInt_Init();
SystemInit();
_nop_();
print_command(clear_display); //清除螢幕
print_command(0x80);
print_data(0x31); //
print_data(0x32); //
print_data(0x33); //
print_command(0xC0);
print_data(0x41); //
print_data(0x42); //
print_data(0x43); //
delay1ms(60000);
delay1ms(60000);
while(1)
{
if(SW1==0) //如果按鈕被按下
{
print_command(0x01); //清除螢幕
print_command(0x80); //顯示在第一行第1格
temp=TL0 TH0; //取TL0加TH0
temp=temp; //取除以10之後的餘數 0~9
asc2hex(temp); //經過轉換之後顯示在LCD上
delay1ms(60000);
delay1ms(60000);
}
}
}
編輯記錄
scott123 重新編輯於 2012-06-12 00:16:55, 註解 無‧
qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#28 引用回覆 回覆 發表時間:2012-06-12 23:34:29 IP:111.255.xxx.xxx 訂閱
請問如果要把範圍改成1~50
temp=temp; 直接把10換成50就好了嗎??
還是其他的也要改 例如:
asc2hex(temp);

void SerialInt_Init(void)


taishyang
站務副站長


發表:377
回覆:5486
積分:4552
註冊:2002-10-08

發送簡訊給我
#29 引用回覆 回覆 發表時間:2012-06-13 09:57:30 IP:114.32.xxx.xxx 訂閱
若有試過修改,可以將你修改的code PO上來討論scott123 前輩的熱情可能很快就會被你澆熄了^^|

===================引 用 qwerty1789 文 章===================
請問如果要把範圍改成1~50
temp=temp; 直接把10換成50就好了嗎??
還是其他的也要改 例如:
asc2hex(temp);

void SerialInt_Init(void)


scott123
中階會員


發表:19
回覆:66
積分:52
註冊:2011-08-11

發送簡訊給我
#30 引用回覆 回覆 發表時間:2012-06-13 10:46:00 IP:203.73.xxx.xxx 訂閱
你的專題快要變成是我做的了,別忘了在專題報告後面感謝曾經在網路上解答過你問題的人

A%B是指 取A除以B之後餘數
先試看看我的程式可不可行,回覆一下

===================引 用 qwerty1789 文 章===================
請問如果要把範圍改成1~50
temp=temp; 直接把10換成50就好了嗎??
還是其他的也要改 例如:
asc2hex(temp);

void SerialInt_Init(void)


qwerty1789
一般會員


發表:1
回覆:21
積分:4
註冊:2012-06-03

發送簡訊給我
#31 引用回覆 回覆 發表時間:2012-06-13 16:30:05 IP:111.255.xxx.xxx 訂閱
因為家裡沒燒錄器  不能馬上操作  不好意思
[<<] [1] [2] [>>]
系統時間:2017-12-15 23:57:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!