Atmega16单片机实用程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ for(y_address=y1;y_address
#define uint unsigned int #define SET_1(a,b) a|=bit(b) //將寄存器 a 的第 b 位置 1 #define CLR_0(a,b) a&=~bit(b) //將寄存器 a 的第 b 位清 0 #program date code:
const date[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0 X80,//共陽數據;
Atmega16 单片机实用程序
/************************************************ *********************
MCU: ATmega16 外部晶振: 8MHz 程序功能: 4*4 鍵盤識別,LED 七段數碼管顯示,密 碼功能模塊,直流電機正反轉控制
void delayms(int ms) { int i,j;
for(i=ms;i>0;i--) { for(j=1722;j>0;j 1722; }
/************************************************ ******************* 名稱:us 延時子程序 功能:延時指定的 us ************************************************* *******************/ void delayus(uchar us)
//interrupt process program void process()
{ int adcode=0; ADCSRA&=~BIT(ADIE); adcode=ADCL; adcode=(ADCH>3; y_address=y;
LCD_write_data(x_address,y_address,data|(1>3)-1;x _address++)
AD 轉換模塊, 模擬比較器,外部中斷應用,12864 液 晶,C/T0
硬件設計: 參考 PROTUES 硬件仿真電路 調試: 所有程序主要功能都軟硬件仿真通過,實際 使用時要根據需要加入可靠性。 編譯環境: ICC AVR Design by: wdw
************************************************* *******************/ #include #include #include #define uchar unsigned char
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; #program duan code:
const duan[]={0x20,0x10,0x08,0x04,0x02,0x01}; //段選; char adchannel; int dispbuf[]={0,0,0,0,0,0,}; //顯示緩存; uchar securbuf[]={0,0,0,0,0,}; //5 位密碼緩存; /************************************************ ******************** 名稱:ms 延時子函數 功能:延時指定的 ms ************************************************* ********************/
{
for(us;us0;count--) { adaver=ad_conv(); adaver+=adaver; delayms(1);
} adaver=adaver/8; delayms(1); return adaver; } /************************************************ ********* 名稱:AD 採樣 功能:採樣 AD0 的電壓,內部 2.56V 參考電壓,中斷工作 方式 ************************************************* *********/ void ad0_init() { ADMUX=0xc0; adchannel=0; ADCSRA=0x98; DDRA&=~BIT(0); PORTA&=~BIT(0); SEI(); } #pragma interrupt_handler process:15
#define uint unsigned int #define SET_1(a,b) a|=bit(b) //將寄存器 a 的第 b 位置 1 #define CLR_0(a,b) a&=~bit(b) //將寄存器 a 的第 b 位清 0 #program date code:
const date[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0 X80,//共陽數據;
Atmega16 单片机实用程序
/************************************************ *********************
MCU: ATmega16 外部晶振: 8MHz 程序功能: 4*4 鍵盤識別,LED 七段數碼管顯示,密 碼功能模塊,直流電機正反轉控制
void delayms(int ms) { int i,j;
for(i=ms;i>0;i--) { for(j=1722;j>0;j 1722; }
/************************************************ ******************* 名稱:us 延時子程序 功能:延時指定的 us ************************************************* *******************/ void delayus(uchar us)
//interrupt process program void process()
{ int adcode=0; ADCSRA&=~BIT(ADIE); adcode=ADCL; adcode=(ADCH>3; y_address=y;
LCD_write_data(x_address,y_address,data|(1>3)-1;x _address++)
AD 轉換模塊, 模擬比較器,外部中斷應用,12864 液 晶,C/T0
硬件設計: 參考 PROTUES 硬件仿真電路 調試: 所有程序主要功能都軟硬件仿真通過,實際 使用時要根據需要加入可靠性。 編譯環境: ICC AVR Design by: wdw
************************************************* *******************/ #include #include #include #define uchar unsigned char
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; #program duan code:
const duan[]={0x20,0x10,0x08,0x04,0x02,0x01}; //段選; char adchannel; int dispbuf[]={0,0,0,0,0,0,}; //顯示緩存; uchar securbuf[]={0,0,0,0,0,}; //5 位密碼緩存; /************************************************ ******************** 名稱:ms 延時子函數 功能:延時指定的 ms ************************************************* ********************/
{
for(us;us0;count--) { adaver=ad_conv(); adaver+=adaver; delayms(1);
} adaver=adaver/8; delayms(1); return adaver; } /************************************************ ********* 名稱:AD 採樣 功能:採樣 AD0 的電壓,內部 2.56V 參考電壓,中斷工作 方式 ************************************************* *********/ void ad0_init() { ADMUX=0xc0; adchannel=0; ADCSRA=0x98; DDRA&=~BIT(0); PORTA&=~BIT(0); SEI(); } #pragma interrupt_handler process:15