|
500黑幣
0.png (72.86 KB, 下載次數: 82)
下載附件
2017-5-15 18:43 上傳
- /*
- *****************************************
- 名稱:LCD1602顯示字符
- 描述:單片機通過并口連接LCD,第一行滾動顯示字符,第二行顯示串口接收到的字符
- *****************************************
- */
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar FlagT = 0; //滾動顯示時間標志位
- uchar Flag3s = 0; //3秒時間標示
- uchar AdcDat0 = 0; //三個通到讀到的電壓值
- uchar AdcDat1 = 0;
- uchar AdcDat2 = 0;
- #include"LCD1602.h" //包含LCD1602頭文件
- #include"ADC0809.h"
- /* 主函數:初始化LCD,顯示字符 */
- void main()
- {
- LcdInit();
-
- LcdShowStr(0, 0, "DL:");
-
- TMOD = 0x11;
- TH0 = 0xFC;
- TL0 = 0x18;
- ET0 = 1;
- TR0 = 1;
-
- TH1=0xFF;
- TL1=0xFA;
- ET1 = 1;
- TR1 = 1;
-
- EA = 1; //打開總中斷
-
- while(1)
- {
- if(FlagT != 0)
- {
- FlagT = 0;
- Adc0809GetAdcDatCH0ToCH2(); //獲取ADC三路AD值
- LcdShowAdcDat(); //顯示獲取到的值
- }
- }
- }
- //定時器0中斷
- void TIMER0() interrupt 1
- {
- static uint cnt = 0;
- static uint cnt3s = 0;
- TH0 = 0xFC;
- TL0 = 0x18;
-
- cnt++;
- if(cnt > 100)
- {
- cnt = 0;
- FlagT = 1;
- }
-
- cnt3s++;
- if(cnt3s > 3000)
- {
- cnt3s = 0;
- if(Flag3s != 0)
- Flag3s = 0;
- else
- Flag3s = 1;
- }
- }
- //定時器T1中斷,給ADC0809提供時鐘輸入
- void TIMER1() interrupt 3
- {
- TH1=0xFF;
- TL1=0xFA;
- AdcCLK = !AdcCLK; //取反
- }
復制代碼
|
|